3

我对地理编码非常陌生,并且对所有信息感到不知所措。我已经看到了与我的问题类似的问题,但我无法找出解决方案。我希望你能帮忙。

我有一个 .csv 文件,其中填充了超过一千个坐标(Lat、Long、Alt)。

我希望能够处理开源服务 (OSM) 上的坐标,以便能够了解车辆所在的街道类型。

例如。(53.0066,-2.0031) 通过 OSM 数据库扫描以找到最近的映射坐标:

<node id="781098178" visible="true" version="2" changeset="11563939" timestamp="2012-05-11T00:04:35Z" user="Mauls" uid="24119" lat="53.0002499" lon="-2.0056501"/>

然后将其标记为<tag k="highway" v="bus_stop"/>

这是我感兴趣的高速公路和巴士站信息作为输出。

我已经阅读并尝试了可用的 MapQuest API,但我无法让反向地理编码显示标签信息而不是整个地址。另外我不确定如何使 matlab 脚本工作。

我真的希望你能帮忙。对不起,如果我听起来很愚蠢!

真的非常感谢你....

4

1 回答 1

2

为此,您需要两个步骤。

第一步是对OSM 最受欢迎的地理编码服务Nominatim进行反向地理编码调用。请注意,OSM 的官方 Nominatim 实例具有相当严格的使用政策,因为它运行在受资助的服务器上。但是您可以使用MapQuest 的 Nominatim 实例作为替代方案,甚至安装您自己的实例。因为 Nominatim 只存储后处理的数据,所以它没有关于原始标签的任何信息。

第二步是从 Nominatim 的结果中提取osm_type(这是元素的类型,可以是node,wayrelation) 和osm_id(唯一标识元素)。使用这些信息,您必须调用OSM API以获取有关相应元素的所有信息。这包括所有标签。

请注意,OSM 有一个类似的问答平台,可让您接触到 OSM 社区的更大范围。

于 2014-02-12T17:23:38.730 回答