Estoy usando varias opciones de codificación geográfica inversa como Foursquare, Google y OpenStreetMap para recuperar información de lugares, pero el único tipo de lugar que ninguno de estos parece poder hacer son las áreas residenciales.
En pocas palabras, quiero saber si una determinada latitud/longitud pertenece a una zona residencial o propiedad.
OpenStreetMap parece ser la solución más cercana, ya que marca algunas carreteras como residenciales, pero no conozco una API de OSM que me permita ver si, dada la latitud/longitud, la propiedad correspondiente se encuentra en una calle residencial. Nominatim solo da la entrada más cercana.
No me importa pagar.
Parece que Gisgraphy debería ajustarse a tus necesidades. Aquí está el resultado de una consulta de ejemplo :
<results>
<numFound>1</numFound>
<QTime>519</QTime>
<result>
<name>Elenis Palaiologou</name>
<distance>9.3785112</distance>
<gid>207699655</gid>
<openstreetmapId>202995032</openstreetmapId>
<streetType>RESIDENTIAL</streetType>
<oneWay>true</oneWay>
<countryCode>CY</countryCode>
<length>143.038762237</length>
<lat>35.17133607836711</lat>
<lng>33.36918811504461</lng>
<isIn>Nicosia</isIn>
<isInAdm>Λευκωσία - Lefkoşa</isInAdm>
<adm1Name>Λευκωσία - Lefkoşa</adm1Name>
<adm2Name>Λευκωσία - Lefkoşa</adm2Name>
<fullyQualifiedName>Elenis Palaiologou, Nicosia, Λευκωσία - Lefkoşa</fullyQualifiedName>
<lanes>2</lanes>
<azimuthStart>63</azimuthStart>
<azimuthEnd>31</azimuthEnd>
<label>Elenis Palaiologou, Nicosia</label>
<labelPostal>Elenis Palaiologou, Nicosia</labelPostal>
<source>OSM</source>
</result>
<attributions>http://www.gisgraphy.com/attributions.html</attributions>
</results>
El atributo que buscas es <streetType>RESIDENTIAL</streetType>
.
Gisgraphy ofrece acceso API. No he comprobado sus precios, pero parece que tienen un servicio gratuito y premium. Aparte de eso, también puedes instalar el software en tu propio servidor, ya que está disponible en Github . Para obtener detalles sobre cómo usar la API, consulte su referencia de API . El "tipo de calle" se trata en el capítulo 7 .
Oh: Y como puedes ver <source>OSM</source>
, está usando OpenStreetMap :)
Descubrí que usar la API OpenStreetMap Overpass me da lo que necesito. Puede escribir una consulta en Overpass Query Language o XML para buscar en OSM nodos, vías y relaciones etiquetados como "residenciales":
[out:json][timeout:25];
(
node["landuse"="residential"](around:100,52.637580,1.297785);
way["landuse"="residential"](around:100,52.637580,1.297785);
relation["landuse"="residential"](around:100,52.637580,1.297785);
);
out body;
>;
out skel qt;
Hay un intérprete en línea aquí: http://overpass-turbo.eu/
Y un punto final de API aquí: https://z.overpass-api.de/api/interpreter
izzy
http://services.gisgraphy.com/reversegeocoding/search?lat=${lat}&lng=${lon}&format=json
para un vistazo rápido (simplemente reemplace las variables en consecuencia, usando el formato decimal). De forma gratuita, solo funciona en un navegador web, pero puede registrarse para obtener acceso a la API (aunque no he comprobado su precio).chris vatios
vgarra
izzy
<streetType>RESIDENTIAL</streetType>
.chris vatios
Mawg dice que reincorpore a Monica
chris vatios
Mawg dice que reincorpore a Monica