1 votos

OpenStreetMap (OSM) ID de relación de Wikidata

Estoy trabajando en una aplicación de renderizado de mapas y necesitaría tener el ID de relación de OpenStreetMap a partir del ID de Wikidata para poder descargar el archivo GeoJSON.

He hecho alguna búsqueda y he encontrado una buena manera, pero no perfecta:

  1. Obtener ID de Wikidata (eg:Q183)
  2. Consulta la API Wikidata con la función ID(eg: https://www.wikidata.org/w/api.php?action=wbgetentities&format=json&ids=Q183 )
  3. Obtener el ID de la relación del campo P402 : (eg:entities[Q183].claims.P402[0].mainsnak.datavalue.value)
  4. Consultar la API de polígonos de OpenStreetMap para obtener el archivo JSON (Ej: http://polygons.openstreetmap.fr/get_geojson.py?id=51477 )

Funciona muy bien, pero para muchas ciudades la API de Wikidata (paso 3) no devuelve el ID de la relación, pero en la página de OpenStreetMap de la ciudad el ID de Wikidata está presente, así que ahí está el enlace.

Me gustaría saber si hay alguna forma de obtener el ID de la relación a partir del ID de Wikidata en la API de OpenStreetMap.

2voto

vasili111 Puntos 187

Puede utilizar API de paso elevado para obtener identificadores de relación basados en un identificador de wikidata:

rel[wikidata="Q183"];out ids;

Esta consulta devuelve:

<relation id="51477"/>
<relation id="62781"/>

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X