Admin:Data uit OSM extraheren met Overpass

Uit wiki.openbomenkaart.org
Naar navigatie springen Naar zoeken springen
basiskaartlagen op OSM

Inleiding

Openstreetmap is in de eerste plaats een database, en pas in de tweede een weergave op veel verchillende kaarten, elk met eigen keuzes voor opmaak en inhoud. Zie bijvoorbeeld deze totaal verschillende kaarten op OSM website zelf.

Er is een tool dat bij uitstek geschikt is om data uit die database te halen, in allerlei vormen: Overpass. Sterk punt: heel flexibel, er kan echt veel. Zwak punt: deel van de syntax is nauwelijks te begrijpen (en ik heb het echt geprobeerd en ben een flink stuk gekomen, maar het was pittig). Belangrijkste is dat voor ons doel de Overpass queries heel rudimentair zijn. En dat stukje is prima te volgen, en makkelijk aan te passen.

Query de OSM database met Overpass

In grote lijnen:

  • Ga naar Overpass website https://overpass-turbo.eu/ (er zijn er meer, maar dit is the place to go)
  • Laad een script (of schrijf een nieuwe, of plak van een andere site, bijv deze Admin:Overpass Scripts.
    • Het script waar je vorige keer mee eindigde staat er weer als je begint.
  • Run het script
    • Als het erg druk is kan het even duren voor je script draait, nog drukker? dan kan je script aborten.
    • Middels timeout (in seconden) geef je op hoe lang je verwacht dat het script nodig heeft, maar wees niet te gretig, als je veel tijd vraagt neemt de kans toe dat het script niet of pas laat uitgevoerd wordt.
  • Kijk op de kaart (tabblad map) of de datapunten op de kaart staan zoals je verwacht
    • Tip: klik het vergrootglas om te kaart zo te tonen dat alle opgehaalde data zichtbaar zijn.

  • (zie onder voor rest)


voorbeeld overpass query: hier worden trees (bomen) en shrubs (struiken) elk apart opgehaald, en de resultaten aan elkaar geplakt. Voor beide soorten op te halen nodes worden hier dezelfde coordinaten opgegeven: latitude linksboven, longitude linksboven, latitude rechtsonder, longitude rechtsonder

Save resultaat naar json bestand

Vooraf: werk met een texteditor die niets aan de data toevoegt, geen opmaakcodes of regeleindes o.i.d., bijv. Notepad++

  • Ga naar de resultaten (tabblad data)
  • Selecteer alle text (Ctrl-A) en copieer/plak (Ctrl-C)/ Ctrl-V) naar de texteditor
  • Save de data met deels voorgeschreven bestandsnaam naar .json tekstbestand
    • OBK script stelt drie eisen aan de bestandsnaam
  1. Het moet met 'trees_' beginnen (want dat stuk plakt OBK zelf voor opgegeven naam)
  2. Dan moet een bekende naam volgen (achter de 'bekende naam' kan nog iets vrij te kiezen volgen)
  3. Het moet op .json eindigen (want dat stuk plakt OBK zelf achter de opgegeven naam)
Dus obk.htm?leiden wordt intern omgezet in bestandsnaam in trees_leiden.json. Dat bestand wordt dan gedownload.
Maar obk.htm?leiden_test3 is ook goed. Dat wordt trees_leiden_test3.json gedownload
Dit maakt het mogelijk om een gewijzigde json file op de live OBK site te testen. En pas na controle het bestand te hernoemen naar de bestandsnaam die openbaar is.
Als er een nieuw park of nieuwe stad aan OBK wordt toegevoegd, moet een nieuwe sectie aan bestand config.js worden toegevoegd. Nu is obk.htm?madurodam een ongeldige naam.
Notepad++ open source text editor, gratis, extreem veelzijdig
De naam is een lange neus naar Notepad van Microsoft

Uploadt json bestand naar OBK site

Uploaden gebeurt via SFTP bijv. met gratis tool FileZilla (STRATO raadde dit tool aan, het werkt)

FileZilla FTP tool, open source, cross platform , gratis, zie ook Wikipedia


Zie ook