2010-01-16 46 views
10

¿Cuál es la forma más completa, precisa y confiable para obtener las coordenadas (latitud/longitud) de un código postal de país determinado? Necesito hacer muchas solicitudes, por lo que una alta tasa límite de API (quizás incluso ausente) sería útil.código postal + País a coordenadas geográficas

GeoNames volcados sería genial, pero parece tener demasiadas coordenadas duplicadas (example) y también parece que a su base de datos le faltan algunos códigos postales para países específicos.

¿Hay alguna otra alternativa (confiable)?


Mientras I was reading a Meta question, me encontré con este enlace:

http://query.yahooapis.com/v1/public/yql?q=select%20%2A%20from%20geo.places%20where%20text%3D%22Jyv%C3%A4skyl%C3%A4%22&format=xml 

que había oído de la YQL antes, pero no tenía idea de que podía usar para geocodificar direcciones, así que busqué un poco y I found this very interesting piece of information:

Límites de uso

por límite de aplicación (identificado por su clave de acceso): 100.000 llamadas por día

por límites IP:/v1/public /: 1.000 llamadas por hora;/V1/yql /: 10.000 llamadas por hora

¿Alguien sabe donde puedo conseguir más información específica en el uso de YQL a GeoCode direcciones?

+0

Muchos engañados, incluyendo http://stackoverflow.com/questions/1320262/web-service-to-get-the-gps-coordinates –

+0

@Neil: No exactamente, todas las respuestas en esa pregunta usan las API GYM/GYB y tienen bajos límites de frecuencia. –

+1

¿Te importaría explicar más de cerca para qué necesitas los datos? En Alemania, por ejemplo, un código postal único se aplica a una zona muy grande, definida por fronteras del distrito o del condado. Dos direcciones con el mismo código postal de 5 dígitos pueden estar a una distancia de hasta 10-20 km. Lo mismo es el caso en mi Finlandia natal (con distancias incluso mayores). Un código geográfico en un código postal puede ser solo un punto central imaginario. Pareces prestar mucha atención a la calidad de los datos: ¿cómo funcionará para ti? Además, ¿la operación realmente debe tener lugar en un día? ¿Por qué no distribuir consultas durante unas semanas? –

Respuesta

5

Yahoo! GeoPlanet le dará puntos centroid lat/long para los códigos postales. Han sido confiables en mi experiencia. El límite API es 50,000 solicitudes por día. No estoy seguro de cuál es su política sobre los resultados del almacenamiento en caché. Me da la impresión de que si contactas con Yahoo !, puedes establecer un acuerdo con un límite de solicitud más alto, aunque puede costar algo de dinero.

También le permiten download a substantial portion of their data bajo una licencia Creative Commons, pero lamentablemente eso parece estar limitado a las relaciones WOEID y nombres de países.

+0

Gracias, pero todavía 50k solicitudes por día todavía no son suficientes para mí (mi pequeño país solo tiene casi 300k de código postal). También he encontrado que Yahoo no es muy preciso en los códigos postales a las coordenadas, la misma coordenada se devuelve para varios códigos postales diferentes. Pero es bueno saber sobre el vertedero de WOEID. =) –

+0

Es bueno saber su experiencia con su imprecisión. Estoy de acuerdo con Pekka arriba; puede costar algo de dinero, pero intenta preguntar a Yahoo! y tal vez por una pequeña tarifa puede obtenerlos ya sea para levantar el límite diario o resolver algo donde puede almacenar en caché los resultados. – npdoty

5

Creo que su elección probablemente dependerá de la cantidad de llamadas de API que desee realizar por día. El límite diario de la API gratuita de Google Maps es de 15,000 solicitudes por dirección IP. (Fuente: Google Maps API FAQ.)

Usted puede hacer geocodificación con la API de Google Maps utilizando la siguiente petición HTTP:

CSV simple:

http://maps.google.com/maps/geo?q=W1A+1AA,+London&output=csv&sensor=false 

XML más complejo:

http://maps.google.com/maps/geo?q=W1A+1AA,+London&output=xml&sensor=false 

Simplemente cambie el parámetro "q" con el código postal y el país a geocodificar.

Sin embargo, creo que el almacenamiento permanente de los resultados de la geocodificación en su base de datos puede ser una violación de los términos y condiciones de la API de Google Maps. Es posible que desee verificar si hay más información sobre estas restricciones.

+0

15,000 por día es un poco bajo para lo que quiero ... Por cierto, ¿qué hace 'sensor = false'? –

+3

RE: 'sensor = false': http://stackoverflow.com/questions/1993978/ –

+0

+1, Gracias Daniel. =) –

1

La manera más fácil sería, por supuesto, encontrar un proveedor de servicios de alta calidad sin límite de solicitud. ¿Por qué no pedirle una oferta a Google? Por lo que he oído, son bastante flexibles con los clientes de negocios.

Si no es una opción, sin duda podrá obtener archivos de datos individuales, y la tarifa es más barata que 33 mil en muchos países. Estoy bastante seguro de que Alemania y Austria venden archivos de datos a precios de 3 cifras, y para el Reino Unido está el Postcode Address File (PAF) son datos del Royal Mail, no creo que la calidad mejore. Por supuesto, además del costo y la molestia, habría que hacer un montón de trabajo de conversión con 26 archivos individuales de diferentes oficinas postales y otras cosas, trabajo que no envidiaría a nadie :) Si tiene el presupuesto, es Probablemente sea más barato hablar con Google o Yahoo.

+0

Reino Unido: ¡Actualizan sus códigos postales casi todas las semanas! Encontré un proveedor de datos relativamente económico (http://www.geopostcodes.com/buy_eu_zip_codes) pero no estoy muy seguro de la calidad de sus datos. –

+0

Interesante, yo no sabía eso, pero están casi en una casa en el Reino Unido, por lo que es obvio que fluctúan mucho ... Bueno, eso explica por qué la suscripción anual con Royal Mail cuesta £ 1700 :) –

+0

Todavía Creo que es un abuso, aquí tenemos precisión en el nivel de la calle y solo hacen cambios a los códigos postales una o dos veces en un año. –

0

que en realidad es un problema muy difícil ya que un código postal no es en realidad una región poligonal, sino un conjunto de líneas que suman ambos (véase la mejor Anser a How to get the bounding coordinates for a US postal(zip) code? para una explicación muy detallada de esto.)

Dentro del En los Estados Unidos, la Oficina del Censo mantiene una lista de los límites aproximados del Código postal denominados "Áreas de tabulación de cinco dígitos" (ZCTA5). Puede descargarlos directamente y procesarlos como desee. Hay varias herramientas de geocodificación que pueden ayudarlo a comenzar con esto; Yo uso PostGIS (http://postgis.net/) pero hay otros, más importante, los datos de Open Street Maps (http://www.openstreetmap.org), que cubren el mundo.

+0

API muy simple para fronteras de EE. UU. www.boundares-io.com, cuesta dinero ($ 25 dólares al mes para golpear la API) *** Descargo de responsabilidad que trabajo para ellos *** –

Cuestiones relacionadas