利用OpenStreetMap在线进行路径规划

路网上的最短路径计算

有路网与停靠点数据时,如果需要计算最短路径,ArcGIS是一个常用的选择。但由于shapefile路网中方向、速度、交叉口转向等信息难以准确获取,想要在ArcGIS中获得精确的路径信息,只能作为路径的粗略估计。
近十年来,高德、百度开放平台的路径规划API成为对精确度比较高的路径规划手段。但高德、百度的API次数比较有限。个人用户一天只能调用5000次高德骑行规划API。

一般的基于OSM的离线路径规划手段

不联网就能做OSM做最短路径规划的库有很多,比如osmnx、pyrouting等。这些库的共同特点是,从OSM上下载路网数据后在本地计算。但研究范围比较大的时候,数据量会成为计算的一大障碍。

用OSM路径规划接口做路径规划

在OSM平台上可以进行路径规划,出行方式包括步行、驾车及骑行。每种出行方式都提供了三种求解手段。三种手段基于不同的求解引擎,给出的结果略有差别。
在这里插入图片描述
OSM没有提供专门的路径规划API服务。但开放开源的OSM在线路径规划的url暴露在外。即,在OSM上做路径规划,用F12的网络功能可以找到路径服务的url
以OSMR为例(瓦尔哈拉和graphhopper引擎的url在f12里也可以找到):
步行

routing.openstreetmap.de/routed-foot/route/v1/driving/

驾车

routing.openstreetmap.de/routed-car/route/v1/driving/

骑行

routing.openstreetmap.de/routed-bike/route/v1/driving/

在这些的url的基础上添加参数,即可实现调用osmapi进行路径规划。将得到的结果解析为geojson,然后使用fiona等库保存即可。下面给出爬虫核心代码,内容不多。

import requests

start = '113.9256,22.536'
end   = '114.0545,22.5446'
base_url = f'routing.openstreetmap.de/routed-car/route/v1/driving/{start};{end}'
params = {
	'overview':'false',
	'geometries':'polyline'
	'steps':'true'
}
response = requests.get(base_url, params = params)
res_json = response.json()
### 从res_json中读取坐标信息并保存,具体代码略
### 从res_json中读取坐标信息并保存,具体代码略
### 从res_json中读取坐标信息并保存,具体代码略
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: OpenStreetMap是一个由用户自行编辑和维护的免费地图服务,并且其中包含了有关成都的详细地理信息。 OpenStreetMap作为开放的地图平台,允许用户编辑和更新地图数据。许多积极参与地图编辑的用户在成都中添加了许多关系到该城市的标记点、建筑物、街道和道路等信息。这些数据的丰富使得成都在OpenStreetMap上的信息更加全面和准确。 在OpenStreetMap上搜索成都,用户可以找到各种标记点,如公园、学校、医院、火车站等。此外,用户还可以找到成都的主要街道和道路,并且这些地理数据会不断更新和改进。 OpenStreetMap不仅仅是一个地图服务,它还提供了开放的API接口,使得开发者可以利用这些数据来创建各种应用程序和服务。由于OpenStreetMap的数据是开放的,任何人都可以使用这些数据来满足不同的需求。 总之,OpenStreetMap成都是一个由用户自行编辑和维护的免费地图服务,它包含了成都的详细地理信息,并为用户提供了丰富的标记点和道路等数据。通过OpenStreetMap,用户可以方便地了解成都的地理特征和设施分布,同时它也为开发者提供了一个丰富的数据源,可以用来创建各种应用程序和服务。 ### 回答2: OpenStreetMap(开放街图)是一个基于开源协作的地图项目,其中包含了成都地区的详细地图信息。OpenStreetMap是由全球志愿者共同创建和维护的地图数据库,因此它是免费的、可自由使用的。 在OpenStreetMap中可以找到成都市的各个区、街道、建筑物、商店、公园等地点的标注。每个标注上都有详细的信息,如名称、地址、电话等。这些信息可以帮助人们快速找到他们所需的地点。 通过使用OpenStreetMap,人们可以查找成都市的各种地理要素和公共服务设施。比如,他们可以找到附近的医院、学校、市场、公交车站等。这对于初次到访成都的人们来说特别有帮助,也方便了当地居民的日常生活。 OpenStreetMap还可以用于导航和路径规划。通过利用该地图数据库,人们可以根据自己的需求规划最佳路线,快速到达目的地。这对于开车或者骑行的人们来说尤其有用。 在OpenStreetMap上,用户还可以贡献自己的地理信息。他们可以添加新的地点标注,修正错误或更新过时的信息,以及在地图上绘制缺失的道路或建筑物。这种基于协作的地图编辑方法使得OpenStreetMap的数据越来越精准和完善。 综上所述,OpenStreetMap成都提供了详细的地图信息,方便人们查找地点,规划路径,并且随着用户的参与,持续完善着数据。它是一个免费、开源的地图项目,让人们更好地熟悉和利用成都的地理环境。 ### 回答3: OpenStreetMap是一个基于开放数据的免费地图服务,其中也包括了对成都市地图的细致绘制。 OpenStreetMap的成都地图覆盖了成都市的主要街道、建筑物、公园、河流等等。用户可以在地图上搜索并标记感兴趣的地点,如餐厅、酒店、景点等。同时,用户也可以编辑地图,添加新的道路、修复错误信息或更新已有数据。这种众包的方式使得地图信息更加全面、准确,并且能够与其他地图服务进行比较。 OpenStreetMap让人们可以免费获取详细的成都地图信息,这对城市规划、交通导航、旅游等方面都非常有帮助。用户可以通过OpenStreetMap应用程序或网站来查找他们需要的地点,并了解相关的实时交通、街景照片等信息。此外,OpenStreetMap提供了地图数据下载的功能,从而让开发者能够将地图整合到他们自己的软件中,提供更多定制化的功能。 在成都市,OpenStreetMap也被许多城市规划者、学生、研究人员等使用。他们可以利用OpenStreetMap来分析城市的空间分布、交通流量、设施分布等问题。OpenStreetMap还提供了可视化、分析工具,帮助用户更好地理解和利用地图数据。 总之,OpenStreetMap成都地图提供了一个详细且可自由编辑的地图平台,能够帮助人们更好地了解成都市,为城市发展和研究提供有价值的工具。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GIS跳闸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值