Geocodificar la dirección una vez en google maps, guardar en la base de datos, leer el resultado geocodificado a partir de ahí

13

¿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 geocodifica cientos de direcciones que obviamente alcanzan el límite de geocodificación. Una vez geocodificada, es muy poco probable que la dirección vuelva a cambiar, por lo que tiene sentido guardar el resultado de la geocodificación en una base de datos.

Estoy usando Wordpress como plataforma, de modo 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 PEDÍA ESPECÍFICAMENTE QUE USTED SE UTILICE A LO LARGO DEL PROYECTO QUE ASÍ ESTÁ DISMINUYENDO A YAHOO O ALGO MÁS.

ACTUALIZACIÓN: Todo el mundo dice que lo que estoy pidiendo va en contra de sus TOS, pero no es su propio ejemplo el que hace lo mismo: desarrolladores. google.com/maps/articles/phpsqlgeocode ?

    
pregunta Rob 11.06.2012 - 14:50

4 respuestas

5

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, asumo que esto no viola los términos de servicio claros y confusos que muchos han mencionado.

    
respondido por el Rob 18.06.2012 - 15:33
5

De acuerdo con YahooMaps Términos de servicio , no está permitido almacenar los datos que recopila utilizando la API. (específicamente viii) "USTED NO DEBE:"

  

(vi) usa el Yahoo! API de Maps con información de ubicación que es menos   de 6 horas de antigüedad y derivado de un dispositivo GPS o cualquier otro lugar   dispositivo de detección;

     

(vii) usa el Yahoo! API de Maps con información de ubicación derivada de   un dispositivo GPS o cualquier otro dispositivo de detección de ubicación donde tal   La información no se cargó directamente en su aplicación o servicio.   por el usuario final;

     

(viii) almacena o permite a los usuarios finales almacenar imágenes de mapas, datos de mapas o   Información de ubicación geocodificada de Yahoo! APIs de mapas para cualquier futuro   uso;

     

(ix) use el geocodificador independiente para cualquier otro uso que no sea la visualización   Yahoo! Mapas o puntos de visualización en Yahoo! Mapas;

     

(x) publicar o mostrar, o permitir que otros usuarios publiquen o muestren,   Cualquier información de ubicación geocodificada utilizando cualquier Yahoo! API de Maps;

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. Hacen que sea muy fácil para usted usar el servicio (extremadamente fácil) pero también ponen límites razonables. Mientras esté utilizando sus datos para hacerles dinero (incluso si solo están recibiendo exposición) está dentro de los términos de sus TOS. Si intenta 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 el banco de trabajo FME, se ve realmente poderoso (y al mismo tiempo, más complejo de lo que se necesita), pero aún estará sujeto a los TOS de los proveedores de datos. Compare el flujo de trabajo de FME con esta simple solicitud HTTP a la API LiveAddress de SmartyStreets:

enlace

Toma la siguiente dirección y la estandariza (incluida la corrección ortográfica obvia), verifica que se puede entregar y luego la geocodifica y divide 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. también puede utilizar sus propios datos en la cadena de URL, para fines de prueba)

1600 Ampytheatr Pkway Montaña Vew, CA

se convierte en

1600 Amphitheatre Pkwy Mountain View, CA 94043-1351

Hay una serie de API comerciales disponibles que hacen la verificación de direcciones, SmartyStreets es la única en la que estaciono mi auto 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, puedes usar el conjunto de datos resultante para casi cualquier cosa que no sea competir directamente.

Usted tiene razón en que los datos de geocodificación no cambian con mucha frecuencia y es algo que ciertamente se puede almacenar en caché localmente, o dentro de su base de datos para minimizar el número de solicitudes al servidor. Buen pensamiento.

    
respondido por el Jeffrey 11.06.2012 - 23:36
4

El uso de la mesa de trabajo de FME para hacer geocodificación "masiva" desde la API de Yahoo PlaceFinder

Límite de 50,000 solicitudes por 24 horas:

Elcomponenteclaveesel HTTPFetcher

Esta captura de pantalla es una versión altamente modificada del 'Espacio de trabajo de servicios web de creación' ' enlace

Modificaciones:

Entrada de dirección múltiple (csv es el más rápido)

Se registra la calidad de cada coincidencia geocodificada (por encima de 87 es bueno)

Elevación agregada desde un servicio diferente (geonames gtop30 dem)

Validación y filtrado de las direcciones incorrectas para ser revisadas.

(Intentará ingresar a la Tienda FME después de consultar el acuerdo / términos).

    
respondido por el Mapperz 11.06.2012 - 20:34
4

La respuesta breve a su pregunta inicial es sí, siempre que utilice el servicio de mapas de Google , puede almacenar los resultados. Se explica claramente (después de algunas re-lecturas) en su ToS y su API de geocodificación.

Debe tener en cuenta que, al igual que muchos otros servicios de geocodificación populares, también requieren que usted

  1. Utilice solo los datos adquiridos y en caché de Google con sus utilidades de mapeo
  2. Si se trata de una utilidad pública interna, en lugar de pública externa, debe registrarse como cliente comercial para utilizarla legalmente.

Observe con cuidado # 1 ... distinción muy crítica, puede almacenar en caché, pero no quieren que use la latitud / larga (por ejemplo) en la utilidad de mapeo de otra persona, ya sea que haya otro sitio web o un "homebrew" ( aunque, para ser honesto, no estoy seguro de cómo alguien puede hacer un seguimiento de dónde se usan los datos lat / long.

todos los límites y otras restricciones según lo establecido por su ToS y otros documentos que rigen.

    
respondido por el user15518 25.02.2013 - 18:32

Lea otras preguntas en las etiquetas