[OSM-talk-be] Data ophalen uit overpass
Karel Adams
fa348739 at skynet.be
Mon Sep 5 09:56:18 UTC 2016
Zoals sommigen wel weten haal ik periodiek uit overpass de data op van
de vliegvelden in Europa, om ze te vergelijken met andere publieke
informatiebronnen. Nu begin ik beter te begrijpen waar ik nog problemen
heb. Er zijn nl. twee manieren om een luchtvaartterein aan te geven:
ofwel als een node, ofwel als een way. Voorbeelden elks hieronder. Met
het "node"-type kan ik intussen aardig uit de voeten, dat is geen
probleem. Echter het "way"-type geeft geen coordinaten (zoals een node
per definitie wel doet), het geeft de omlijning van het terrein in de
vorm van nodes. Als eenmaal de nodes gekend zijn dan vind ik wel een of
andere manier om uit de coordinaten van de nodes een set coordinaten van
het luchtvaartterrein af te leiden. Maar hoe kom ik aan de nodes?
Het enige dat ik me kan bedenken is om uit de aanvakelijk gedownloade
dataset een lijst te maken van de gebruikte nodes en dan een tweede
query te lanceren om al die nodes op te vragen. Maar dat gaat heel wat
data betekenen, ik wil liever de overpass-server(s) niet te zwaar
belasten; en ik vind het ook niet bijster elegant. Heeft iemand een
beter idee? Een lijst van àlle nodes binnen de bbox zal wel helemaal
topzwaar worden, veronderstel ik.
Ter illustratie: de huidige query levert me een dataset op van zowat 4,2
MB, dat vind ik al flink groot; ik probeer me te beperken om hem slechts
eenmaal per week op te vragen.
Karel
== bijlage: de query ========
<osm-script>
<query type="node">
<has-kv k="aeroway" v="aerodrome"/>
<bbox-query e="30" n="89" s="35" w="-12" />
</query>
<print/>
<query type="way">
<has-kv k="aeroway" v="aerodrome"/>
<bbox-query e="30" n="89" s="35" w="-12" />
</query>
<print/>
</osm-script>
== bijlage: voorbeeld van een "node" ================
<node id="12625045" lat="49.2074136" lon="-2.1950931">
<tag k="aeroway" v="aerodrome"/>
<tag k="iata" v="JER"/>
<tag k="icao" v="EGJJ"/>
<tag k="name" v="Jersey Airport"/>
<tag k="wikidata" v="Q8991"/>
</node>
== bijlage: voorbeeld van een "way" =================
<way id="19786292">
<nd ref="206143847"/>
<nd ref="206143848"/>
<nd ref="206143849"/>
<nd ref="206143850"/>
<nd ref="206143847"/>
<tag k="aeroway" v="aerodrome"/>
<tag k="icao" v="EBHN"/>
<tag k="name" v="Hoevenen"/>
</way>
More information about the Talk-be
mailing list