存储地理编码数据是否常见?

时间:2011-09-29 23:29:58

标签: google-maps storage geocoding

在我的网站上,公司可以为每个分支机构输入位置(地址等)。每次我想在Google(谷歌)地图上显示地图时,不是通过Google进行地理编码,最好只需在输入时对每个地址进行地理编码,然后存储坐标以供日后使用。

然而,如果这是一种常规做法,或者开发人员是否通常每次都在进行地理编码,我会感到困惑。

4 个答案:

答案 0 :(得分:4)

是的,这是一种常见做法,尤其是当您在带宽有限的环境中运行时。但是,您不能无限期地存储所有数据。您从API下载的内容有一些限制。

以下是Google对此问题的处理(Google Maps API系列服务条款,http://code.google.com/apis/maps/terms.html; 10.1.3.b):

  

您不得预先获取,缓存或存储任何内容,但您可以存储以下内容:(i)有限数量的内容,以便在您临时,安全地执行此操作时提高Maps API实施的效果并且以不允许在服务之外使用内容的方式

最重要的部分是:

  • 您不能预取
  • 数据保护必须是暂时的
  • 数据必须少量保存

答案 1 :(得分:1)

要考虑的一件事是地理编码坐标和地址并不总是描述相同的点。由于街道号码的插值和其他不准确性,在这个问题上没有地理编码服务是完美的。根据您使用坐标的情况,通常可以重新定位点,因此必须将其保存在数据中。

例如,如果您有一组地址如“Kings street 11-15”的公司,那么公司的主要入口在哪里?交货地点在哪里?这样的事情可能使得无法动态地进行地理编码。

即使你想“按原样”使用地理编码协调,我还记得Bing Maps对“不保存任何数据”的规则做了例外,以允许存储地理编码的位置。不确定谷歌是否做同样的事情......

答案 2 :(得分:0)

当然 - 它不像地理编码(基本上只是纬度和经度)是谷歌是唯一使用的东西。它几乎是每个人都这样做的(并且已经在过去十年中完成)

答案 3 :(得分:0)

通过我的SugarCRM谷歌地图项目,我将从数据库(地址缓存模块)中的Google Maps Geocoding API存储有限数量的数据。我不存储整个对象,只是它的一部分。只需存储您需要的效率。

主要是:

  • 完整的单行地址
  • 地理位置状态
  • 经度
  • 纬度

数据存储在地址缓存中以识别状态为“OK”的地址。因此,我只存储从Google地图返回的有限数量的数据。我觉得这样做绝对没问题。

另外,我只将它存储为地址缓存,可以随时销毁和重新填充。如果没有“预先填充的”经度/纬度信息,则需要几分钟才能填充包含5,000条记录的地图。使用缓存,可以在10秒内显示包含5,000条记录的地图。

http://www.jjwdesign.com/sugarcrm/google-maps-for-sugarcrm

要考虑的问题:

  1. Google地图认为“限制内容量”是什么?在1GB的数据下?
  2. 您如何理解“改善表现的目的”?也许正在使用该服务?