Est-il possible de géocoder une adresse, d'enregistrer le résultat dans une base de données, puis de lire ce résultat à partir de là?
J'utilise une carte Google qui géocode des centaines d'adresses qui ont évidemment atteint la limite de géocodage. Une fois géocodée, il est très peu probable que l'adresse change à nouveau, il est donc logique d'enregistrer le résultat du géocodage dans une base de données.
J'utilise Wordpress comme plate-forme, donc si possible, j'aimerais enregistrer le résultat géocodé en tant que champ dans la base de données qui se rapporte à l'entreprise en question.
LE CLIENT A DEMANDÉ SPÉCIFIQUEMENT À L'UTILISATION DE GOOGLE TOUT AU LONG DU PROJET EN ÉLIMINANT YAHOO OU AUTRE.
MISE À JOUR: Tout le monde dit que ce que je demande va à l'encontre de leurs TOS, mais leur propre exemple ne fait-il pas la même chose - developers.google.com/maps/articles/phpsqlgeocode ?
Réponses:
Selon les conditions d'utilisation de YahooMaps , vous n'êtes pas autorisé à stocker les données que vous collectez à l'aide de l'API. (spécifiquement viii) "VOUS NE DEVEZ PAS:"
Cela correspond à ce que j'ai vu dans les TOS de Google, Bing, MapQuest et Yahoo. La raison en est qu'ils bénéficient directement de la possibilité de présenter les résultats à l'utilisateur final. Si leur logo et "maps by google" ne s'affichent pas, ils n'obtiennent aucun "street cred" ou exposition. Ainsi, leur incitation à fournir le service a disparu. Ils vous permettent d'utiliser le service très facilement (extrêmement facile) mais ils imposent également des limites raisonnables. Tant que vous utilisez leurs données pour gagner de l'argent (même si elles sont simplement exposées), vous respectez les conditions d'utilisation. Si vous essayez de contourner ces termes, vous courez le risque d'être coupé à tout moment. Pas une histoire heureuse si votre service est basé sur leur service.
Je n'ai jamais utilisé d'établi FME, il a l'air vraiment puissant (et en même temps, plus complexe que nécessaire), mais sera toujours soumis aux CGU des fournisseurs de données. Comparez le flux de travail FME à cette simple requête HTTP à l'API LiveAddress de SmartyStreets:
https://api.qualifiedaddress.com/street-address/?street=1600+Ampytheatr+Pkway+Mountain+Vew+ca&auth-token=23350695
Il prend l'adresse suivante et la standardise (y compris la correction orthographique évidente), vérifie qu'elle est livrable, puis la géocode et décompose l'adresse en différents composants la sortant en tant que flux JSON. (si vous ne lisez pas JSON, vous pouvez brancher la sortie dans un formateur JSON pour des résultats beaucoup plus lisibles. (N'hésitez pas à utiliser vos propres données dans la chaîne URL également, à des fins de test)
1600 Ampytheatr Pkway Mountain Vew, Californie
devient
1600 Amphitheatre Pkwy Mountain View, CA 94043-1351
Il existe un certain nombre d'API commerciales disponibles qui vérifient les adresses, SmartyStreets se trouve être celui où je stationne ma voiture chaque matin. (Cdyne, StrikeIron, QAS sont quelques autres qui offrent un service similaire.) Ces services commerciaux vous offrent une utilisation de leurs données qui n'est pas liée par un TOS trop restrictif. Vous pouvez essentiellement utiliser l'ensemble de données résultant pour à peu près tout ce qui n'est pas directement en concurrence.
Vous avez raison de dire que les données de géocodage ne changent pas très fréquemment et peuvent certainement être mises en cache localement ou dans votre base de données pour minimiser le nombre de demandes au serveur. Bien pensé.
la source
Après de nombreuses recherches, Google montre comment stocker les résultats du géocodage dans une base de données. Comme il existe un véritable didacticiel de Google sur la façon de le faire, je suppose que cela ne viole pas les conditions de service claires et boueuses que beaucoup ont mentionnées.
la source
Utilisation de FME Workbench pour effectuer un géocodage «en masse» à partir de l'API Yahoo PlaceFinder
50000 demandes de limite par 24 heures:
Le composant clé est HTTPFetcher
Cette capture d'écran est une version fortement modifiée de l'espace de travail « Création de services Web» disponible gratuitement http://fmepedia.safe.com/articles/FAQ/Building-Web-services-workspace
Modifications:
Entrée d'adresse multiple (csv est le plus rapide)
La qualité de chaque match géocodé est enregistrée (au-dessus de 87, c'est bien)
Élévation ajoutée à partir d'un service différent (geonames gtop30 dem)
Validation et filtrage des mauvaises adresses à rechercher.
(J'essaierai d'accéder au magasin FME après avoir examiné l'accord / les conditions).
la source
La réponse courte à votre question initiale est oui, tant que vous utilisez le service de cartographie de Google , vous pouvez stocker les résultats. Il est clairement expliqué (après quelques relectures) dans leur ToS et leur API de géocodage.
Vous devez savoir que, comme de nombreux autres services de géocodage populaires, ils exigent également que vous
Notez soigneusement # 1 ... distinction très critique, vous pouvez mettre en cache, mais ils ne veulent pas que vous utilisiez le lat / long (par exemple) sur l'utilitaire de cartographie de quelqu'un d'autre, qu'il s'agisse d'un autre site Web ou d'un "homebrew" (bien qu'il soit Honnêtement, je ne sais pas comment quelqu'un peut suivre où les données lat / long sont utilisées.
toutes les limites et autres restrictions telles qu'énoncées par leurs ToS et autres documents directeurs.
la source