在Google地图中一次对地址进行地理编码,保存在数据库中,然后从该地址读取经过地理编码的结果


13

是否可以对地址进行地址解析,将结果保存在数据库中,然后从那里读取结果?

我正在使用对数百个地址进行地理编码的Google地图,这些地址显然达到了地理编码的限制。一旦进行了地理编码,地址就极不可能再次更改,因此将地理编码结果保存在数据库中是有意义的。

我使用Wordpress作为平台,因此,如果可能的话,我想将经过地理编码的结果另存为与特定公司相关的数据库中的字段。

客户已特别要求Google在整个项目中使用Google,从而排除Yahoo或其他任何因素。

更新:所有人都在谈论我要问的问题与他们的服务条款背道而驰,但不是他们自己的示例在做同样的事情-developers.google.com/maps/articles/phpsqlgeocode吗?


6
请阅读条款10.0.3(a,b,c)developers.google.com/maps/terms,不得使用“内容”创建包含“地点”或其他本地列表信息的独立数据库。
Mapperz

3
Yahoo PlaceFinder developer.yahoo.com/geo/placefinder具有更好的条款和条件-Placefinder API在存储返回的位置数据方面没有上述限制。
Mapperz

@Mapperz好的,谢谢。是否可以保存到Google Fusion Table并以某种方式将其链接到Wordpress?
罗布2012年

您是否需要ZIP + 4邮件数据?如果是这样,那就改变了答案。那么,您将要邮寄任何东西到地址还是仅使用地理数据来获取位置和位置?
Jeffrey 2012年

1
等等...我很确定Yahoo的API仍然违反了TOS。
马特

Answers:


5

根据YahooMaps 服务条款,不允许您存储使用API​​收集的数据。(特别是viii)“您不能:”

(vi)使用Yahoo! Maps API具有小于6小时的位置信息并且来自GPS设备或任何其他位置感测设备;

(vii)使用Yahoo! Maps API,其中包含从GPS设备或任何其他位置感测设备获得的位置信息,而最终用户未将这些信息直接上传到您的应用或服务中;

(viii)存储或允许最终用户存储Yahoo!提供的地图图像,地图数据或地理编码的位置信息。Maps API,供将来使用;

(ix)除了显示Yahoo !,还可以将独立的地址解析器用于任何用途。在Yahoo!上地图或显示点 地图;

(x)使用任何Yahoo!发布或显示或允许其他用户发布或显示任何经过地理编码的位置信息。Maps API;

这与我在Google,Bing,MapQuest和Yahoo的TOS中看到的一致。这样做的原因是,他们可以直接将结果呈现给最终用户,从而从中受益。如果未显示其徽标和“谷歌地图”,则不会获得任何“街道信誉”或曝光率。因此,他们提供服务的动机就消失了。它们使您使用该服务非常容易(极其简单),但是它们也设置了合理的限制。只要您使用他们的数据为他们赚钱(即使他们只是获得曝光),您就在他们的服务条款之内。如果您试图回避这些条款,则有随时被切断的风险。如果您的服务基于他们的服务,那不是一个快乐的故事。

我从未使用过FME工作台,它看起来确实很强大(同时,它比需要的更为复杂),但仍将受数据提供者的TOS约束。将FME工作流程与此SmartyStreets对LiveAddress API的简单HTTP请求进行比较:

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

它采用以下地址并对其进行标准化(包括明显的拼写更正),验证其是否可交付,然后对其进行地理编码并将该地址分解为各种组件,并将其作为JSON流输出。(如果您不阅读JSON,则可以将输出插入JSON格式化程序中以获得更可读的结果。 (也可以在URL字符串中随意使用您自己的数据,以进行测试)

1600 Ampytheatr Pkway Mountain Vew,CA

变成

1600 Amphitheatre Pkwy Mountain View,CA 94043-1351

有许多可用于地址验证的商业API,SmartyStreets恰好是我每天早晨停放汽车的API。(Cdyne,StrikeIron,QAS是提供类似服务的其他一些服务。)这些商业服务使您可以使用不受过度限制的TOS约束的数据。您基本上可以将结果数据集用于几乎没有直接竞争的任何事物。

您是正确的,地理编码数据不会经常更改,并且可以在本地或数据库中高速缓存,以最大程度地减少对服务器的请求数量。好想法。


数据每6小时刷新一次,目的是与Yahoo Maps一起使用-关键部分>>使用Yahoo! Maps API具有小于6小时的位置信息并且来自GPS设备或任何其他位置感测设备;
Mapperz

@Mapperz地址数据的新鲜度和输入源不是TOS中的主要问题。我引用这些内容只是为了将上下文添加到最重要的一点上:“您不得”(viii)存储或允许最终用户存储Yahoo!提供的地图图像,地图数据或地理编码的位置信息。Maps API,供将来使用。数据有多新鲜或过旧都无所谓。
Jeffrey

@Jeffrey我别无选择,只能在整个过程中使用Google的服务,这是客户的特定要求。这排除了使用Yahoo或其他任何工具的可能性。
罗布2012年

@ Teamworksdesign.com非常好,消除了很多查找,现在您可以深入研究代码。运气!
Jeffrey 2012年

5

经过大量挖掘,Google实际上展示了如何将地理编码结果存储在数据库中。由于Google提供了有关该操作方法的实际教程,因此我认为这并不违反许多人提到的明确的服务条款。


4

使用FME工作台从Yahoo PlaceFinder API进行“批量”地理编码

每24小时50,000个请求限制:

在此处输入图片说明

关键组件是HTTPFetcher

此屏幕快照是免费提供的“ Building Web Services工作区”的高修改版,网址为http://fmepedia.safe.com/articles/FAQ/Building-Web-services-workspace

修改内容:

多地址输入(csv最快)

记录每个经过地理编码的匹配的质量(87以上为好)

添加了来自其他服务的海拔高度(geonames gtop30 dem)

验证和过滤要检查的错误地址。

(查看协议/条款后,将尝试进入FME商店)。


我也非常希望看到您的工作区,因为这也属于我的几个计划目标……
DEWright 2012年

这看起来像一个很棒的工作流程,但请记住,存储结果肯定会违反TOS。
Jeffrey

只有当你保存它超过6小时... ...或正在使用它与雅虎地图一起显示的位置
Mapperz

使用PlaceFinder不需要使用Yahoo!。地图或Yahoo! MapsAPI。EddieBabcock Yahoo! 地质技术developer.yahoo.com/forum/PlaceFinder-General-Discussion/...
Mapperz

@Mapperz好吧,TOS表示“您不应该:”(还引用大写字母)“存储或允许最终用户存储Yahoo! Maps API的地图图像,地图数据或地理编码的位置信息,以备将来使用。” 看起来很清楚,如果意图是“存储”数据,则它违反了TOS。但是,这当然需要解释。话虽如此,如果我要开发一个商业应用程序,我想确保我的解释与数据提供者的解释相同,因为他们(在本例中为Yahoo)拥有最终的终止开关。
Jeffrey

4

最初的问题的简短答案是肯定的,只要您使用Google的地图服务,就可以存储结果。(在重新阅读后)在其ToS和地理编码API中清楚地阐明了这一点。

您应该意识到,像许多其他流行的地理编码服务一样,它们也要求您

  1. 仅将Google获取和缓存的数据与其映射实用程序一起使用
  2. 如果这是内部的而不是外部的免费公用事业,则必须注册为商业客户才能合法使用它。

请仔细注意#1 ...非常关键的区别,您可以缓存,但是他们不希望您在其他人的映射实用程序上使用纬度/经度(例如),是另一个网站还是“自制”(尽管老实说,我不确定谁能跟踪经纬度数据的使用位置。

他们的服务条款和其他管理文档中所述的所有限制和其他限制。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.