我正在设计一个网络应用程序(使用 Google map ),允许用户在我的数据库中搜索住宅邮政地址。
即用户提供地址,我存储;稍后,其他用户将输入地址以查看该地址是否在我的数据库中。
但是众所周知,地址很难规范化;我不知道如何最好地存储/查询它们。 (特别是因为 Google 的地理编码器不允许我存储地理编码器的结果。)
什么是最好的方法?
最佳答案
这是一个可以通过 lat-long 解决的问题(使用 R-trees 用于快速二维最近邻!在 MongoDB 中作为标准,但当然也可以在 Psql 中使用)
还有文本匹配,在这里描述:SO: What are ways to match street addresses in SQL Server?
似乎还有可用的第三方产品:SO: I need an address matching algorithm
如果您想将这两种方法结合起来,请寻找术语“数据融合”,这是一个完全不同的方法集合,本质上是对更确定的答案给予更高的权重,并根据汇总的确定性得出最终答案.
一些 Harward Design GIS 项目研究的描述也可能很有趣:http://www.gsd.harvard.edu/gis/manual/geocoding/
世界上所有城市的列表及其相应的坐标:http://www.maxmind.com/en/worldcities
关于google-maps - 将邮寄地址与数据库匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20671180/