[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