好的,真正的信徒。我在这上面有些卡住了。我有一个Nominatim查询字符串,该字符串返回相同位置的不同GPS坐标,具体取决于其键入方式。我知道这听起来像应该如何工作,但请留在我身边。
顺便说一句,这个问题与命题查询有关。如果您不知道这意味着什么,我建议您继续前进或准备尽一切努力来整理文档。
背景故事:
我开发了一个应用程序,使用Nominatim和OSRM服务器API的组合从地址创建路由。如果需要的话,我可以提供更详细的描述,但就目前而言,就足够了。
首先,我发现了Nominatim无法解析的地址。地址是17500 Church Avenue S,Alva,FL,33920我通过的查询如下:
如您所见,这将返回一个空的json字符串(whomp,whomp)。
但是,如果我只是在Avenue之后删除S标签,我会取回数据。看看:
所以这就是问题所在。我不希望用户必须清理自己的输入(特别是因为这么小的错误,在实际环境中可能是错字)。在这种情况下,Nominatim运行的Tiger数据库是完全错误的。在佛罗里达州的阿尔瓦(Alva)没有Church AveS。我还发现该数据库不是将Alva视为一个城市,而是一个小村庄。精细。我假设Nominatim足够聪明,可以将结果绑定到邮政编码。
好吧,你知道他们对假设的看法...
因此,我和我的新朋友Umption注意到上面的查询给出了两个结果(对与错)。我将结果转出我的应用程序,意识到只有一个结果。然后,我问Umption,我们是否曾经将教堂Ave S的错误报告给Nominatim神。事实证明,我们做到了,Nominatim神已经更新了他们的数据库,但没有为其他本地托管的牡丹发布更新。
问题解决了吧?只需等待更新。错误。问题没有解决。这只是为更大的问题提供了一些启示。我们将如何处理与有效级别不匹配的地址。看,服务器可以给出(认为的)完全有效的结果,这些结果超出了用户需要看到的范围。在这种情况下,阿尔瓦(Alva)的教堂大道(Ave)在佛罗里达州奇普利(Chipley)返回了500英里以外的结果
一些选项是:
每个选项都有其优点和缺点(我最喜欢#2)。万神殿有什么想法吗?