如何在SUMO地图中添加自定义天线元素?问题排查与解决
问题原因与解决步骤
你的问题出在工具分工和配置缺失:
netconvert仅负责生成道路网络,完全不会处理天线这类非道路节点;polyconvert默认不会识别OSM中的天线节点,因为你的typemap.xml里没有配置对应的转换规则,没有告诉它该如何处理这类节点。
解决方法:修改typemap.xml配置文件
在你的typemap.xml中添加以下规则,让polyconvert识别OSM中的天线节点并转换为SUMO可显示的POI(兴趣点):
<?xml version="1.0" encoding="UTF-8"?> <typemap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/typemap_file.xsd"> <!-- 保留你原有的其他规则 --> <!-- 定义天线POI的显示样式 --> <poiTypes> <poiType id="antenna" color="#ff0000" size="2" layer="2"/> </poiTypes> <!-- 添加匹配规则:识别OSM中man_made=antenna的节点 --> <rules> <rule node="true" k="man_made" v="antenna" poiType="antenna"/> </rules> </typemap>
重新执行转换命令
保持原有命令不变,重新运行:
netconvert --osm-files download.osm -o test.net.xml -t osmNetconvert.typ.xml --xml-validation never polyconvert --net-file test.net.xml --osm-files download.osm --type-file typemap.xml -o map.poly.xml --xml-validation never
额外注意
打开SUMO-GUI加载地图后,需要确保POI图层已开启:在左侧控制面板的「Layers」选项中勾选「POIs」,天线会以你定义的红色圆点样式显示在地图上。
内容的提问来源于stack exchange,提问作者Matteo Ferri
相关产品推荐
相关产品推荐

