Geocodifique varias direcciones
-
29-08-2019 - |
Pregunta
Necesito codificación geográfica de alrededor de 200 direcciones por solicitud y hacer en 3000 solicitud por día. Voy a estar haciendo este lado del servidor usando PHP. He mirado Cómo convertir una dirección a una latitud / longitud / a>, pero no pudo encontrar una manera para que sea Google Maps solicitud HTTP API o la API de Yahoo geocodificación RESTO (no se puede utilizar JavaScript, ya que es del lado del servidor) para enviar múltiples direcciones.
Me va a utilizar principalmente para ordenar este direcciones en base a las coordenadas y si los soportes de la API, rellenar los datos que faltan para cada dirección. Las direcciones serán sólo en los Estados Unidos. Las direcciones de codificación geográfica será a partir de la entrada del usuario, por lo que se forma libre, como "dirección de la calle, código postal", o "ciudad, estado", etc. La precisión no es demasiado importante para las coordenadas, dicen que dentro de quinientos pies o menos.
¿Existe una API gratuita para manejar esto? ¿Hay una manera de conseguir Yahoo o Google para hacer varias ubicaciones en una solicitud?
Solución
geocoder.us va a hacer lo que quiera, pero es posible que tenga el mismo problema para las búsquedas a granel. Lo hacen búsquedas a granel por un precio sin embargo.
Would GeoNames proporcionar información suficiente, ya sea a través de los datos en bruto a granel o a través de su servicios web ?
Otros consejos
He mirado en la API de Google Maps, Yahoo Maps API, API de MapQuest, y la API de Microsoft Virtual Earth. Ninguno de estos servicios gratuitos permiten geocodificación mayor.
Sin embargo, Google Maps API permite a los 15.000 goecodes por día. Pero ellos no les gusta cuando envía demasiados a la vez. Ellos sugieren esperar 200ms entre las peticiones. Que realizar un seguimiento de la dirección IP por cierto.
Yahoo permite a 5.000 por día, y es también una API fácil de usar. Microsoft Virtual Earth permite a 5.000 por día, pero la documentación de la API es un dolor en el trasero.
MapQuest es simplemente extraño, y no parece dar buenos resultados (menos precisa de todo lo que he visto).
Me he fijado en realidad mi código para alternar entre varios servicios para que pueda hacer múltiples peticiones a la vez. Esta - más o menos -. Simula codificación mayor
USC WebGIS Geocoder Prácticas varias API de geocodificación que puede hacer esto. Es gratis y permite búsquedas por lotes a partir de su código, o se puede cargar una base de datos para el procesamiento por lotes.
Mapquest tiene una API que permite geocodificación por lotes. Sin embargo no proporcionan una directamente para PHP. Sin embargo, se puede consultar la documentación de protocolo http://developer.mapquest.com/Library/SDK_Documentation/ protocolos para aplicar por sí mismo. Pueden referirse a la geocodificación granel como una colección ubicación en la documentación.
Esto puede sonar extraño, pero yo tenía un sitio hace un tiempo y que el cliente quería que el usuario introduzca una única cremallera y que proporcionaría los datos restantes. He utilizado la API de tiempo yahoo que, a la vez, devuelve un archivo XML con todos los datos del tiempo y el ciy, estado, código postal funcionado bien para direcciones en los EE.UU.
http://www.torchproducts.com/tools/geocode a un geocode lista de direcciones de forma rápida
GDirections . Permite hasta 25 waypoints a la vez y devuelve una ubicación geocodificada para cada uno.