场地和其他地理位置的实体解析

时间:2010-02-15 22:36:56

标签: geolocation geocoding geotagging foursquare entityresolver

假设我想构建一个签到聚合器来计算跨平台的访问次数,这样我就可以知道在Foursquare,Gowalla,BrightKite等有多少人在那里办理了检查。是否有一个好的图书馆或我可以使用开箱即用的工具集将每个服务中的场地条目与我自己的唯一地点标识符相关联吗?

我基本上想要一个可以从一对(地名,地址,纬度/经度)元组映射到[0,1]的函数,它们将它们引用到同一个真实世界的位置。

有人必须已经这样做了,但是我的谷歌很弱。

2 个答案:

答案 0 :(得分:0)

是的,您可以使用geocoder.net提交这两个地址(假设您是.Net开发人员,您没有说)。它为地址验证和地理编码提供了一个通用接口,因此您可以合理地确定一个地址等于另一个地址。

如果你不能让它们标准化和匹配,你可以比较它们的距离,并假设它们是相同的地方,如果它们彼此相差一定的阈值。

答案 1 :(得分:0)

我很悲观,因为有这样的工具已经可以访问。

基于实体分辨率文献匹配对的一个很好的解决方案是

  • 获取地名,定义并使用好的距离函数(例如编辑距离),
  • 获取地址,标准化(例如使用提到的geocoder.net工具),并定义它们之间的距离,
  • 获取坐标并获得距离(这很容易:有许多用于地理距离计算的库和工具,这似乎是一个很好的指标),
  • 将距离转换为概率(“如果我们认为这些距离是相同的,那么这种距离的概率是多少”)(不是直截了当的),
  • 并结合概率(也不简单)。

然后,类似闭包的算法(根据给定概率阈值以上的合并对关闭集合)也可以帮助找到所有匹配(例如,当给定场所累积不同的名称时)。

然而,它不会是一个糟糕的工具或服务。