Es gibt mehrere Möglichkeiten, wie Sie OpenStreetMap verwenden können. Die am häufigsten genutzte ist möglicherweise der OSM-Datensatz als Basiskarte. Einige andere haben vielleicht bereits den ArcGIS Editor for OSM<\/A> verwendet. Aber ich habe keine Lösung gefunden, um OSM direkt aus ArcGIS abzufragen. Die zu beantwortende Frage war: "Wo sind Bäckereien in Northumberland?" Die Overpass API bietet ein großartiges Abfragewerkzeug, um Abfragen zu definieren und das Ergebnis auf einer Karte zu erhalten. Ich wollte ein vergleichbares, aber einfach zu bedienendes Werkzeug in ArcGIS haben, also habe ich OSMQuery<\/A> erstellt. Sie können OSMQuery kostenlos nutzen.<\/P>
<\/P>
(Das obige Bild ist nach einem Tag bereits veraltet. Siehe das Ende dieses Beitrags!)<\/P>
Die Abfrage wird an die Overpass API gesendet, die mit einem JSON-Objekt antwortet. Das JSON-Objekt enthält Elemente wie nodes, ways und relations.<\/P>
{<\/SPAN> \"version\"<\/SPAN>:<\/SPAN> 0.6<\/SPAN>,<\/SPAN> \"generator\"<\/SPAN>:<\/SPAN> \"Overpass API 0.7.55.4 3079d8ea\"<\/SPAN>,<\/SPAN> \"osm3s\"<\/SPAN>:<\/SPAN> {<\/SPAN> \"timestamp_osm_base\"<\/SPAN>:<\/SPAN> \"2018-08-29T08:10:02Z\"<\/SPAN>,<\/SPAN> \"copyright\"<\/SPAN>:<\/SPAN> \"Die in diesem Dokument enthaltenen Daten stammen von www.openstreetmap.org. Die Daten werden unter ODbL bereitgestellt.\"<\/SPAN> }<\/SPAN>,<\/SPAN> \"elements\"<\/SPAN>:<\/SPAN> [<\/SPAN>{<\/SPAN> \"type\"<\/SPAN>:<\/SPAN> \"node\"<\/SPAN>,<\/SPAN> \"id\"<\/SPAN>:<\/SPAN> 2496059820<\/SPAN>,<\/SPAN> \"lat\"<\/SPAN>:<\/SPAN> 51.0703208<\/SPAN>,<\/SPAN> \"lon\"<\/SPAN>:<\/SPAN> 4.9863343<\/SPAN>}<\/Span>,https://commons.wikimedia.org/wiki/File:Veerle_-_Onze-Lieve-Vrouw-in-de-Wijngaardkerk.jpg", "name": "Onze-Lieve-Vrouw-in-de-Wijngaardkerk", "ref:OnroerendErfgoed": "41142", "religion": "christian", "source": "AGIV", "wikimedia_commons": "Category:OLV in de Wijngaardkerk (Veerle)" }} ]}< </span > << EM O J I _ 32 >> << EM O J I _ 33 >> << EM O J I _ 34 >> << EM O J I _ 35 >> << EM O J I _ 36 >> << EM O J I _ 37 >> << EM O J I _ 38 >> << EM O J I _ 39 >> << EM O J I _ 40 >> << EM O J I _ 41 >> << EM O J I _ 42 >> << EM O J I _ 43 >> << EM O J I _ 44 >> << EM O J I _ 45 >> << EM O J I _ 46 >> << EM O J I _ 47 >> << EM O J I _ 48 >> << EM O J I _ 49 >> << EM O J I _ 50 >> << EM O J I _ 51 >> << EM O J I _ 52 >> << EM O J I _ 53 >> << EM O J I _ 54 >> << EM O J I _ 55 >> << EM O J I _ 56 >> </ span >< span > << E M O J I _ 57 >> </ span >< span > << E M O J I _ 58 >> </ span ></ span ></ CODE ></ PRE >< P >Außerdem hat das Ergebnis kein definiertes Datenmodell. Jeder Knoten kann mit einem sehr unterschiedlichen Satz von Tags und Schlüsseln kommen. Daher musste ich eine Vereinigung der Tags für jeden Feature-Klassentyp erstellen. Der Algorithmus zum Hinzufügen von Feldern ist der langsamste Teil meines Werkzeugkastens, da die Anzahl der Tags bis zu 40 betragen kann...Nachdem ich die Feature-Klassen erstellt und die Felder entsprechend der Liste der Attribute/Tags hinzugefügt habe, kann ich die Features aus der Overpass-Antwort hinzufügen.Das ist am Ende ziemlich einfach, aber es ist mühsam für Polylinien und Polygone, da ich die lat/lon-Attribute für jeden Knoten rekursiv lesen musste.Aber am Ende: Es gibt laut dem OpenStreetMap-Datensatz 33 Bäckereien in Northumberland, UK:Hier ist der verglichene Datensatz in der Overpass API:Wenn Sie das Tool testen/herunterladen/entwickeln möchten, können Sie das OSMQuery-Repo bei GitHub verwenden.Hier ist ein kurzes Video zur Nutzung:Dank der Unterstützung des GitHub-Benutzers rastrau unterstützt OSMQuery jetzt auch mehrere Abfragen:
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registrieren Sie ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.