API de geocodificación inversa para verificar si la ubicación es residencial

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.

No estoy seguro de si Gisgraphy proporciona eso, pero podría valer la pena intentarlo: http://services.gisgraphy.com/reversegeocoding/search?lat=${lat}&lng=${lon}&format=jsonpara 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).
Gracias @Izzy, pero desafortunadamente no veo ninguna información que pueda llevar a identificar la residencia o no.
Para OpenStreetMap, probablemente sea mejor verificar si la ubicación está dentro de un área etiquetada como landuse=residencial. No estoy seguro de si hay alguna API para hacer esto.
Verifique la referencia de la API , especialmente "7.4 tipo de calle". Te di la URL incorrecta para eso (lo siento), esta requiere parámetros diferentes. Y "tipo de calle" tiene "RESIDENCIAL", que es lo que buscas, ¿no? URL de ejemplo: services.gisgraphy.com/street/… tiene <streetType>RESIDENTIAL</streetType>.
Creo que la respuesta de @vclaw será la mejor. Acabo de comprobar landuse=residential en OpenStreetMap y parece proporcionar el nivel perfecto de información para mis necesidades. Solo necesito encontrar o crear una API que devuelva esta información. overpass-turbo.eu podría ser capaz de hacer esto parece.
"No me importa pagar" - ¿cuánto?
@Mawg Dependiendo de qué tan bueno sea el servicio y si puede reemplazar otros servicios que uso, hasta $ 200 por mes
KK. Actualice su pregunta para que otros puedan saberlo. Cuantos más detalles proporcione, mejor ayuda recibirá, como se explica en Cómo preguntar . Espero que obtengas tu respuesta :-)

Respuestas (2)

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 :)

Sí, esto parece funcionar para las cosas que he probado hasta ahora. Por supuesto, probablemente fallará si la coordenada del GPS apunta a una casa sin un camino cercano, ¡pero es un buen comienzo!
Todo lo que uso es para la etiqueta, por lo que realmente no puedo decir que #D definitivamente se ajuste a sus necesidades básicas. Y como dice el refrán: si te pierdes algo, bifurca y haz PR 😁‎

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