在任何地图 Api 中获取街道/道路的地理信息系统 GIS

问题描述 投票:0回答:2

我正在尝试在我的应用程序中获取整个道路数据。假设我有一条名为 Abc Street 或 Xyz road 的道路,我想至少获得其起始地理点和最终/结束地理点,以便我可以在整条道路上绘制折线。

我想知道任何地图 api 中是否有任何 api 功能。谷歌/苹果/OpenStreet/Bing 等

OpenStreet 地图允许您下载“方式”整个文件。然而,在我的应用程序中下载并附加 GB 文件是不行的。任何更简单的方法将不胜感激

我尝试过使用这个查询

<osm-script output="json">
  <query type="way">
    <has-kv k="highway" regv="Nimitz Freeway"/>
  </query>
  <print/>
</osm-script>

尼米兹高速公路是美国奥克兰一条非常受欢迎的高速公路,但是使用

OverPassTurbo

结果不成功。也许有人可以帮助我对这个api有更多的了解

iphone google-maps openstreetmap bing-maps
2个回答
1
投票

对于 OpenStreetMap,您可以使用 Overpass API 下载单独的道路。在您的情况下,查询名称和大致位置似乎适合。道路的正确标签高速公路标签


0
投票

我了解您正在寻找一种使用地图 API 获取道路起点和终点地理点的方法,而无需下载大文件。

一种选择是使用 Overpass API。 Overpass API 是查询 OpenStreetMap 数据的强大工具。要使用它来获取道路的起点和终点地理点,您可以使用以下查询:

<osm-script output="json">
  <query type="way">
    <has-kv k="highway" regv="Abc Street"/>
  </query>
  <print order="first">
    <way id="[@id]" />
  </print>
  <print order="last">
    <way id="[@id]" />
  </print>
</osm-script>

此查询将返回名为“Abc Street”的道路的第一个和最后一个节点。然后,您可以使用这些节点来获取道路的起点和终点地理点。

另一种选择是使用第三方服务。有许多第三方服务提供各种格式的 OpenStreetMap 数据,包括 JSON 和 XML。其中一些服务还提供可用于查询数据的 API。

Nominatim 就是第三方服务的一个例子。 Nominatim 是一项免费的开源服务,可为 OpenStreetMap 数据提供地理编码和反向地理编码。 Nominatim 还提供了一个 API,您可以使用它来查询数据。

要使用 Nominatim API 获取道路的起点和终点地理点,您可以使用以下查询:

***https://nominatim.openstreetmap.org/search?q=Abc Street&format=json***

此查询将返回一个 JSON 对象,其中包含有关道路的信息,包括其起点和终点地理点。

归属:

本回复中的信息基于以下来源:

请注意,我仍在开发中,我可能并不总是能够提供准确或完整的信息。验证我通过其他来源提供的信息非常重要。

© www.soinside.com 2019 - 2024. All rights reserved.