Pregunta

Tengo una base de datos de direcciones e intenté encontrar la latitud y la longitud usando codificación geográfica de Google y API de yahoo . ¿Hay alguna otra API o programa popular? Estoy usando la plataforma ubuntu.

¿Fue útil?

Solución

Conozco al menos otro sistema de geocodificación, OpenStreetMap . Las únicas diferencias importantes que he encontrado con cualquiera de estas API es el nivel de detalle en cada una. OpenStreetMap tiene significativamente menos datos, pero es mucho más fácil de integrar con datos personalizados. Además, creo que los mapas producidos por Google son los más bonitos de los tres.

Otros consejos

Por lo general, estaba usando el servicio de geocodificación de Google Maps a través de HTTP que le devuelve Json o XML a su gusto. Explore aquí para obtener más información al respecto.

Otra opción puede ser GeoNames.org . También proporciona algunos servicios interesantes y bibliotecas cliente.

Con los dos que menciona, si los está procesando en masa o no muestra un mapa al usuario al momento de consultar la API, está violando los TOS.

Una mejor solución para satisfacer sus necesidades sería algo como LiveAddress . De hecho, trabajo en SmartyStreets donde lo desarrollamos nosotros mismos; no hay restricciones de licencia que impidan que ejecutes incluso millones de direcciones. Además de devolver las coordenadas, LiveAddress también verificará la existencia de direcciones y las estandarizará para usted. Esto es útil para eliminar duplicados y tiene muchas ventajas comerciales.

Si tiene más preguntas relacionadas con la dirección, con gusto lo ayudaré personalmente.

También puede encontrar geocoder.us útil.

Usando YQL, puede obtener una lista de posibles pronósticos Primer paso: Geocodificación inversa

SELECT woeid 
FROM geo.places 
WHERE text="##LATITUDE##, ##LONGITUDE##"

luego aplique un filtro para ordenar los resultados por placeType. Esta ayuda U para ordenar el pronóstico por precisión de nivel de mapa (ciudad, ciudad, código postal, región, ...)

SELECT woeid 
FROM geo.places
WHERE text="##LATITUDE##, ##LONGITUDE##" | 
SORT(field="placeTypeName.code")

Ahora use la combinación simil para obtener todos los pronósticos de woeid resultantes de la última consulta y filtrar los resultados nulos

SELECT channel 
FROM weather.woeid 
WHERE w in (
    SELECT woeid 
    FROM geo.places 
    WHERE text="##LATITUDE##, ##LONGITUDE##" | 
    SORT(field="placeTypeName.code")) 
AND channel.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top