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.