OSM在Python中获取从路线A到B的持续时间和方向

2024-01-07

我是使用地图和搜索算法的新手。目前我正在使用geopy获取距离的包Nominatim

from geopy.geocoders import Nominatim
from geopy.distance import vincenty

nom = Nominatim()
chicago = nom.geocode("chicago")
dallas = nom.geocode("dallas")
chicago_gps = (chicago.latitude, chicago.longitude)
dallas_gps = (dallas.latitude, dallas.longitude)
distance = vincenty(chicago_gps, dallas_gps).km
print('Distance in kms: {}'.format(distance))
print(chicago.raw)

output

Distance in kms: 1294.7623005649557
{'lat': '41.8755546', 'osm_id': '122604', 'boundingbox': ['41.643919', '42.0230219', '-87.940101', '-87.5239841'], 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright', 'lon': '-87.6244212', 'place_id': '178038280', 'class': 'place', 'icon': 'https://nominatim.openstreetmap.org/images/mapicons/poi_place_city.p.20.png', 'osm_type': 'relation', 'importance': 0.29566190262222, 'display_name': 'Chicago, Cook County, Illinois, United States of America', 'type': 'city'}

所以对于每个地方我都可以计算距离。现在有几个问题

  1. 是航空距离吗? OSM 是否也像 Google 一样提供旅程的持续时间?
  2. 如果我想像谷歌一样从“芝加哥”去“达拉斯”,我该如何获得路线?除了使用 API 之外,还有什么方法可以直接从 OSM 获取路由MapQuest https://www.mapquest.com/ etc ?
  3. 我们如何在模型中实现流量层?我需要一些好的资源,如果有任何 python 实现那就太好了。

是航空距离吗?

是的,请参阅关于距离计算的 geopy 文档 https://geopy.readthedocs.io/en/latest/#module-geopy.distance。 geopy 目前不支持真正的路由。

OSM 是否也像 Google 一样提供旅程的持续时间?

是的,如果您使用真正的路由器,就可以。看一眼基于OSM的在线路由器 https://wiki.openstreetmap.org/wiki/Routing/online_routers。其中有几个,例如 GraphHopper 和 OSRM,提供逐个指令。

如果我想像谷歌一样从“芝加哥”去“达拉斯”,我该如何获得路线?除了使用 MapQuest 等 API 之外,还有什么方法可以直接从 OSM 获取路由?

请参阅我之前的回答。使用众多在线路由器之一的 API。或者运行您自己的路由实例。其中许多路由器都是开源的,可以在本地安装。

我们如何在模型中实现流量层?我需要一些好的资源,如果有任何 python 实现那就太好了。

无法帮助你。我首先看一下http://opentraffic.io/ http://opentraffic.io/ and https://github.com/graphhopper/open-traffic-collection https://github.com/graphhopper/open-traffic-collection.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OSM在Python中获取从路线A到B的持续时间和方向 的相关文章

  • 用于在 overpass-API 端点上运行请求的 Python 包装器

    Overpass API python 包装器是一个围绕 OpenStreetMap Overpass API 的瘦 Python 包装器https github com mvexel overpass api python wrapper
  • 使用 Overpass API 查找坐标周围的多个标签

    鉴于此立交桥查询https overpass turbo eu s Sle 搜索博物馆和画廊 我如何引入一种新类型的标签来搜索同一位置 例如我还想搜索node amenity cafe bar 同一区域 周围500米 lat 500 53
  • 如何按几何类型过滤地理数据框?

    我正在使用开放街道地图数据 我通过立交桥将其下载为 GEOJSON 数据框 虽然我可以根据标签和子标签过滤数据 如下所示 gdf b gdf b loc gdf b 高速公路 服务 我无法弄清楚删除具有特定几何类型 如点 的地理数据帧的特定
  • 如何在 Android 应用程序中使用 OSM 地图?有没有关于在 android 中使用 OSM 的教程?

    我正在寻找教程 手册或步骤 将开放街道地图包含到我的 Android 应用程序中 我发现的只是一个具有更多功能的大项目 否则很多问题都没有关于 如何 的正确结论 有没有合适的博客 网站或文档可供新手参考 我不知道有任何教程 但这是我使用 O
  • 使用 Geopy 和 Python 进行地理编码

    我正在尝试对一个 CSV 文件进行地理编码 其中包含位置名称和解析出的地址 其中包括地址号 街道名称 城市 邮政编码 国家 地区 我想通过 Geopy 使用 GEOPY 和 ArcGIS Geocodes 我想创建一个代码 循环遍历 500
  • urllib.error.HTTPError:HTTP 错误 429:请求过多

    直到上周我才能够使用pythonsmopy包裹https pypi org project smopy https pypi org project smopy 显示从 openstreetmap 获取的地图图块https www open
  • 更改 OpenLayers 地图中的投影

    我想将 EPSG 4326 设置为 OpenLayers 地图的投影 但当我尝试时 我总是得到 EPSG 900913 function init var options projection new OpenLayers Projecti
  • 有没有办法使用 OpenLayers 更改 openstreetmap 中某些要素的颜色?

    我正在使用 OpenLayers 来显示 openstreetmap 有没有办法编辑地图上的某些功能 例如改变水的颜色 消除国家之间的边界等 如果不能使用 JavaScript 来完成 我猜还有其他方法可以做到这一点 比如托管您自己的地图版
  • 如何在不使用 Mapbox 的情况下使用 OpenStreetMap?

    我想使用 OSM OpenStreetMap 数据 但有一种方法 Mapbox 可以使用吗 如果有其他解决方案可以在不使用 MapBox 的情况下使用 OSM OpenStreetMap 那对我会有帮助 由于这是用 Swift 标记的 我假
  • 如何获取OSM节点或路径的城市和国家?

    我正在解析 OSM 数据的国家 地区摘录 我想要的是获取该点或方式所属的城市和国家的名称 这可能吗 我怎样才能获取这些信息 要检索此信息 您需要地理编码器 除非该节点具有相关的地址标签 https wiki openstreetmap or
  • Overpass api 来查找坐标的速度限制?

    我收到车辆的坐标 我需要找出该车辆所在道路的速度限制 我知道你可以找到某个有界框的最大速度 如下所示 www overpass api de api xapi 最大速度 bbox 5 6283473 50 5348043 5 6285261
  • 为什么我使用 OpenLayers 在两个弹出窗口中获得相同的文本

    我正在使用 OpenLLayers 5 我将经度 纬度和汽车名称保存在数据库中的数组中 我可以显示两个标记 我的数组目前只有两个索引 每个标记都有一个弹出窗口 其中应包含其名称 经度 纬度 例如 第一个标记的弹出窗口将汽车 1 作为文本 在
  • javascript中的(多维)数组中的反向条目

    我正在使用 leaflet js 在 openstreetmap 上显示一些多边形 我有一个外部数据资源 它为我提供了多边形的坐标 不幸的是 这个数组的坐标顺序错误 例子 我得到 10 5254913 52 2734311 10 52588
  • Leaflet OSM:多边形上的中心地图视图

    我想生成一个 html 文件 包括Leaflet库来显示OpenStreetMap用多边形查看 地图上的多边形应居中 为此 我遵循this https github com Leaflet Leaflet issues 1196讨论 但我仍
  • Overpass API Android 示例?

    为了进行研究 我们必须开发一款基于位置的 Android 游戏 目前我们使用OSMDroid来显示地图 玩家必须收集资源 如木材 石头 这些资源当前以硬编码的经 纬度存储在我们的后端 并将通过 setMarker 添加到当前地图上 为了在全
  • 检测 Android 中 OSM Mapview 是否仍在加载

    我已将 Open Street Maps 包含在我的 Android 应用程序中 在地图视图中 用户应该能够在地图完全加载后捕获屏幕 但目前 即使地图视图仍在加载 用户也可以捕获图像 有人可以告诉我如何检测地图视图何时完全加载吗 下面是我加
  • 如何使用 LeafLe 创建商店地图

    我希望创建一个可以交互的地图 我发现的最好的选择是传单 问题是我没有找到任何资源来解释如何创建自己的地图 我希望创建一个商场地图 用户可以在其中看到所有商店 喷泉 我怎样才能做到这一点 最好的起点是传单示例页面 http leafletjs
  • 使用 XAML 地图控件在基于 C# VS2013 WPF 的 OpenStreetMap 的地图上添加热图图层

    我正在尝试使用 XAML MAP 控件 https xamlmapcontrol codeplex com https xamlmapcontrol codeplex com 在基于 C VS2013 WPF 的 OpenStreetMap
  • 使用开源 3D 引擎从 Openstreetmap 数据渲染地图? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 从 Openstreetmap 数据渲染 3D 地图可能会很漂亮麻烦的 https gis stack
  • 使用 GeoDjango 在坐标系之间进行转换

    我正在尝试将坐标信息添加到我的数据库中 添加django contrib gis支持我的应用程序 我正在写一个south数据迁移 从数据库中获取地址 并向 Google 询问坐标 到目前为止 我认为我最好的选择是使用geopy为了这 接下来

随机推荐

  • 如何仅使用 sscanf 从字符串中提取所有数字?

    如何在 C 语言中使用 sscanf 从以下格式的字符串中提取所有数字 3 2 4 5 10 空格可以无处不在 但当然不能在数字之间 每个位置可以有 0 个或更多空格 字符串必须具有正确的格式 否则会出现错误 例如 3 2 是一个错误 每个
  • AWS:为什么我的 RDS 实例在关闭后仍继续启动?

    我在 AWS 上有一个 RDS 数据库实例 目前已将其关闭 但是 每隔几天它就会自行启动 我现在没有任何其他服务正在运行 我的 RDS 日志中有此事件 数据库实例正在启动 因为它超出了允许的最大停止时间 为什么我的 RDS 实例的停止时间有
  • 在 PHP 和 Eclipse 中设置路径映射

    我刚刚在本地设置了我的网站 这样我就可以更轻松地测试我的页面 Eclipse 已配置为在本地使用 XAMPP 服务器 问题是我想将我的项目映射到网站中的某个位置 IE 在我的 Eclipse PHP 项目中 我有一个名为 com 我想要这个
  • 渲染发生后以编程方式应用 jquery(移动)CSS 类

    jQuery 移动 http jquerymobile com 会根据内容自动为页面上的元素应用 css 和一些 htmldata 页面加载时属性就在它们上面 我通过 ajax 调用拉入一些 html 内容 但它是在 jquery mobi
  • 以给定概率得出 true 或 false

    我正在尝试用 C 编写一个函数 该函数将根据给定的概率返回 true 或 false 因此 例如 如果给定的概率为 0 634 则该函数有 63 4 的机会返回 true 我尝试了几种不同的方法 但都失败了 有什么帮助吗 如果您想在 C 1
  • 序列化对象时如何忽略事件订阅者?

    当下面的类被序列化时BinaryFormatter 订阅的任何对象Roar事件也将被序列化 因为对这些对象的引用由 EventHandler 委托保存 Serializable public class Lion public event
  • Javascript - 检测阿拉伯文本

    今天我想做一个使用输入文本的阿拉伯语测验 这是我的代码 我知道这仍然是基本的 但问题是它无法检测阿拉伯文本 语言 当我尝试输入 文本时 它显示 错误 警报 我不知道为什么它无法检测到阿拉伯语 有什么解决办法吗 function answer
  • 在MinGW编译器中,-mwindows命令是什么,它有什么作用?

    我在使用 C 程序时遇到问题 当我运行 exe 时 该程序将运行并且该程序的窗口将打开 但控制台将在后台桌面上打开 我进行了谷歌搜索 发现使用 mwindows 命令作为参数进行编译会删除控制台 它确实做到了 但我不确定它实际上是做什么的
  • Xamarin选择TargetFramework和MinimumAndroidVersion

    我正在开发一个 Xamarin Forms 应用程序 目前仅支持 Android 默认设置将 TargetFramework 设置为 7 1 该项目的最低 Android 版本必须为 7 0 这会产生一个警告 Xamarin Forms P
  • Google Analytics iOS SDK [GAIReachabilityCheckerreachabilityFlagsChanged:崩溃

    我的 iOS 应用程序不断遇到与 GAIReachabilityChecker 相关的崩溃 这个函数似乎崩溃了 GAIReachabilityCheckerreachabilityFlagsChanged 这是错误日志 线程 崩溃 com
  • 人行横道的应用程序大小增加了 71mb

    我真的希望我做错了什么 我已将人行横道添加到项目中 并且应用程序大小明显增加 为了测试我做了以下事情 创建了一个新的离子项目 将我的应用程序代码添加到 www 添加了 ngcordova 和各种插件 运行 ionic 构建并将 apk 放到
  • 如何使用 PowerShell 提取 Epub 元数据 (XML)?

    我对 PowerShell 并不陌生 但对 XML 解析很熟悉 基本上我想从 OPF 文件中提取标题 创建者和发布者信息 该文件只是一个 xml 文件 下面这本书是来自 Google 的 epub v3 样本集的 Moby Dick
  • 基于颜色的 OpenCV 边缘/边框检测

    我对 OpenCV 还很陌生 很高兴能了解更多信息 我一直在考虑勾画边缘和形状的想法 我遇到过这段代码 在 iOS 设备上运行 它使用了 Canny 我希望能够以颜色呈现它 并圈出每个形状 有人能指出我正确的方向吗 Thanks IplIm
  • Spring REST 和 PATCH 方法

    我正在使用 SpringBoot 和 Spring REST 我想了解 HTTP PATCH 方法来更新我的模型的属性 有没有好的教程解释如何使其发挥作用 HTTP PATCH 方法和要发送的正文 控制器方法以及如何管理更新操作 我注意到许
  • 无法使用 sudo 启动服务,因为 root 用户无权访问 Ruby

    tl dr尝试运行需要 ruby 才能运行的服务 但是 Ruby 安装的是RVM http beginrescueend com root 用户似乎无法访问它 从而产生错误 usr bin env ruby No such file or
  • 无法在 Inno Setup 欢迎页面上创建标签

    我正在尝试使用以下代码在欢迎页面上创建标签 或位图 LabelTarget TLabel Create WizardForm with LabelTarget do begin Parent WizardForm WelcomePage L
  • TouchsBegan 不适用于 UITableView

    I have UITableView超过全屏 我想知道的是找到我单击单元格的位置 我想要做的是在单击任何单元格时显示复制选项 为此我尝试过 void touchesEnded NSSet touches withEvent UIEvent
  • Swift 应用程序在模拟器上打开,但在设备上打不开

    我已经在我的 iOS 应用程序上工作了一段时间 它在模拟器上构建和运行良好 但是当我尝试在我的设备上运行它时 会发生一些事情 出现应用程序启动屏幕 应用程序崩溃 我的 Xcode 输出如下 dyld Library not loaded r
  • 如何使用Dom解析来解析XML文件?

    我的问题是我使用 Dom Parsing 来解析下面的 xml 文件 但这给了我 NullPointerException 错误 任何帮助 将不胜感激 MainActivity java public class MainActivity
  • OSM在Python中获取从路线A到B的持续时间和方向

    我是使用地图和搜索算法的新手 目前我正在使用geopy获取距离的包Nominatim from geopy geocoders import Nominatim from geopy distance import vincenty nom