¿Es posible geocodificar una dirección, guardar el resultado en una base de datos y luego leer ese resultado a partir de ahí?
Estoy usando un mapa de Google que está geocodificando cientos de direcciones que obviamente alcanzaron el límite de geocodificación. Una vez geocodificada, es muy poco probable que la dirección cambie nuevamente, por lo que tiene sentido guardar el resultado del geocodificación en una base de datos.
Estoy usando Wordpress como plataforma, así que si es posible me gustaría guardar el resultado geocodificado como un campo en la base de datos que se relaciona con la compañía en particular.
EL CLIENTE HABÍA PEDIDO ESPECÍFICAMENTE QUE GOOGLE SE UTILICE EN TODO EL PROYECTO, SALIENDO YAHOO O CUALQUIER OTRA COSA.
ACTUALIZACIÓN: Todos dicen que lo que estoy preguntando va en contra de sus TOS, pero ¿no es su propio ejemplo haciendo lo mismo: developers.google.com/maps/articles/phpsqlgeocode ?
fuente
Respuestas:
De acuerdo con los Términos de servicio de YahooMaps , no está autorizado a almacenar los datos que recopila del uso de la API. (específicamente viii) "NO DEBERÁS:"
Esto es consistente con lo que he visto en los TOS de Google, Bing, MapQuest y Yahoo. La razón de esto es que se benefician directamente de poder presentar los resultados al usuario final. Si su logotipo y "mapas de google" no se muestran, no obtienen ninguna "credibilidad callejera" o exposición. Por lo tanto, su incentivo para proporcionar el servicio se ha ido. Facilitan el uso del servicio (extremadamente fácil) pero también imponen límites razonables. Mientras esté utilizando sus datos para ganar dinero (incluso si solo están recibiendo exposición), está dentro de los términos de sus TOS. Si trata de eludir esos términos, corre el riesgo de ser cortado en cualquier momento. No es una historia feliz si su servicio se basa en su servicio.
Nunca he usado FME workbench, parece realmente poderoso (y al mismo tiempo, más complejo de lo necesario), pero aún estará sujeto a los TOS de los proveedores de datos. Compare el flujo de trabajo FME con esta simple solicitud HTTP con la API LiveAddress de SmartyStreets:
https://api.qualifiedaddress.com/street-address/?street=1600+Ampytheatr+Pkway+Mountain+Vew+ca&auth-token=23350695
Toma la siguiente dirección y la estandariza (incluida la corrección de ortografía obvia), verifica que se pueda entregar, y luego la geocodifica y descompone la dirección en los diversos componentes que la generan como una secuencia JSON. (si no lee JSON, puede conectar la salida a un formateador JSON para obtener resultados mucho más legibles. (Siéntase libre de usar sus propios datos en la cadena de URL también, para fines de prueba)
1600 Ampytheatr Pkway Mountain Vew, California
se convierte
1600 Amphitheatre Pkwy Mountain View, CA 94043-1351
Hay una serie de API comerciales disponibles que verifican la dirección, SmartyStreets es la que estaciono mi automóvil cada mañana. (Cdyne, StrikeIron, QAS son algunos otros que ofrecen un servicio similar). Estos servicios comerciales le ofrecen el uso de sus datos que no están sujetos a un TOS demasiado restrictivo. Básicamente, puede usar el conjunto de datos resultante para casi cualquier cosa menos que competir directamente.
Tiene razón en que los datos de geocodificación no cambian con mucha frecuencia y es algo que ciertamente puede almacenarse en caché localmente o dentro de su base de datos para minimizar la cantidad de solicitudes al servidor. Buen pensamiento.
fuente
Después de mucho excavar, Google realmente muestra cómo almacenar los resultados de Geocode en una base de datos. Como hay un tutorial real de Google sobre cómo hacerlo, supongo que esto no viola los términos de servicio claros como fangosos que muchos han mencionado.
fuente
Usando FME workbench para hacer geocodificación 'masiva' de la API Yahoo PlaceFinder
Límite de 50,000 solicitudes por 24 horas:
El componente clave es el HTTPFetcher
Esta captura de pantalla es una versión altamente modificada del 'espacio de trabajo de servicios web de construcción' disponible gratuitamente http://fmepedia.safe.com/articles/FAQ/Building-Web-services-workspace
Modificaciones:
Entrada de múltiples direcciones (csv es la más rápida)
Se registra la calidad de cada coincidencia geocodificada (por encima de 87 es buena)
Elevación agregada de un servicio diferente (geonames gtop30 dem)
Validar y filtrar direcciones erróneas para examinar.
(Intentará ingresar a la Tienda FME después de consultar el acuerdo / términos).
fuente
La respuesta breve a su pregunta inicial es sí, siempre que use el servicio de mapas de Google , puede almacenar los resultados. Se explica claramente (después de algunas relecturas) en sus ToS y su API de geocodificación.
Debe tener en cuenta que, como muchos otros servicios de geocodificación populares, también requieren que usted
Tenga en cuenta cuidadosamente # 1 ... distinción muy crítica, puede almacenar en caché, pero no quieren que use el lat / long (por ejemplo) en la utilidad de mapeo de otra persona, ya sea otro sitio web o un "homebrew" (aunque para ser honestamente, no estoy seguro de cómo alguien puede rastrear dónde se usan los datos lat / long.
todos los límites y otras restricciones según lo establecido por sus ToS y otros documentos de gobierno.
fuente