Dirección de geocodificació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 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 ?

Robar
fuente
66
Lea los términos y condiciones 10.0.3 (a, b, c) developers.google.com/maps/terms. No debe usar el Contenido para crear una base de datos independiente de "lugares" u otra información de listados locales.
Mapperz
3
Yahoo PlaceFinder developer.yahoo.com/geo/placefinder tiene mejores términos y condiciones: la API de Placefinder no tiene la restricción mencionada sobre el almacenamiento de datos de ubicación devueltos.
Mapperz
@Mapperz Ok, gracias. ¿Es posible guardar en una tabla de fusión de Google y de alguna manera vincular eso a WordPress?
Rob
¿Necesita los datos de correo ZIP + 4? Si es así, eso cambia la respuesta. Entonces, ¿va a enviar algo por correo a la dirección o simplemente usará los datos geográficos para ubicación y posición?
Jeffrey
1
Espera ... Estoy bastante seguro de que todavía es una violación de TOS con la API de Yahoo, también.
Matt

Respuestas:

5

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:"

(vi) use Yahoo! API de mapas con información de ubicación que tiene menos de 6 horas de antigüedad y se deriva de un dispositivo GPS o cualquier otro dispositivo de detección de ubicación;

(vii) use Yahoo! API de mapas con información de ubicación derivada de un dispositivo GPS o de cualquier otro dispositivo de detección de ubicación donde el usuario final no haya subido dicha información directamente a su aplicación o servicio;

(viii) almacene o permita a los usuarios finales almacenar imágenes de mapas, datos de mapas o información de ubicación geocodificada de Yahoo! API de Maps para cualquier uso futuro;

(ix) use el geocodificador autónomo para cualquier otro uso que no sea mostrar 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 mapas;

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.

Jeffrey
fuente
Los datos se actualizan cada 6 horas y la intención es usar Yahoo Maps - parte clave >> usar Yahoo! API de mapas con información de ubicación que tiene menos de 6 horas de antigüedad y se deriva de un dispositivo GPS o cualquier otro dispositivo de detección de ubicación;
Mapperz
@Mapperz La frescura y la fuente de entrada de los datos de la dirección no fue el problema principal en los TOS. Los cité simplemente para agregar contexto al punto más significativo que es: "NO DEBERÁ" (viii) almacenar o permitir a los usuarios finales almacenar imágenes de mapas, datos de mapas o información de ubicación geocodificada de Yahoo! API de Maps para cualquier uso futuro. No importa cuán frescos o obsoletos sean los datos.
Jeffrey
@Jeffrey No tengo más remedio que usar los servicios de Google en todo momento, este es un requisito específico del cliente. Esto descarta usar Yahoo o cualquier otra cosa.
Rob
@ Teamworksdesign.com Excelente, eso elimina mucho mirar a su alrededor y ahora puede profundizar en el código. ¡Suerte!
Jeffrey
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, supongo que esto no viola los términos de servicio claros como fangosos que muchos han mencionado.

Robar
fuente
4

Usando FME workbench para hacer geocodificación 'masiva' de la API Yahoo PlaceFinder

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

ingrese la descripción de la imagen aquí

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).

Mapperz
fuente
Yo estaría muy interesado en ver su espacio de trabajo también, ya que este se divide en varios de mis metas del programa también ...
DEWright
Esto parece un gran flujo de trabajo, pero tenga en cuenta que almacenar los resultados sin duda sería una violación de los TOS.
Jeffrey
solo si lo almacena por más de 6 horas ... o lo está utilizando junto con Yahoo Maps para mostrar las ubicaciones
Mapperz
El uso de PlaceFinder no requiere el uso de Yahoo! Mapas o Yahoo! API de mapas. Eddie Babcock Yahoo! Geo Technologies developer.yahoo.com/forum/PlaceFinder-General-Discussion/…
Mapperz
@Mapperz Bueno, el TOS dice "USTED NO DEBERÁ:" {mayúscula citado también} "almacenar o permitir a los usuarios finales almacenar imágenes de mapas, datos de mapas o información de ubicación geocodificada de las API de Yahoo! Maps para cualquier uso futuro". Parece bastante claro que si la intención es "almacenar" los datos, viola los TOS. Pero, ciertamente se deja a la interpretación. Dicho todo esto, si estuviera creando una aplicación comercial, me gustaría asegurarme de que mi interpretación fuera la misma que la de los proveedores de datos, ya que ellos (Yahoo en este caso) tienen el último interruptor de apagado.
Jeffrey
4

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

  1. Solo use los datos adquiridos y almacenados en caché de Google con sus utilidades de mapeo
  2. Si se trata de una utilidad interna, en lugar de externa, públicamente gratuita, debe registrarse como cliente comercial para usarla legalmente.

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.

usuario15518
fuente