地名数据库 Geonames 与谷歌地图的比较

12

我正在构建一个应用程序,使用GeoNames和Google Places API。问题是,当我在特定位置(例如纬度: 47.16,经度: 27.56)附近搜索时,在Google Places和GeoNames(findNearby)结果中都会出现相同的实体,我不知道如何删除它们。我考虑使用位置(纬度和经度),但这种方法不够准确。而且名称变化很大,也行不通。我脑海中浮现的另一个想法是使用类型(GeoNames的特征代码和Google Places的类型),但是有很多类型,显然我无法手动交叉参考。有什么想法吗?

注:由于这是一项学校项目,并且要求使用多个信息来源,因此我希望同时使用它们。
谢谢。


3
两种明显的方法:1)花费额外的精力来链接两个服务中的名称,例如短语规范化;2)计算A中每个地方到B中每个地方的距离,制作一个直方图,直方图的左侧峰值可能对应相同的地点,然后设置一个阈值,合并距离小于该阈值的地点。 - Vihari Piratla
1个回答

1
我认为不幸的是,你没有得到答案的原因是没有一个答案能够完全满足要求。
即使只有一个提供者,一个坐标也可能与多个结果相关联。例如,在纽约的一座大楼中,有许多公司每个占据同一建筑物的一层或部分楼层,但它们都与相同的(纬度,经度)坐标相关联。
现在考虑两个来源。来源A说那个位置有一个医生(假设在第7层)。来源B也说有一个医生。我们可以假设他们是同一个医生吗?不行。可能是另一个楼层的另一个医生。或者可能是同一个医生。无法判断。关键是,你可以尝试使用特征代码/类型来减少命中次数,通过假设类似的位置是相同的位置,但这仍然是一个假设。
无论如何,祝你好运完成三年前的任务。这仍然是一个好主意。 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接