地理编码质量:Nominatim与PostGIS Geocoder与Geocoder :: US 2.0


14

我偶尔需要对>> 500,000个美国街道地址进行地址解析(无要素或交叉路口)。我想在本地设置一个地理编码服务来处理这些批量地理编码。

过去,我在本地使用过基于Tiger的Geocoder :: US 2.0。初始基准测试可以针对Google地理编码的地址提供合理的准确性,尤其是当我不依赖Ruby解析器并且将地址元素明确传递给Geocoder时。

我还阅读了有关PostGIS Geocoder的大量文章。由于我的数据已经在PostGIS中,因此听起来很吸引人,但是我还没有在本地设置它来进行尝试。

另外,有人建议我在本地尝试Nominatim。除了它不是基于Tiger(据我所知)以外,我对此了解不多,我想知道是否会得到更可靠的结果。

我想向有上述解决方案经验的任何人问:三种方法的准确性如何比较?具体来说,哪个为美国街道地址提供了最一致可靠的地理编码?我不是太在意速度或设置复杂性。

Answers:


14

我还没有机会测试Nominatim和Geocoder美国地理编码器。不过我的理解是,Geocoder和Nominatim不能直接在数据库中运行,这对我来说是一个很大的缺点,因为它使它们很难在触发器中使用,也很难直接在数据库中进行批处理更新。

PostGIS地理编码器是plpgsql函数的纯PostGIS / postgresql集,完全在数据库中运行。我希望美国的Geocoder和PostGIS的Geocoder的结果能够达到同等水平,而根据我使用网络工具进行的测试,结果是可以的。Google更好一点,因为它们利用了地名。

我认为Nominatum因为确实使用OSM数据而确实间接使用了Tiger数据,因为OSM在美国的进口大部分来自TIGER,而且用户做出了更正。我不确定Tiger OSM的年份(年份)。从在线使用Web界面开始,它还利用了地名,并且有一个有趣的变化,它使您可以指定地理编码的缩放级别,从而可以通过设置所需的缩放精度来实现更快的地理编码。

完全公开-我在PostGIS Geocoder上做了很多工作,并为此编写了在线手册。我会告诉您一个我正在处理的错误,因为我认为它所插入的点的位置在街道的错误一侧。我正在努力解决。如果您不太关心街道的哪一侧(或至少有时),那么对您来说可能就不是问题了。

在比较一些地址结果的在线版本进行测试时可能值得:例如,您可以在此处测试nominatim:http : //open.mapquestapi.com/nominatim/v1/search.php

在我的用例中,我发现名词规则的模糊检查不如PostGIS Geocoder的模糊检查。例如,我的虚荣街道地址(邮寄地址)是马萨诸塞州波士顿的德文郡广场1号。PostGIS返回的答案与我记得的很接近,Google返回了答案,但我无法让Nominatim返回答案。公平地讲,即使波士顿的包裹记录也不知道该在哪里,并在包裹记录中列为华盛顿街。PostGIS可以找到它,因为它可以进行各种级别的检查以及交叉路口的交叉路口等。我测试了其他情况,我故意输入了邮政编码错误或某些错误,而PostGIS则返回了一组准确的选项。Google也是。


补充说明:在比较一些地址结果的在线版本进行测试时可能值得:例如,您可以在此处测试nominatim:open.mapquestapi.com/nominatim/v1/search.php
LR1234567 2011年

感谢您的回复!我将在下一周左右进行一些基准测试,但到目前为止,PostGIS Tiger编码器给我留下了深刻的印象。
danpelota


tigergeocoder.com使用TIGER 2013数据,可以在Amazon EC2云中运行您自己的服务器实例,并且每天对1,000,000+的地址进行地理编码。如您所述,PostGIS也已加载Zillow Neighborhoods并返回地址部分的FIPS代码。REST API与Google类似,但是您自己的服务器,不需要配额。
2015年

根据新的老虎数据,Nominatim运行速度很快,并且在2019年趋向于更加准确。它不会估计区域,并且地址猜测会更好。
Andrew Scott Evans

-1

从技术上讲,您可以将Tiger和OSM数据库堆叠到一个大型服务器中,并在Nominatum OSM中构建它们。Tiger可以轻松导入,它是OSM服务器的补充。

不管是谁,要获取的数据质量都不会成为顶峰。OSM在美国缺乏街道地址的准确性。在某些情况下,我已经看到它与原始目标相距90英里。

Tiger数据库由于分配了插值算法以预测街道编号位置,因此也不准确。通常,它们会将实际目标从300英尺偏移到几英里。

我确实认为,如果要构建自己的地理编码器还是使用商业编码器,则需要评估时间并托管资源。有了商业广告,您将获得屋顶位置,而无需担心任何事情。对于不同供应商,500k的价格将在$ 600到$ 800之间。


2
您的答案与您的公司有什么关系?看起来您在其中包含一个带有指向您网站链接的签名,这种伪装是在这种情况下使用了不必要的免责声明,因此,我正在对其进行编辑。无论如何,请不要在任何免责声明中包含链接。
PolyGeo
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.