Indirizzo geocodice una volta su Google Maps, salvataggio nel database, lettura del risultato geocodificato da lì in poi


13

È possibile geocodificare un indirizzo, salvare il risultato in un database, quindi leggere quel risultato da lì in poi?

Sto usando una mappa di Google che sta geocodificando centinaia di indirizzi che ovviamente raggiungono il limite del geocodice. Una volta geocodificato, è molto improbabile che l'indirizzo cambi di nuovo, quindi ha senso salvare il risultato del geocode in un database.

Sto usando Wordpress come piattaforma, quindi, se possibile, mi piacerebbe salvare il risultato geocodificato come un campo nel database che si riferisce alla particolare azienda.

IL CLIENTE HA RICHIESTO SPECIFICAMENTE CHE GOOGLE SIA UTILIZZATO ATTRAVERSO IL PROGETTO CHE DEVE ESCLUDERE YAHOO O QUALUNQUE ALTRO.

AGGIORNAMENTO: Tutti dicono che ciò che sto chiedendo va contro il loro TOS ma il loro esempio non sta facendo la stessa cosa: developers.google.com/maps/articles/phpsqlgeocode ?


6
Leggi i termini e le condizioni 10.0.3 (a, b, c) developers.google.com/maps/terms che non devi utilizzare il Contenuto per creare un database indipendente di "luoghi" o altre informazioni sulle inserzioni locali.
Mapperz

3
Yahoo PlaceFinder developer.yahoo.com/geo/placefinder ha Termini e condizioni migliori - L'API Placefinder non ha le restrizioni menzionate sulla memorizzazione dei dati sulla posizione restituiti.
Mapperz

@Mapperz Ok grazie. È possibile salvare su una tabella di fusione di Google e in qualche modo collegarlo a WordPress?
Rob,

Hai bisogno dei dati postali ZIP + 4? In tal caso, ciò cambia la risposta. Quindi spedirai qualcosa all'indirizzo o semplicemente utilizzerai i dati geografici per posizione e posizione?
Jeffrey,

1
Aspetta ... Sono abbastanza sicuro che sia ancora una violazione del TOS con l'API di Yahoo.
Matt,

Risposte:


5

In base ai Termini di servizio di YahooMaps , non è consentito archiviare i dati raccolti utilizzando l'API. (in particolare viii) "NON DEVI:"

(vi) utilizzare Yahoo! API di mappe con informazioni sulla posizione che hanno meno di 6 ore e derivano da un dispositivo GPS o da qualsiasi altro dispositivo di rilevamento della posizione;

(vii) usa Yahoo! API di Maps con informazioni sulla posizione derivate da un dispositivo GPS o qualsiasi altro dispositivo di rilevamento della posizione in cui tali informazioni non sono state caricate nell'applicazione o nel servizio direttamente dall'utente finale;

(viii) memorizzare o consentire agli utenti finali di memorizzare immagini di mappe, dati di mappe o informazioni sulla posizione geocodificate da Yahoo! API di Maps per qualsiasi utilizzo futuro;

(ix) utilizzare il geocoder indipendente per qualsiasi uso diverso dalla visualizzazione di Yahoo! Mappe o punti di visualizzazione su Yahoo! Mappe;

(x) pubblicare o visualizzare o consentire ad altri utenti di pubblicare o visualizzare qualsiasi informazione sulla posizione geocodificata utilizzando Yahoo! API di Maps;

Ciò è coerente con ciò che ho visto nei TOS di Google, Bing, MapQuest e Yahoo. La ragione di ciò è che beneficiano direttamente della possibilità di presentare i risultati all'utente finale. Se il loro logo e "mappe di google" non vengono visualizzati, non ottengono alcun "credito stradale" o esposizione. Pertanto, il loro incentivo a fornire il servizio è sparito. Ti rendono molto facile usare il servizio (estremamente semplice) ma pone anche limiti ragionevoli. Finché stai usando i loro dati per farli guadagnare (anche se stanno solo ottenendo esposizione) sei nei termini del loro TOS. Se provi a eludere questi termini, corri il rischio di essere escluso in qualsiasi momento. Non è una storia felice se il tuo servizio si basa sul loro servizio.

Non ho mai usato il banco di lavoro FME, sembra davvero potente (e allo stesso tempo, più complesso di quanto sia necessario), ma sarà comunque soggetto ai TOS dei fornitori di dati. Confronta il flusso di lavoro FME con questa semplice richiesta HTTP con l'API LiveAddress di SmartyStreets:

https://api.qualifiedaddress.com/street-address/?street=1600+Ampytheatr+Pkway+Mountain+Vew+ca&auth-token=23350695

Prende il seguente indirizzo e lo standardizza (compresa l'evidente correzione ortografica), verifica che sia consegnabile, quindi lo geocodifica e suddivide l'indirizzo nei vari componenti emettendolo come flusso JSON. (se non leggi JSON, puoi collegare l'output in un formattatore JSON per risultati molto più leggibili. (Sentiti libero di usare anche i tuoi dati nella stringa URL, a scopo di test)

1600 Ampytheatr Pkway Mountain Vew, CA

diventa

1600 Amphitheatre Pkwy Mountain View, CA 94043-1351

Ci sono un certo numero di API commerciali disponibili che effettuano la verifica dell'indirizzo, SmartyStreets sembra essere quella che parcheggio l'auto ogni mattina. (Cdyne, StrikeIron, QAS sono pochi altri che offrono un servizio simile.) Questi servizi commerciali ti offrono l'uso dei loro dati che non è vincolato da un TOS eccessivamente restrittivo. Fondamentalmente puoi usare il set di dati risultante per qualsiasi cosa a parte competere direttamente.

Hai ragione nel dire che i dati di geocodifica non cambiano molto frequentemente ed è qualcosa che può certamente essere memorizzato nella cache locale o all'interno del tuo database per ridurre al minimo il numero di richieste al server. Pensare bene.


I dati vengono aggiornati ogni 6 ore e l'intenzione deve essere utilizzata con Yahoo Maps - parte fondamentale >> utilizzare Yahoo! API di mappe con informazioni sulla posizione che hanno meno di 6 ore e derivano da un dispositivo GPS o da qualsiasi altro dispositivo di rilevamento della posizione;
Mapperz

@Mapperz La freschezza e la fonte di input dei dati dell'indirizzo non erano il problema principale nel TOS. Ho citato quelli semplicemente per aggiungere un contesto al punto più significativo che è: "YOU SHALL NOT" (viii) memorizzare o consentire agli utenti finali di memorizzare immagini di mappe, dati di mappe o informazioni sulla posizione geocodificate da Yahoo! API di Maps per qualsiasi utilizzo futuro. Non importa quanto siano freschi o vecchi i dati.
Jeffrey,

@Jeffrey Non ho altra scelta che utilizzare i servizi di Google in tutto, questo è un requisito specifico da parte del cliente. Questo esclude l'utilizzo di Yahoo o altro.
Rob,

@ Teamworksdesign.com Eccellente, che elimina molto lo sguardo in giro e ora puoi scavare nel codice. Fortuna!
Jeffrey,

5

Dopo molte ricerche, Google mostra effettivamente come archiviare i risultati del Geocode in un database. Poiché esiste un vero tutorial di Google su come farlo, presumo che ciò non violi i termini di servizio chiari come fanghi che molti hanno menzionato.


4

Utilizzo del workbench FME per eseguire geocodifiche "in blocco" dall'API di Yahoo PlaceFinder

Limite di 50.000 richieste per 24 ore:

inserisci qui la descrizione dell'immagine

Il componente chiave è HTTPFetcher

Questa schermata è una versione altamente modificata dello "spazio di lavoro dei servizi Web di costruzione" disponibile gratuitamente http://fmepedia.safe.com/articles/FAQ/Building-Web-services-workspace

modifiche:

Input di indirizzi multipli (csv è il più veloce)

La qualità di ogni corrispondenza geocodificata viene registrata (sopra 87 è buona)

Aggiunta elevazione da un servizio diverso (geonames gtop30 dem)

Convalida e filtraggio di indirizzi errati da esaminare.

(Proverà ad accedere allo Store FME dopo aver esaminato il contratto / i termini).


Sarei molto interessato a vedere anche il tuo spazio di lavoro, poiché anche questo rientra in molti dei miei obiettivi del programma ...
DEWright,

Sembra un ottimo flusso di lavoro, ma tieni presente che l'archiviazione dei risultati sarebbe certamente una violazione del TOS.
Jeffrey,

solo se lo memorizzi per più di 6 ore ... o lo stai utilizzando insieme a Yahoo Maps per visualizzare le posizioni
Mapperz

L'uso di PlaceFinder non richiede l'uso di Yahoo! Maps o Yahoo! API di Maps.Eddie Babcock Yahoo! Geo Technologies developer.yahoo.com/forum/PlaceFinder-General-Discussion/…
Mapperz

@Mapperz Bene, il TOS dice "NON DEVI:" {anche maiuscolo} "memorizza o consenti agli utenti finali di archiviare immagini delle mappe, dati delle mappe o informazioni sulla posizione geocodificata dalle API di Yahoo! Maps per qualsiasi uso futuro." Sembra abbastanza chiaro che se l'intenzione è quella di "archiviare" i dati, ciò viola il TOS. Ma è certamente lasciato all'interpretazione. Detto questo, se stavo costruendo un'app commerciale, vorrei assicurarmi che la mia interpretazione fosse la stessa dell'interpretazione dei fornitori di dati poiché (in questo caso Yahoo) detengono il kill switch definitivo.
Jeffrey,

4

La risposta breve alla domanda iniziale è sì, purché si utilizzi il servizio di mappatura di Google , è possibile memorizzare i risultati. È spiegato chiaramente (dopo alcune riletture) nel loro ToS e nella loro API di geocodifica.

Dovresti essere consapevole del fatto che, come molti altri servizi di geocodifica popolari, richiedono anche te

  1. Utilizza i dati acquisiti e memorizzati nella cache di Google solo con le loro utilità di mappatura
  2. Se si tratta di un'utilità pubblica interna, anziché esterna, è necessario registrarsi come client commerciale per utilizzarla legalmente.

Nota attentamente # 1 ... distinzione molto critica, puoi memorizzare nella cache, ma non ti vogliono usare lat / long (ad esempio) sull'utilità di mappatura di qualcun altro, sia che un altro sito web o un "homebrew" (anche se per essere onestamente, non sono sicuro di come si possa tracciare dove vengono utilizzati i dati lat / long.

tutti i limiti e le altre restrizioni dichiarate dal loro ToS e altri documenti di governo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.