Il existe plusieurs façons d'utiliser OpenStreetMap. La plus couramment utilisée pourrait être le jeu de données OSM comme carte de base. D'autres ont peut-être déjà utilisé ArcGIS Editor for OSM<\/A>. Mais je n'ai pas trouvé de solution pour interroger OSM directement depuis ArcGIS. La question à répondre était : « Où sont les boulangeries en Northumberland ? » L'API Overpass offre un excellent outil de requête pour définir des requêtes et obtenir le résultat sur une carte. Je voulais avoir un outil comparable mais facile à utiliser dans ArcGIS, alors j'ai créé OSMQuery<\/A>. Vous pouvez utiliser OSMQuery gratuitement.<\/P>
<\/P>
(l'image ci-dessus est déjà obsolète après un jour. Voir la fin de ce post !)<\/P>
La requête est envoyée à l'Overpass API qui répond avec un objet JSON. L'objet JSON contient des éléments tels que des nœuds, des chemins et des relations.<\/P>
{<\/SPAN>\n \"version\"<\/SPAN>:<\/SPAN> 0.6<\/SPAN>,<\/SPAN>\n \"generator\"<\/SPAN>:<\/SPAN> \"Overpass API 0.7.55.4 3079d8ea\"<\/SPAN>,<\/SPAN>\n \"osm3s\"<\/SPAN>:<\/SPAN> {<\/SPAN>\n \"timestamp_osm_base\"<\/SPAN>:<\/SPAN> \"2018-08-29T08:10:02Z\"<\/SPAN>,<\/SPAN>\n \"copyright\"<\/SPAN>:<\/SPAN> \"Les données incluses dans ce document proviennent de www.openstreetmap.org. Les données sont mises à disposition sous ODbL.\"<\/SPAN>\n }<\/SPAN>,<\/SPAN>\n \"elements\"<\/SPAN>:<\/SPAN> [<\/SPAN>\n\n{<\/SPAN>\n \"type\"<\/SPAN>:<\/SPAN> \"node\"<\/SPAN>,<\/SPAN>\n \"id\"<\/SPAN>:<\/SPAN> 2496059820<\/SPAN>,<\/SPAN>\n \"lat\"<\/SPAN>:<\/SPAN> 51.0703208<\/SPAN>,<\/SPAN>\n \"lon\"<\/SPAN>:<\/SPAN> 4.9863343<\/SPAN>\n}<\/SPAN>,< \/span> \n { </ span > \ n & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; " type " : " node " , \ n & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; " id " : 2496059823 , \ n & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; " lat " : 51.0703401 , \ n & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; & nbsp ; " lon " : 4.9865653 \ n { } , \ n . . . \ n { \ n " type " : " node " , \ n " id " : 2496059818 , \ n " lat " : 51.0702779 , \ n " lon " : 4.9863413 \ n } , \ n { \ n " type " : " way " , \ n " id " : 242035363 , \ n " nodes " : [ \ n 2496059820 , \ n 2496059823 , \ n . . . \ n 2496059818 , \ n 2496059820 \ n ] , \ n " tags " : { \ n " OnroerendErfgoed:criteria " : " M " , \ n " addr:city " : " Veerle " , \ n " amenity " : " place_of_worship " , \ n " building " : " house " , \ n " denomination " : " roman_catholic " , \ n " description " : " Parochiekerk " , \ n " heritage " : " 4 " , \ n " heritage:operator " : " OnroerendErfgoed " , \ n „ heritage:website „ : „ „ + A classe = „ jive-link-external-small „ href = „ https://community.esri.com/external-link.jspa?url=https%3A%2F%2Finventaris.onroerenderfgoed.be%2Fdibe%2Frelict%2F41142 „ target = „ _blank „ > https://inventaris.onroerenderfgoed.be/dibe/relict/41142 </ A > „ + / span > , \ n „ image „ : „ „ + A classe = „ jive-link-external-small „ href = „ https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fcommons.wikimedia.org%2Fwiki%2FFile%3AVeerle_-_Onze-Lieve-Vrouw-in-de-Wijngaardkerk.jpg „ target="_blank">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 _ 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 >> << EM O J I _ 57 >> << EM O J I _ 58 >> </ span ></ span ></ CODE ></ PRE >< P > De plus, le résultat n'a pas de modèle de données défini. Chaque nœud peut venir avec un ensemble très différent d'étiquettes et de clés. Donc, j'ai dû créer une union des étiquettes pour chaque type de classe de fonctionnalité. L'algorithme d'ajout de champs est la partie la plus lente de ma boîte à outils car le nombre d'étiquettes peut être aussi élevé que 40... < P > Après avoir créé les classes de fonctionnalités et ajouté les champs selon la liste des attributs/étiquettes, je peux ajouter les fonctionnalités à partir de la réponse Overpass. < P > C'est assez facile à la fin mais c'est pénible pour les polylignes et les polygones car j'ai dû lire les attributs lat/lon pour chaque nœud < span class = " " lang = "en" > < span class = " " > récursivement. </ span ></ span ></ P >< P > Mais en fin de compte : Il y a 33 boulangeries dans le Northumberland, Royaume-Uni selon le jeu de données OpenStreetMap : < P > < span class = " " lang = "en" > < span class = " " > < IMG __jive_id = "420723" alt = "résultat pour les boulangeries dans le Northumberland" class = "image-3 jive-image j-img-original" src = "https://us.v-cdn.net/6038851/uploads/legacyfs/online/420723_2018-08-28%2015_56_55-.png" /> </ span ></ span ></ P >< P > Voici le jeu de données comparé dans l'API Overpass : < P > < span class = " " lang = "en" > < span class = " " > < IMG __jive_id = "420724" alt = "résultat pour les boulangeries dans le Northumberland utilisant l'API Overpass" class = "image-4 jive-image j-img-original" src = "https://us.v-cdn.net/6038851/uploads/legacyfs/online/420724_2018-08-29%2010_26_56-overpass%20turbo.png" /> </ span ></ span ></ P >< P > Si vous voulez tester/télécharger/développer la boîte à outils, allez-y et utilisez le dépôt OSMQuery sur GitHub. < P > Voici une courte vidéo sur l'utilisation : < P > < span class = " " lang = "en" > < span class = " " > < IFRAME class = "embedly-embed" src = "https://www.youtube.com/embed/zVvH190nR64?feature=oembed" width = "640" height = "480" scrolling = "no" frameborder = "0" allow = "autoplay; fullscreen" allowfullscreen = "true"> </ span ></ span ></ P >< P > Merci au soutien de l'utilisateur GitHub rastrau, OSMQuery prend également en charge plusieurs requêtes maintenant : < P > < span class = " " lang = "en" > < span class = " " > < IMG __jive_id = "420725" alt = "" class = "image-5 jive-image j-img-original" src = "https://us.v-cdn.net/6038851/uploads/legacyfs/online/420725_2018-08-29%2010_54_21-Get%20OSM%20Data.png" /> </ span ></ span ></ BODY ></ HTML>
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.