Skip to content

Instantly share code, notes, and snippets.

@Stephen-m
Created July 10, 2014 14:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Stephen-m/201fe55d93b59a594232 to your computer and use it in GitHub Desktop.
Save Stephen-m/201fe55d93b59a594232 to your computer and use it in GitHub Desktop.
<!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