首页 > 解决方案 > OSMNX 操作与其他数据

问题描述

我正在使用 OSMNX 收集 OSM 地图数据以创建道路网络。我有来自 HERE 的实时流量数据,格式如下:

<TRAFFICML_REALTIME xmlns="http://traffic.nokia.com/trafficml-flow-3.2" CREATED_TIMESTAMP="2021-10-26T21:42:30Z" MAP_VERSION="" UNITS="metric" VERSION="3.2">
<link type="text/css" rel="stylesheet" id="dark-mode-custom-link"/>
<link type="text/css" rel="stylesheet" id="dark-mode-general-link"/>
<style lang="en" type="text/css" id="dark-mode-custom-style"/>
<style lang="en" type="text/css" id="dark-mode-native-style"/>
<RWS TY="TMC" MAP_VERSION="202103" EBU_COUNTRY_CODE="3" EXTENDED_COUNTRY_CODE="E3" TABLE_ID="39" UNITS="metric">
<RW LI="339-01403" DE="Abdülezelpaşa Caddesi/Kadir Has Caddesi" PBT="2021-10-26T21:42:30Z" mid="e7816666-0334-48a9-b15b-673a10edf88f">
<FIS>
<FI>
<TMC PC="30026" DE="Atatürk Bulvarı/Atatürk Köprüsü" QD="+" LE="0.10589"/>
<SHP FC="3">41.02248,28.96148 41.02258,28.96139 </SHP>
<SHP FC="3">41.02258,28.96139 41.02268,28.9613 </SHP>
<SHP FC="3">41.02268,28.9613 41.02274,28.96123 41.02279,28.96119 41.02284,28.96116 </SHP>
<SHP FC="3">41.02284,28.96116 41.0229,28.96114 41.02296,28.96113 41.02303,28.96112 </SHP>
<SHP FC="3">41.02303,28.96112 41.02309,28.96111 41.02313,28.9611 41.02318,28.96108 41.02323,28.96105 41.02328,28.96101 41.02333,28.96097 </SHP>
<CF CN="0.93" FF="39.0" JF="0.0" SP="41.45" SU="41.45" TY="TR"/>
</FI>

我正在尝试将 OSM 道路与这些数据配对。使用道路名称是唯一的选择,还是有办法通过形状坐标实现这一点?

标签: openstreetmaphere-apiosmnx

解决方案


HERE Traffic 支持 3 种地图匹配机制(参考)。

  1. TMC (Traffic Message Channel) - 您需要 HERE 地图数据内容来获取位置代码以将交通流量映射到地图。但是 OSM 没有捆绑用于 HERE Traffic 和地图内容之间映射的 Traffic Location Tables,所以不可能这样做。
  2. OLR(OpenLR 位置参考) - 您可以使用 OLR 映射到任何地图数据几何,但您需要解码 OLR base64 字符串并使用您的算法映射到地图,因为 OLR 仅指示路段的起点和终点,您需要计算他们之间的道路。基本上,这非常困难,因为您需要先编写自己的解码器,然后编写路由算法来执行这项工作。
  3. SHP(形状点)- 使用形状点,但覆盖范围有限且不时变化,因为它是 TMC 覆盖范围的补充。

如果您的要求是在地图上显示拥堵程度,我建议您改用HERE Traffic Tile


推荐阅读