Created
July 10, 2014 14:48
-
-
Save Stephen-m/201fe55d93b59a594232 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>AWS Web API</title> | |
<script src="https://code.jquery.com/jquery-1.7.1.min.js"></script> | |
<script type="text/javascript"> | |
var output; | |
var y; | |
y = 0; | |
$(function () { | |
var kriterie = {}; | |
kriterie['vejnavn'] = prompt("vejnavn", ""); | |
kriterie['husnr'] = '*'; | |
kriterie['postnr'] = prompt("Postnummer", ""); | |
$.ajax({ | |
url: 'https://webapi.aws.dk/adresser.json', | |
data: kriterie, | |
dataType: "jsonp", | |
error: fejlikommunikation, | |
jsonpCallback: 'visadresser' | |
}); | |
}); | |
var data2 = "<H1> Adresser som mangler i OpenStreetMap: </H1> <BR>"; | |
document.write (data2); | |
var osmadresse; | |
var myOSMexport = "\u003c\u003fxml version='1.0' encoding='UTF-8'\u003f\u003e"; | |
myOSMexport += "\u003cosm version='0.6' upload='true' generator='Javascript' \u003e"; | |
var osmadressenr; | |
function visadresser(adresser) { | |
$.each(adresser, function (i, adresse) { | |
var id = adresse.id.toUpperCase(); | |
var adresseid = id.replace(/-/g, ''); | |
$.ajax({ | |
type: 'GET', | |
url: 'https://overpass-api.de/api/interpreter?data=[out:json];node[%22osak:identifier%22=%22' + adresseid + '%22];out;', | |
dataType: 'json', | |
success: function(data) { | |
for (var x in data.elements) { | |
osmadresse=(data.elements[x].tags["addr:street"]); | |
osmadressenr=(data.elements[x].tags["addr:housenumber"]); | |
} | |
}, | |
data: {}, | |
async: false | |
}); | |
y = y +1; | |
if (osmadresse != adresse.vejnavn.navn) { | |
//if not (osmadressenr == adresse.husnr) { | |
$("#adresser").append("<B>" + adresse.vejnavn.navn + " " + adresse.husnr + ", " + adresse.postnummer.nr + " " + adresse.postnummer.navn + "</B> <BR>"); | |
myOSMexport +=("\u003cnode id='" + ((i*-1)-1) + "' action='new' visible='true' lat='" + adresse.wgs84koordinat.bredde + "' lon='" + adresse.wgs84koordinat.længde +"' \u003e"); | |
myOSMexport +=("\u003ctag k='osak:revision' v='" + adresse.adressepunktændringsdato + "' \u002f\u003e"); | |
myOSMexport +=("\u003ctag k='osak:identifier' v='" + adresse.id + "' \u002f\u003e "); | |
myOSMexport +=("\u003ctag k='addr:street' v='" + adresse.vejnavn.navn + "' \u002f\u003e "); | |
myOSMexport +=("\u003ctag k='addr:housenumber' v='" + adresse.husnr + "' \u002f\u003e "); | |
myOSMexport +=("\u003ctag k='addr:city' v='" + adresse.postnummer.navn + "' \u002f\u003e "); | |
myOSMexport +=("\u003ctag k='addr:postcode' v='" + adresse.postnummer.nr + "' \u002f\u003e "); | |
myOSMexport +=("\u003ctag k='addr:country' v='DK' \u002f\u003e "); | |
myOSMexport +=("\u003ctag k='source' v='AWS Web API' \u002f\u003e "); | |
myOSMexport +=("\u003ctag k='osak:municipality_no' v='" + adresse.kommune.kode + "' \u002f\u003e "); | |
myOSMexport +=("\u003c\u002fnode\u003e "); | |
} | |
} | |
); | |
myOSMexport +=("\u003c\u002fosm\u003e"); | |
$("#adresser").append("<BR> Der er nu blevet undersøgt " + y + " adresser"); | |
} | |
function overpass(adresseid, callback){ | |
}; | |
function fejlikommunikation(xhr, status, errorThrown) { | |
$("fejl").append("<p>status: " + status + ", errorThrown: " + errorThrown + "<BR>"); | |
}; | |
</script> | |
</head> | |
<body> | |
<div id='adresser'> | |
</div> | |
<div id='fejl'> | |
</div> | |
<button id="b">Eksporter til OSM-fil</button> | |
<script type="text/javascript"> | |
function exportToOSM() { | |
var str = ""; | |
var uri = 'data:text/csv;charset=utf-8,' + myOSMexport; | |
var downloadLink = document.createElement("a"); | |
downloadLink.href = uri; | |
downloadLink.download = "export.osm"; | |
document.body.appendChild(downloadLink); | |
downloadLink.click(); | |
document.body.removeChild(downloadLink); | |
} | |
var button = document.getElementById('b'); | |
button.addEventListener('click', exportToOSM); | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment