概述#
netconvert 可从不同来源导入数字道路网络,并生成可供本软件包中其他工具使用的道路网络。
- 目的: 道路网络导入与转换
- 系统: 可移植(已测试 Linux/Windows);在命令行运行
- 输入(必需): 道路网络定义
- 输出: 生成的 SUMO 道路网络;可选地还有其他输出
- 编程语言: C++
使用说明#
netconvert 是一个命令行应用程序。它至少需要一个参数——文件类型的名称作为参数名,要导入的文件名作为参数值。因此,要从 OpenStreetMap 导入网络,可以简单地写:
netconvert --osm my_osm_net.xml
要导入 VISUM 网络:
netconvert --visum my_visum_net.net
在这两种情况下,由于未给出输出名称,从导入数据生成的 SUMO 网络将被写入文件 "net.net.xml"。要将网络写入不同的文件,请使用选项 -o <FILE>。如果要将导入的 VISUM 网络保存到名为 "my_sumo_net.net.xml" 的文件中,请写:
netconvert --visum my_visum_net.net -o my_sumo_net.net.xml
许多进一步的参数控制网络的导入方式以及生成的 SUMO 网络的生成方式。
支持的网络格式#
导入#
netconvert 能够从以下格式导入道路网络:
- "SUMO 简易" XML 描述 (*.edg.xml, *.nod.xml, *.con.xml, *.tll.xml)
- OpenStreetMap (*.osm.xml),包括形状(参见 OpenStreetMap 导入)
- VISUM,包括形状和需求
- Vissim,包括需求
- OpenDRIVE
- MATsim
- SUMO (*.net.xml)
- Shapefiles (.shp, .shx, .dbf),例如 ArcView 和更新的 Tiger 网络
- Robocup Rescue League,包括形状
- DLR 内部的 Navteq GDF 变体 (Elmar 格式)
合并网络#
- 可以组合任何输入文件
- "plain XML" 文件将最后应用,可用于修补/更新先前加载的元素
- 可以通过提供文件列表来合并多个 sumo 网络 (.net.xml):--sumo-net-file FILE1,FILE2。对于地理参考的网络数据,偏移量将自动处理
- 要合并占据相同位置但具有不同 ID 的节点和边,可以设置选项 --junctions.join-same FLOAT --edges.join。将此与选项 --geometry.split 结合使用可能很有用,以创建额外的附着点(或者参见下面的替代方案)。使用 --geometry.split 时,建议之后使用 --geometry.remove 选项再次调用 netconvert。
- 如果网络是使用选项 --geometry.remove 处理的,这可能会移除在合并网络时需要的中间节点(即,当稍后添加具有较低道路等级的道路时)。如果网络提供边参数
removedNodeIds(通过将 --geometry.remove 与 --output.removed-nodes 结合实现),则可以使用选项 --junctions.attach-removed FLOAT 根据需要拆分边并重新附着合并的道路。
导出#
netconvert 能够以以下格式导出道路网络:
- SUMO (*.net.xml)
- "SUMO 原生" XML 描述 (*.edg.xml, *.nod.xml, *.con.xml, *.tll.xml)
- OpenDRIVE
- MATsim
- DLR 内部的 Navteq GDF 变体 (Elmar 格式)
- Amitran 项目中开发的基本网络视图
使用 python 工具,支持将 .net.xml 文件转换为更多格式:
进一步支持的数据格式#
导入#
- 公共交通站点。导入站点数据的主要用途是更新/添加通道信息或在减小网络大小时过滤站点。
- 公共交通线路:在减小网络范围时自动更新。
- 形状定义 以嵌入到支持此功能的网络输出中(OpenDRIVE)
- 高程数据文件
导出#
以下输出列表在 Networks/Further_Outputs 中有更详细的说明
- 公共交通站点。目前,这只能从 OSM 导入
- 公共交通线路
- 关于合并节点的信息
- 路标(作为 POI)
- 街道名称(嵌入在 .net.xml 输出中)
- 停车区域(目前,只能从 OSM 导入路边停车)
- 铁路拓扑输出:用于分析铁路网络拓扑的文件,关于双向轨道使用
- OpenDrive 道路对象
- VISUM 分区
选项#
您可以使用 XML 模式定义文件来设置 netconvert 配置: netconvertConfiguration.xsd.
配置#
SUMO 套件的所有应用程序都以相同的方式处理配置选项。这些选项在 Basics/Using the Command Line Applications#Configuration Files 中讨论。
| 选项 | 描述 |
|---|---|
| -c <FILE> --configuration-file <FILE> |
启动时加载指定的配置文件 |
| -C <FILE> --save-configuration <FILE> |
将当前配置保存到 FILE |
| --save-configuration.relative <BOOL> | 保存配置时强制使用相对路径;默认值: false |
| --save-template <FILE> | 将配置模板(空)保存到 FILE |
| --save-schema <FILE> | 将配置模式保存到 FILE |
| --save-commented <BOOL> | 向保存的模板、配置或模式添加注释;默认值: false |
输入#
| 选项 | 描述 |
|---|---|
| -s <FILE> --sumo-net-file <FILE> |
从 FILE 读取 SUMO 网络 |
| -n <FILE> --node-files <FILE> |
从 FILE 读取 XML 节点定义 |
| -e <FILE> --edge-files <FILE> |
从 FILE 读取 XML 边定义 |
| -x <FILE> --connection-files <FILE> |
从 FILE 读取 XML 连接定义 |
| -i <FILE> --tllogic-files <FILE> |
从 FILE 读取 XML 交通灯逻辑定义 |
| -t <FILE> --type-files <FILE> |
从 FILE 读取 XML 类型定义 |
| --ptstop-files <FILE> | 从 FILE 读取公共交通站点 |
| --ptline-files <FILE> | 从 FILE 读取公共交通线路 |
| --polygon-files <FILE> | 从 FILE 读取多边形,以便在适用时嵌入到网络中 |
| --shapefile-prefix <FILE> | 从以 'FILE' 开头的文件读取 shapefiles (ArcView, Tiger, ...) |
| --dlr-navteq-prefix <FILE> | 从路径 'FILE' 读取转换后的 Navteq GDF 数据(未拆分的 Elmar 网络) |
| --osm-files <FILE> | 从路径 'FILE(s)' 读取 OSM 网络 |
| --opendrive-files <FILE> | 从 FILE 读取 OpenDRIVE 网络 |
| --visum-file <FILE> | 从 FILE 读取 VISUM 网络 |
| --vissim-file <FILE> | 从 FILE 读取 VISSIM 网络 |
| --robocup-dir <FILE> | 从 DIR 读取 RoboCup 网络 |
| --matsim-files <FILE> | 从 FILE 读取 MATSim 网络 |
| --itsumo-files <FILE> | 从 FILE 读取 ITSUMO 网络 |
| --heightmap.shapefiles <FILE> | 从 ArcGIS shapefile 读取高度图 |
| --heightmap.geotiff <FILE> | 从 GeoTIFF 读取高度图 |
输出#
| 选项 | 描述 |
|---|---|
| --write-license <BOOL> | 将许可证信息包含到每个输出文件中;默认值: false |
| --write-metadata <BOOL> | 写入可解析的元数据(配置等)而不是注释;默认值: false |
| --output-prefix <STRING> | 应用于所有输出文件的前缀。特殊字符串 'TIME' 将被当前时间替换。 |
| --precision <INT> | 定义浮点输出的小数点后位数;默认值: 2 |
| --precision.geo <INT> | 定义经度、纬度输出的小数点后位数;默认值: 6 |
| --output.compression <STRING> | 定义标准压缩算法(目前仅用于 parquet 输出) |
| --output.format <STRING> | 定义如果无法从文件名推导时的标准输出格式('xml', 'csv', 'parquet');默认值: xml |
| --output.column-header <STRING> | 如何从属性名称派生列头('none', 'tag', 'auto', 'plain');默认值: tag |
| --output.column-separator <STRING> | CSV 输出中的分隔符;默认值: ; |
| -H <BOOL> --human-readable-time <BOOL> |
将时间值写为小时:分钟:秒或天:小时:分钟:秒,而不是秒;默认值: false |
| -o <FILE> --output-file <FILE> |
生成的网络将被写入 FILE |
| -p <FILE> --plain-output-prefix <FILE> |
用于写入简易 xml 节点、边和连接的文件前缀 |
| --plain-output.lanes <BOOL> | 写入所有车道及其属性,即使它们未被自定义;默认值: false |
| --junctions.join-output <FILE> | 将有关合并节点的信息写入 FILE(可以作为附加节点文件加载以重现合并) |
| --prefix <STRING> | 定义边和节点 ID 的前缀 |
| --prefix.junction <STRING> | 定义节点 ID 的前缀 |
| --prefix.edge <STRING> | 定义边 ID 的前缀 |
| --amitran-output <FILE> | 生成的网络将使用 Amitran 格式写入 FILE |
| --matsim-output <FILE> | 生成的网络将使用 MATSim 格式写入 FILE |
| --opendrive-output <FILE> | 生成的网络将使用 OpenDRIVE 格式写入 FILE |
| --dlr-navteq-output <FILE> | 生成的网络将使用给定的 PREFIX 写入 dlr-navteq 文件 |
| --dlr-navteq.version <STRING> | 要写入的 dlr-navteq 输出格式版本;默认值: 6.5 |
| --dlr-navteq.precision <INT> | 网络坐标以指定的输出精度级别写入;默认值: 2 |
| --output.street-names <BOOL> | 街道名称将包含在输出中(如果可用);默认值: false |
| --output.original-names <BOOL> | 如果给定,则将原始名称作为参数写入;默认值: false |
| --output.removed-nodes <BOOL> | 将使用 --geometry.remove 移除的节点 ID 写入边参数;默认值: false |
| --street-sign-output <FILE> | 将路标作为 POI 写入 FILE |
| --ptstop-output <FILE> | 将公共交通站点写入 FILE |
| --ptline-output <FILE> | 将公共交通线路写入 FILE |
| --ptline-clean-up <BOOL> | 清理未被任何线路服务的公共交通站点;默认值: false |
| --parking-output <FILE> | 将停车区域写入 FILE |
| --railway.topology.output <FILE> | 分析铁路网络的拓扑 |
| --polygon-output <FILE> | 写入嵌入在网络输入中且不受 polyconvert 支持的形状(OpenDRIVE) |
| --opendrive-output.straight-threshold <FLOAT> | 当直线段之间的角度变化超过 FLOAT 度时,构建参数化曲线;默认值: 1e-08 |
| --opendrive-output.lefthand-left <BOOL> | 在左侧通行网络中将车道写入左侧(正索引);默认值: false |
| --opendrive-output.shape-match-dist <FLOAT> | 将加载的形状匹配到 FLOAT 范围内最接近的边,并作为道路对象导出;默认值: -1 |
投影#
| 选项 | 描述 |
|---|---|
| --simple-projection <BOOL> | 使用简单方法进行投影;默认值: false |
| --proj.scale <FLOAT> | 输入坐标的缩放因子;默认值: 1 |
| --proj.rotate <FLOAT> | 输入坐标的旋转(顺时针度数);默认值: 0 |
| --proj.utm <BOOL> | 确定 UTM 区域(用于基于 WGS84 椭球的通用横轴墨卡托投影);默认值: false |
| --proj.dhdn <BOOL> | 确定 DHDN 区域(用于基于 Bessel 椭球的横轴墨卡托投影,"Gauss-Krueger");默认值: false |
| --proj <STRING> | 使用 STR 作为 proj.4 定义进行投影;默认值: ! |
| --proj.inverse <BOOL> | 反转投影;默认值: false |
| --proj.dhdnutm <BOOL> | 从 Gauss-Krueger 转换为 UTM;默认值: false |
| --proj.plain-geo <BOOL> | 在简易 xml 中写入地理坐标;默认值: false |
处理#
| 选项 | 描述 |
|---|---|
| --speed-in-kmh <BOOL> | vmax 被解析为以 km/h 为单位;默认值: false |
| --construction-date <STRING> | 使用 YYYY-MM-DD 日期来确定施工中功能的准备情况 |
| --flatten <BOOL> | 移除所有 z 数据;默认值: false |
| --plain.extend-edge-shape <BOOL> | 如果边形状未在节点位置结束,则扩展它们;默认值: false |
| --numerical-ids <BOOL> | 重新映射节点和边的字母数字 ID,以确保所有 ID 都是整数;默认值: false |
| --numerical-ids.node-start <INT> | 将节点 ID 重新映射为从 INT 开始的整数;默认值: 2147483647 |
| --numerical-ids.edge-start <INT> | 将边 ID 重新映射为从 INT 开始的整数;默认值: 2147483647 |
| --reserved-ids <FILE> | 确保生成的 ID 不包含来自 FILE 的任何类型化 ID(sumo-gui 选择文件格式) |
| --kept-ids <FILE> | 确保来自 FILE 的具有类型化 ID 的对象不会被重命名(sumo-gui 选择文件格式) |
| --dismiss-vclasses <BOOL> | 从导入的边中移除车辆类别限制;默认值: false |
| --geometry.split <BOOL> | 跨几何节点拆分边;默认值: false |
| -R <BOOL> --geometry.remove <BOOL> |
用几何点替换仅定义边几何的节点(连接边);默认值: false |
| --geometry.remove.keep-edges.explicit <STRING[ ]> | 确保给定的边列表不被修改 |
| --geometry.remove.keep-edges.input-file <FILE> | 确保 FILE 中的边不被修改(每行一个 ID。也支持来自 sumo-gui 的选择文件) |
| --geometry.remove.keep-ptstops <BOOL> | 确保带有公共交通站点的边不被修改;默认值: false |
| --geometry.remove.min-length <FLOAT> | 当长度低于 min-length 时,允许合并具有不同属性的边;默认值: 0 |
| --geometry.remove.width-tolerance <FLOAT> | 如果差异低于 FLOAT,允许合并具有不同车道宽度的边;默认值: 0 |
| --geometry.remove.max-junction-size <FLOAT> | 防止移除大小超过 FLOAT 的节点(由自定义边端点定义);默认值: -1 |
| --geometry.max-segment-length <FLOAT> | 分割几何以限制段长度;默认值: 0 |
| --geometry.min-dist <FLOAT> | 减少过于相似的几何点;默认值: -1 |
| --geometry.max-angle <FLOAT> | 当连续段的角度超过 DEGREES 时,警告边几何;默认值: 99 |
| --geometry.max-angle.fix <BOOL> | 拉直角度超过 max-angle 的连续段的边几何;默认值: false |
| --geometry.min-radius <FLOAT> | 当起点或终点的转弯半径小于 METERS 时,警告边几何;默认值: 9 |
| --geometry.min-radius.fix <BOOL> | 拉直边几何以避免转弯半径小于 geometry.min-radius;默认值: false |
| --geometry.min-radius.fix.railways <BOOL> | 拉直边几何以避免转弯半径小于 geometry.min-radius(仅限铁路);默认值: true |
| --geometry.junction-mismatch-threshold <FLOAT> | 如果节点形状距离原始节点位置太远,则警告;默认值: 20 |
| --geometry.check-overlap <FLOAT> | 如果边重叠超过给定的阈值,则警告;默认值: 0 |
| --geometry.check-overlap.vertical-threshold <FLOAT> | 如果边在垂直方向上被给定阈值分隔,则忽略重叠的边;默认值: 4 |
| --geometry.avoid-overlap <BOOL> | 修改边几何以避免在节点处重叠;默认值: true |
| --join-lanes <BOOL> | 连接具有相同权限且不允许变道的相邻车道(人行道和被禁止的车道);默认值: false |
| --ptline.match-dist <FLOAT> | 当距离低于给定距离时,将道路网络外的站点匹配到引用的公共交通线路;默认值: 100 |
| --ptstop-output.no-bidi <BOOL> | 跳过在加载站点的双向边上自动生成站点;默认值: false |
| --geometry.max-grade <FLOAT> | 当边几何的坡度百分比超过 FLOAT 时警告;默认值: 10 |
| --geometry.max-grade.fix <BOOL> | 平滑坡度超过警告阈值的边几何;默认值: true |
| --offset.disable-normalization <BOOL> | 关闭节点位置归一化;默认值: false |
| --offset.x <FLOAT> | 向网络 x 位置添加 FLOAT;默认值: 0 |
| --offset.y <FLOAT> | 向网络 y 位置添加 FLOAT;默认值: 0 |
| --offset.z <FLOAT> | 向网络 z 位置添加 FLOAT;默认值: 0 |
| --flip-y-axis <BOOL> | 沿零翻转 y 坐标;默认值: false |
| --roundabouts.guess <BOOL> | 启用环形交叉口猜测;默认值: true |
| --roundabouts.guess.max-length <FLOAT> | 周长大于 FLOAT 阈值的结构不被归类为环形交叉口;默认值: 3500 |
| --roundabouts.visibility-distance <FLOAT> | 接近环形交叉口时的默认能见度;默认值: 9 |
| --opposites.guess <BOOL> | 启用可用来超车的对向车道猜测;默认值: false |
| --opposites.guess.fix-lengths <BOOL> | 确保对向边具有相同的长度;默认值: true |
| --fringe.guess <BOOL> | 启用网络边缘节点猜测;默认值: false |
| --fringe.guess.speed-threshold <FLOAT> | 将速度高于给定速度的断开边猜测为外部边缘;默认值: 13.8889 |
| --lefthand <BOOL> | 假设网络上为左侧通行;默认值: false |
| --edges.join <BOOL> | 合并连接相同节点且彼此接近的边(推荐用于 VISSIM 导入);默认值: false |
| --speed.offset <FLOAT> | 通过添加 FLOAT 修改所有边速度;默认值: 0 |
| --speed.factor <FLOAT> | 通过乘以 FLOAT 修改所有边速度;默认值: 1 |
| --speed.minimum <FLOAT> | 将所有边速度修改为至少 FLOAT;默认值: 0 |
| --edges.join-tram-dist <FLOAT> | 将电车边连接到具有相似几何形状的道路车道中(在 FLOAT 距离内);默认值: -1 |
建筑默认值#
| 选项 | 描述 |
|---|---|
| -L <INT> --default.lanenumber <INT> |
边中的默认车道数;默认值: 1 |
| --default.lanewidth <FLOAT> | 车道的默认宽度;默认值: -1 |
| --default.spreadtype <STRING> | 从边形状计算车道形状的默认方法;默认值: right |
| -S <FLOAT> --default.speed <FLOAT> |
边上的默认速度(米/秒);默认值: 13.89 |
| --default.friction <FLOAT> | 边上的默认摩擦系数;默认值: 1 |
| -P <INT> --default.priority <INT> |
边的默认优先级;默认值: -1 |
| --default.type <STRING> | 默认边类型 |
| --default.sidewalk-width <FLOAT> | 添加的人行道的默认宽度;默认值: 2 |
| --default.bikelane-width <FLOAT> | 添加的自行车道的默认宽度;默认值: 1 |
| --default.crossing-width <FLOAT> | 行人过街处的默认宽度;默认值: 4 |
| --default.crossing-speed <FLOAT> | 行人过街处的默认速度 '限制'(米/秒);默认值: 2.78 |
| --default.walkingarea-speed <FLOAT> | 行人步行区的默认速度 '限制'(米/秒);默认值: 2.78 |
| --default.allow <STRING> | 允许的车辆类别的默认值 |
| --default.disallow <STRING> | 禁止的车辆类别的默认值 |
| --default.junctions.keep-clear <BOOL> | 节点是否应默认保持畅通;默认值: true |
| --default.junctions.radius <FLOAT> | 交叉口的默认转弯半径;默认值: 4 |
| --default.connection-length <FLOAT> | 覆盖连接长度时的默认长度;默认值: -1 |
| --default.connection.cont-pos <FLOAT> | 连接是否/在何处应有内部节点;默认值: -1 |
| --default.right-of-way <STRING> | 计算通行权规则的默认算法('default', 'edgePriority');默认值: default |
交通灯构建#
| 选项 | 描述 |
|---|---|
| --tls.discard-loaded <BOOL> | 不实例化从非简易 XML 格式加载的交通灯;默认值: false |
| --tls.discard-simple <BOOL> | 不实例化从非简易 XML 格式加载的几何类节点处的交通灯;默认值: false |
| --tls.set <STRING[ ]> | 将 STR[] 解释为要由 TLS 控制的节点列表 |
| --tls.unset <STRING[ ]> | 将 STR[] 解释为不由 TLS 控制的节点列表 |
| --tls.guess <BOOL> | 开启 TLS 猜测;默认值: false |
| --tls.guess.threshold <FLOAT> | 设置猜测 TLS 时所有入向车道速度总和的最小值;默认值: 69.4444 |
| --tls.taz-nodes <BOOL> | 将分区节点设置为受 TLS 控制;默认值: false |
| --tls.guess.joining <BOOL> | 将节点集群包含在猜测中;默认值: false |
| --tls.join <BOOL> | 尝试集群受 TLS 控制的节点;默认值: false |
| --tls.join-dist <FLOAT> | 确定合并交通灯的最大距离(默认为 20);默认值: 20 |
| --tls.join-exclude <STRING[ ]> | 将 STR[] 解释为要从合并中排除的 TLS ID 列表 |
| --tls.uncontrolled-within <BOOL> | 不控制完全位于合并交通灯内部的边。这可能导致碰撞,但允许使用旧的交通灯计划;默认值: false |
| --tls.ignore-internal-junction-jam <BOOL> | 不构建相互冲突的响应矩阵,可能忽略在阶段结束时卡在内部节点的车辆;默认值: false |
| --tls.guess-signals <BOOL> | 将交叉口周围的 TLS 节点解释为更大 TLS 的信号位置。这是 OSM 衍生网络的典型模式;默认值: false |
| --tls.guess-signals.dist <FLOAT> | 将节点解释为信号位置的距离;默认值: 25 |
| --tls.guess-signals.slack <INT> | 接受的未受控入口边数量,仍可将中心节点视为交通灯;默认值: 0 |
| --tls.cycle.time <INT> | 使用 INT 作为周期时长;默认值: 90 |
| --tls.green.time <INT> | 使用 INT 作为绿灯相位时长;默认值: 31 |
| -D <FLOAT> --tls.yellow.min-decel <FLOAT> |
定义最小车辆减速度;默认值: 3 |
| --tls.yellow.patch-small <BOOL> | 即使黄灯时间太短也进行修补;默认值: false |
| --tls.yellow.time <INT> | 将 INT 设置为黄灯相位时长的固定时间;默认值: -1 |
| --tls.red.time <INT> | 将 INT 设置为没有冲突流的交通灯的红灯相位固定时间;默认值: 5 |
| --tls.allred.time <INT> | 将 INT 设置为每次切换后的中间红灯相位的固定时间;默认值: 0 |
| --tls.minor-left.max-speed <FLOAT> | 使用 FLOAT 作为阈值,允许左转车辆与迎面而来的直行车辆在同一相位移动;默认值: 19.44 |
| --tls.left-green.time <INT> | 使用 INT 作为左转绿灯相位时长(秒)。将此值设置为 0 可禁用额外的左转相位;默认值: 6 |
| --tls.nema.vehExt <INT> | 将 INT 设置为每次切换后的中间 vehext 相位的固定时间;默认值: 2 |
| --tls.nema.yellow <INT> | 将 INT 设置为每次切换后的中间 NEMA 黄灯相位的固定时间;默认值: 3 |
| --tls.nema.red <INT> | 将 INT 设置为每次切换后的中间 NEMA 红灯相位的固定时间;默认值: 2 |
| --tls.crossing-min.time <INT> | 使用 INT 作为行人过街处的最小绿灯时长(秒);默认值: 4 |
| --tls.crossing-clearance.time <INT> | 使用 INT 作为行人过街处的清空时间(秒);默认值: 5 |
| --tls.scramble.time <INT> | 使用 INT 作为行人全向过街相位的绿灯时长(秒);默认值: 5 |
| --tls.half-offset <STRING[ ]> | STR[] 中的 TLS 将偏移半相位 |
| --tls.quarter-offset <STRING[ ]> | STR[] 中的 TLS 将偏移四分之一相位 |
| --tls.default-type <STRING> | 未指定类型的 TLS 将使用 STR 作为其算法;默认值: static |
| --tls.layout <STRING> | 设置相位布局,将相反方向分组或将所有移动分组到一个入向边 ['opposites', 'incoming'];默认值: opposites |
| --tls.no-mixed <BOOL> | 避免在同一车道的不同连接出现绿灯和红灯信号的相位;默认值: false |
| --tls.min-dur <INT> | 具有可变相位长度的交通灯的默认最小相位时长;默认值: 5 |
| --tls.max-dur <INT> | 具有可变相位长度的交通灯的默认最大相位时长;默认值: 50 |
| --tls.group-signals <BOOL> | 为共享相同状态的连接分配相同的 TLS 链路索引;默认值: false |
| --tls.ungroup-signals <BOOL> | 为每个连接分配不同的 TLS 链路索引;默认值: false |
| --tls.rebuild <BOOL> | 重建网络中的所有交通灯计划;默认值: false |
匝道猜测#
| 选项 | 描述 |
|---|---|
| --ramps.guess <BOOL> | 启用匝道猜测;默认值: false |
| --ramps.guess-acceleration-lanes <BOOL> | 猜测入口匝道并标记加速车道(如果存在),但不添加新车道;默认值: true |
| --ramps.max-ramp-speed <FLOAT> | 将速度 > FLOAT 的边视为非匝道;默认值: -1 |
| --ramps.min-highway-speed <FLOAT> | 将速度 < FLOAT 的边视为非高速公路;默认值: 21.9444 |
| --ramps.ramp-length <FLOAT> | 使用 FLOAT 作为匝道长度;默认值: 100 |
| --ramps.min-weave-length <FLOAT> | 使用 FLOAT 作为最小匝道长度;默认值: 50 |
| --ramps.set <STRING[ ]> | 尝试将给定的边作为匝道处理 |
| --ramps.unset <STRING[ ]> | 不将给定的边视为匝道 |
| --ramps.no-split <BOOL> | 避免边拆分;默认值: false |
边移除#
| 选项 | 描述 |
|---|---|
| --keep-edges.min-speed <FLOAT> | 仅保留速度(米/秒)> FLOAT 的边;默认值: -1 |
| --remove-edges.explicit <STRING[ ]> | 移除 STR[] 中的边 |
| --keep-edges.explicit <STRING[ ]> | 仅保留 STR[] 中的边,或由于其他 keep-edges 或 remove-edges 选项而保留的边 |
| --keep-edges.input-file <FILE> | 仅保留 FILE 中的边(每行一个 ID。也支持来自 sumo-gui 的选择文件),或由于其他 keep-edges 或 remove-edges 选项而保留的边 |
| --remove-edges.input-file <FILE> | 移除 FILE 中的边。(每行一个 ID。也支持来自 sumo-gui 的选择文件) |
| --keep-edges.postload <BOOL> | 在加载、修补和连接后移除边;默认值: false |
| --keep-edges.in-boundary <STRING[ ]> | 仅保留在给定边界内的边(以笛卡尔角坐标 |
| --keep-edges.in-geo-boundary <STRING[ ]> | 仅保留在给定边界内的边(以大地坐标角坐标 |
| --keep-edges.by-vclass <STRING[ ]> | 仅允许 STR[] 中的车辆类别的边 |
| --remove-edges.by-vclass <STRING[ ]> | 移除仅允许 STR[] 中车辆类别的边 |
| --keep-edges.by-type <STRING[ ]> | 仅保留类型在 STR[] 中的边 |
| --keep-edges.components <INT> | 仅保留 INT 个最大的弱连通分量;默认值: 0 |
| --remove-edges.by-type <STRING[ ]> | 移除类型在 STR[] 中的边 |
| --remove-edges.isolated <BOOL> | 移除孤立的边;默认值: false |
| --keep-lanes.min-width <FLOAT> | 仅保留宽度(米)> FLOAT 的车道;默认值: 0.01 |
未受管制的节点#
| 选项 | 描述 |
|---|---|
| --keep-nodes-unregulated <BOOL> | 所有节点都将不受管制;默认值: false |
| --keep-nodes-unregulated.explicit <STRING[ ]> | 不管制 STR[] 中的节点 |
| --keep-nodes-unregulated.district-nodes <BOOL> | 不管制分区节点;默认值: false |
节点#
| 选项 | 描述 |
|---|---|
| --junctions.right-before-left.speed-threshold <FLOAT> | 当入向边速度低于 FLOAT(米/秒)时,允许构建右转优先于左转的节点;默认值: 13.6111 |
| --junctions.left-before-right <BOOL> | 构建左转优先于右转的节点,而不是右转优先于左转的节点;默认值: false |
| --no-internal-links <BOOL> | 省略内部链路;默认值: false |
| --no-turnarounds <BOOL> | 禁用构建掉头;默认值: false |
| --no-turnarounds.tls <BOOL> | 禁用在受 TLS 控制的节点处构建掉头;默认值: false |
| --no-turnarounds.geometry <BOOL> | 禁用在几何类节点处构建掉头;默认值: true |
| --no-turnarounds.except-deadend <BOOL> | 禁用构建掉头,死节点除外;默认值: false |
| --no-turnarounds.except-turnlane <BOOL> | 禁用构建掉头,有专用转弯车道的节点除外;默认值: false |
| --no-turnarounds.fringe <BOOL> | 禁用在边缘节点处构建掉头;默认值: false |
| --no-left-connections <BOOL> | 禁用构建向左的连接;默认值: false |
| --junctions.join <BOOL> | 合并彼此接近的节点(推荐用于 OSM 导入);默认值: false |
| --junctions.join-dist <FLOAT> | 确定合并节点的最大距离(默认为 10);默认值: 10 |
| --junctions.join.parallel-threshold <FLOAT> | 合并节点时拒绝平行边的角度阈值(度);默认值: 30 |
| --junctions.join-exclude <STRING[ ]> | 将 STR[] 解释为要从合并中排除的节点列表 |
| --junctions.join-same <FLOAT> | 合并具有相似坐标但未连接的节点;默认值: -1 |
| --junctions.attach-removed <FLOAT> | 将节点附着到在 FLOAT 距离内最接近的边,该边在其参数 removedNodeIDs 中包含其 ID(用于合并网络);默认值: -1 |
| --max-join-ids <INT> | 如果节点或 TLS 合并了超过 INT 个节点,则缩写其 ID;默认值: 4 |
| --junctions.corner-detail <INT> | 生成 INT 个中间点以平滑交叉口拐角;默认值: 5 |
| --junctions.internal-link-detail <INT> | 生成 INT 个中间点以平滑交叉口内的车道;默认值: 5 |
| --junctions.scurve-stretch <FLOAT> | 生成更长的交叉口以允许在车道数变化时平滑的 S 形曲线;默认值: 0 |
| --junctions.join-turns <BOOL> | 为具有共同 from- 和 to- 边的转弯连接构建公共边。这会导致几何长度与分配长度之间存在差异(由于平均),但支持转弯时变道;默认值: false |
| --junctions.limit-turn-speed <FLOAT> | 将节点上的速度限制为最大平均横向加速度 FLOAT(米/秒^2);默认值: 5.5 |
| --junctions.limit-turn-speed.min-angle <FLOAT> | 对于角度变化低于 FLOAT(度)的情况,不限制转弯速度。在计算转弯半径之前,该值会从几何角度中减去;默认值: 15 |
| --junctions.limit-turn-speed.min-angle.railway <FLOAT> | 对于铁路上角度变化低于 FLOAT(度)的情况,不限制转弯速度。在计算转弯半径之前,该值会从几何角度中减去;默认值: 35 |
| --junctions.limit-turn-speed.warn.straight <FLOAT> | 当转弯速度限制将直行连接的速度降低超过 FLOAT 时警告;默认值: 5 |
| --junctions.limit-turn-speed.warn.turn <FLOAT> | 当转弯速度限制将转弯连接(非掉头)的速度降低超过 FLOAT 时警告;默认值: 22 |
| --junctions.small-radius <FLOAT> | 不需要宽车辆转弯的节点的默认半径;默认值: 1.5 |
| --junctions.higher-speed <BOOL> | 在节点上使用入向和出向边速度的最大值而不是平均值;默认值: false |
| --junctions.minimal-shape <BOOL> | 构建具有最小形状的节点(忽略边重叠);默认值: false |
| --junctions.endpoint-shape <BOOL> | 基于边端点构建节点形状(忽略边重叠);默认值: false |
| --internal-junctions.vehicle-width <FLOAT> | 用于计算内部节点位置的假定车辆宽度;默认值: 1.8 |
| --rectangular-lane-cut <BOOL> | 强制车道和交叉口之间的矩形切割;默认值: false |
| --check-lane-foes.roundabout <BOOL> | 允许驶入多车道道路,如果其他车道上有对向车辆(在环形交叉口);默认值: true |
| --check-lane-foes.all <BOOL> | 允许驶入多车道道路,如果其他车道上有对向车辆(任何地方);默认值: false |
行人#
| 选项 | 描述 |
|---|---|
| --sidewalks.guess <BOOL> | 基于边速度猜测人行道;默认值: false |
| --sidewalks.guess.max-speed <FLOAT> | 为速度等于或低于给定限制的边添加人行道;默认值: 13.89 |
| --sidewalks.guess.min-speed <FLOAT> | 为速度高于给定限制的边添加人行道;默认值: 5.8 |
| --sidewalks.guess.from-permissions <BOOL> | 为允许行人在其任何车道上通行的边添加人行道,无论速度如何;默认值: false |
| --sidewalks.guess.exclude <STRING[ ]> | 不为给定的边列表猜测人行道 |
| --crossings.guess <BOOL> | 基于人行道的存在猜测行人过街处;默认值: false |
| --crossings.guess.speed-threshold <FLOAT> | 在未受管制的节点处,不构建跨越速度高于阈值的边的过街处;默认值: 13.89 |
| --crossings.guess.roundabout-priority <BOOL> | 给予猜测的环形交叉口过街处优先权;默认值: true |
| --walkingareas <BOOL> | 即使没有过街处也始终构建步行区;默认值: false |
| --walkingareas.join-dist <FLOAT> | 如果人行道由在 FLOAT 范围内的行人节点连接,则不创建步行区;默认值: 15 |
自行车#
| 选项 | 描述 |
|---|---|
| --bikelanes.guess <BOOL> | 基于边速度猜测自行车道;默认值: false |
| --bikelanes.guess.max-speed <FLOAT> | 为速度等于或低于给定限制的边添加自行车道;默认值: 22.22 |
| --bikelanes.guess.min-speed <FLOAT> | 为速度高于给定限制的边添加自行车道;默认值: 5.8 |
| --bikelanes.guess.from-permissions <BOOL> | 为允许自行车在其任何车道上通行的边添加自行车道,无论速度如何;默认值: false |
| --bikelanes.guess.exclude <STRING[ ]> | 不为给定的边列表猜测自行车道 |
铁路#
| 选项 | 描述 |
|---|---|
| --railway.signals.discard <BOOL> | 丢弃从非简易 xml 格式加载的所有铁路信号信息;默认值: false |
| --railway.topology.repair <BOOL> | 修复铁路网络的拓扑;默认值: false |
| --railway.topology.repair.minimal <BOOL> | 仅修复铁路网络拓扑,足以让加载的公共交通线路工作;默认值: false |
| --railway.topology.repair.connect-straight <BOOL> | 允许在相反方向的轨道以直角相遇的地方进行双向铁路使用;默认值: false |
| --railway.topology.repair.stop-turn <BOOL> | 在所有加载的站点添加掉头连接;默认值: false |
| --railway.topology.repair.bidi-penalty <FLOAT> | 用于添加新的双向边以连接公共交通站点的惩罚因子;默认值: 1.2 |
| --railway.topology.all-bidi <BOOL> | 使所有轨道可在两个方向使用;默认值: false |
| --railway.topology.all-bidi.input-file <FILE> | 使来自 FILE 的所有轨道边 ID 可在两个方向使用 |
| --railway.topology.direction-priority <BOOL> | 基于估计的主要方向设置边优先级值;默认值: false |
| --railway.topology.extend-priority <BOOL> | 基于估计的主要方向扩展加载的边优先级值;默认值: false |
| --railway.geometry.straighten <BOOL> | 移动节点以拉直一系列轨道边;默认值: false |
| --railway.signal.guess.by-stops <BOOL> | 猜测守卫公共交通站点的信号;默认值: false |
| --railway.signal.permit-unsignalized <STRING[ ]> | 可以在没有铁路信号的情况下运行的铁路类别列表;默认值: tram,cable_car |
| --railway.access-distance <FLOAT> | 为铁路站点寻找合适道路通道的搜索半径;默认值: 150 |
| --railway.max-accesses <INT> | 每个铁路站点注册的最大道路通道数;默认值: 5 |
| --railway.access-factor <FLOAT> | 通道的行走长度计算为空中距离乘以 FLOAT;默认值: 1.5 |
格式#
| 选项 | 描述 |
|---|---|
| --discard-params <STRING[ ]> | 从所有参数中移除键列表 |
| --ignore-change-restrictions <STRING[ ]> | 可以忽略变道限制的车辆类别列表('all' 丢弃所有限制);默认值: authority |
| --ignore-widths <BOOL> | 是否应忽略车道宽度;默认值: false |
| --osm.skip-duplicates-check <BOOL> | 跳过对重复节点和边的检查;默认值: false |
| --osm.elevation <BOOL> | 导入高程数据;默认值: false |
| --osm.layer-elevation <FLOAT> | 基于图层数据重建(相对)高程。每个图层升高 FLOAT 米;默认值: 0 |
| --osm.layer-elevation.max-grade <FLOAT> | 基于图层数据重建高程时,50km/h 下的最大坡度阈值(百分比)。该值根据道路速度缩放;默认值: 10 |
| --osm.oneway-spread-right <BOOL> | 单行道是否应向侧面展开而不是居中;默认值: false |
| --osm.lane-access <BOOL> | 导入车道特定的访问限制;默认值: false |
| --osm.bike-access <BOOL> | 导入自行车道并修复自行车道的方向和权限;默认值: false |
| --osm.sidewalks <BOOL> | 导入人行道;默认值: false |
| --osm.oneway-reverse-sidewalk <BOOL> | 默认在单行道上构建两条人行道(可能影响分隔的道路);默认值: false |
| --osm.crossings <BOOL> | 导入过街处;默认值: false |
| --osm.turn-lanes <BOOL> | 从 OSM 导入转弯箭头以帮助连接构建;默认值: false |
| --osm.stop-output.length <FLOAT> | 公共交通站点的默认长度为 FLOAT 米;默认值: 25 |
| --osm.stop-output.length.bus <FLOAT> | 公交站点的默认长度为 FLOAT 米;默认值: 15 |
| --osm.stop-output.length.tram <FLOAT> | 电车站的默认长度为 FLOAT 米;默认值: 25 |
| --osm.stop-output.length.train <FLOAT> | 火车站的默认长度为 FLOAT 米;默认值: 200 |
| --osm.railsignals <STRING[ ]> | 指定导入铁路信号的自定义规则;默认值: DEFAULT |
| --osm.all-attributes <BOOL> | 是否应导入其他属性;默认值: false |
| --osm.extra-attributes <STRING[ ]> | 通过 osm.all-attributes 从 OSM 导入的其他属性列表(设置 'all' 以导入所有);默认值: all |
| --osm.speedlimit-none <FLOAT> | 当现实中没有实际速度限制时要设置的速度限制;默认值: 39.4444 |
| --osm.annotate-defaults <BOOL> | 边是否应携带有关使用类型映射默认值的信息;默认值: false |
| --matsim.keep-length <BOOL> | 保留 MATSim 文件中给出的边长度;默认值: false |
| --matsim.lanes-from-capacity <BOOL> | 车道数将根据通行能力计算;默认值: false |
| --shapefile.street-id <STRING> | 从列 STR 读取边 ID |
| --shapefile.from-id <STRING> | 从列 STR 读取起始节点 ID |
| --shapefile.to-id <STRING> | 从列 STR 读取终止节点 ID |
| --shapefile.type-id <STRING> | 从列 STR 读取类型 ID |
| --shapefile.laneNumber <STRING> | 从列 STR 读取车道数 |
| --shapefile.speed <STRING> | 从列 STR 读取速度 |
| --shapefile.length <STRING> | 从列 STR 读取自定义边长度 |
| --shapefile.width <STRING> | 从列 STR 读取总边宽度 |
| --shapefile.name <STRING> | 从列 STR 读取(非唯一)名称 |
| --shapefile.node-join-dist <FLOAT> | 用于确定不同形状是否连接的距离阈值(当 from-id 和 to-id 不可用时使用);默认值: 0 |
| --shapefile.add-params <STRING[ ]> | 将字段名称列表添加为边参数 |
| --shapefile.use-defaults-on-failure <BOOL> | 在出现问题时使用边类型默认值;默认值: false |
| --shapefile.all-bidirectional <BOOL> | 在两个方向插入边;默认值: false |
| --shapefile.guess-projection <BOOL> | 猜测正确的投影;默认值: false |
| --shapefile.traditional-axis-mapping <BOOL> | 使用传统轴顺序(lon, lat);默认值: false |
| --dlr-navteq.tolerant-permissions <BOOL> | 默认允许更多车辆类别;默认值: false |
| --dlr-navteq.keep-length <BOOL> | 保留 DLR Navteq 文件中给出的边长度;默认值: false |
| --vissim.join-distance <FLOAT> | 结构合并偏移量;默认值: 5 |
| --vissim.default-speed <FLOAT> | 使用 FLOAT 作为默认速度;默认值: 50 |
| --vissim.speed-norm <FLOAT> | 边速度的因子;默认值: 1 |
| --vissim.report-unset-speeds <BOOL> | 写入未明确设置速度的车道;默认值: false |
| --visum.language-file <FILE> | 从 FILE 加载语言映射 |
| --visum.use-type-priority <BOOL> | 使用来自类型的优先级;默认值: false |
| --visum.use-type-laneno <BOOL> | 使用来自类型的车道数;默认值: false |
| --visum.use-type-speed <BOOL> | 使用来自类型的速度;默认值: false |
| --visum.connector-speeds <FLOAT> | 设置连接器速度;默认值: 100 |
| --visum.connectors-lane-number <INT> | 设置连接器车道数;默认值: 3 |
| --visum.no-connectors <BOOL> | 排除连接器;默认值: true |
| --visum.recompute-lane-number <BOOL> | 根据边的通行能力计算车道数;默认值: false |
| --visum.verbose-warnings <BOOL> | 打印所有警告,其中一些是由于 VISUM 行为不当造成的;默认值: false |
| --visum.lanes-from-capacity.norm <FLOAT> | 流量到车道数的转换因子;默认值: 1800 |
| --opendrive.import-all-lanes <BOOL> | 导入所有车道类型;默认值: false |
| --opendrive.curve-resolution <FLOAT> | 导入曲线几何时作为线段的几何分辨率(米);默认值: 2 |
| --opendrive.advance-stopline <FLOAT> | 如果几何允许,允许停止线构建到交叉口起点之外;默认值: 0 |
| --opendrive.min-width <FLOAT> | 用于确定可变宽度车道起点或终点的最小车道宽度;默认值: 1.8 |
| --opendrive.internal-shapes <BOOL> | 导入内部车道形状;默认值: false |
| --opendrive.position-ids <BOOL> | 基于 road-id 和偏移量(米)设置边 ID(旧版);默认值: false |
| --opendrive.lane-shapes <BOOL> | 使用自定义车道形状来补偿丢弃的车道类型;默认值: false |
| --opendrive.signal-groups <BOOL> | 使用 OpenDRIVE 控制器信息生成信号程序;默认值: false |
| --opendrive.ignore-misplaced-signals <BOOL> | 忽略不控制任何行车道的交通信号;默认值: false |
报告#
| 选项 | 描述 |
|---|---|
| -v <BOOL> --verbose <BOOL> |
切换到详细输出;默认值: false |
| --print-options <BOOL> | 在处理前打印选项值;默认值: false |
| -? <BOOL> --help <BOOL> |
打印此屏幕或选定主题;默认值: false |
| -V <BOOL> --version <BOOL> |
打印当前版本;默认值: false |
| -X <STRING> --xml-validation <STRING> |
设置 XML 输入的模式验证方案("never", "local", "auto" 或 "always");默认值: local |
| --xml-validation.net <STRING> | 设置 SUMO 网络输入的模式验证方案("never", "local", "auto" 或 "always");默认值: never |
| -W <BOOL> --no-warnings <BOOL> |
禁用警告输出;默认值: false |
| --aggregate-warnings <INT> | 当同一类型的警告超过 INT 次时进行聚合;默认值: -1 |
| -l <FILE> --log <FILE> |
将所有消息写入 FILE(隐含 verbose) |
| --message-log <FILE> | 将所有非错误消息写入 FILE(隐含 verbose) |
| --error-log <FILE> | 将所有警告和错误写入 FILE |
| --log.timestamps <BOOL> | 在所有消息前写入时间戳;默认值: false |
| --log.processid <BOOL> | 在所有消息前写入进程 ID;默认值: false |
| --language <STRING> | 消息中使用的语言;默认值: C |
| --ignore-errors <BOOL> | 在输入损坏时继续;默认值: false |
| --ignore-errors.connections <BOOL> | 在连接无效时继续;默认值: false |
| --show-errors.connections-first-try <BOOL> | 在解析时显示连接错误;默认值: false |
| --ignore-errors.edge-type <BOOL> | 在未知边类型时继续;默认值: false |
随机数#
| 选项 | 描述 |
|---|---|
| --random <BOOL> | 用当前系统时间初始化随机数生成器;默认值: false |
| --seed <INT> | 用给定值初始化随机数生成器;默认值: 23423 |
左侧通行网络#
默认情况下,netconvert 假设网络遵循右侧通行规则。当为具有左侧通行的司法管辖区导入/构建网络时,必须设置选项 --lefthand。
请注意,如果组成双向道路的边是使用道路中心线作为几何定义的,这也会影响几何形状。在右侧通行网络中,车道形状将放置在中心线的右侧,而在左侧通行网络中,它们将放置在左侧。这意味着对于某些边,相同的输入几何形状可用于构建右侧和左侧通行网络。但是,如果边几何是使用方向性边的中心线定义的(属性 {{XML|1=spreadType="center"/>),则几何形状仅适用于特定类型的司法管辖区(具有错误 --lefthand 设置的网络看起来会很奇怪)。
导入期间的警告#
在网络构建过程中,可能会发出不同类型和严重程度的警告和错误。
| 消息 | 解释 | 推荐操作 |
|---|---|---|
| Error: Could not set connection ... | 无法应用连接定义,因为车道不存在或不共享公共节点 | 检查您的输入文件 |
| Warning: Removed a road without junctions ... | 孤立的道路已从网络中移除 | |
| Warning: Not joining junctions ... because the cluster is too complex | 选项 --junctions.join 的启发式方法无法处理复杂的节点 | 检查提到的节点并手动提供合并描述。 |
| Warning: Found angle of ... degrees | 边在某处有异常尖锐的转弯 | 检查提到的边是否正确。可以使用选项 --geometry.max-angle 抑制警告。 |
| Warning: Warning: Found sharp turn with radius ... | 边在进入或离开交叉口时有异常尖锐的转弯 | 检查提到的边是否正确。可以通过设置选项 --geometry.min-radius.fix 自动纠正问题。可以通过设置选项 --geometry.min-radius 抑制警告。 |
| Warning: Intersecting left turns at junction ... | 节点非常小,以至于来自相反方向的左转车辆相互阻碍 | 检查提到的节点形状是否正确。警告不严重,因为通行权模型将适应冲突。 |
| Warning: Lane '...' is not connected from any incoming edge at junction '...'. | 节点处的连接布局可疑 | 检查提到的节点的连接是否正确。 |
| Warning: Lane '...' is not connected to outgoing edges at junction '...'. | 节点处的连接布局可疑 | 检查提到的节点的连接是否正确。 |
| Warning: Edge / Connection '...' has a grade of ...%. | 边或连接几何中存在高程的急剧跳跃 | 检查 z 值是否正确 |
| Warning: Speed of ... connection '...' reduced by ... due to turning radius of ... (length=... angle=...) | 相对于道路速度存在异常尖锐的转弯 | 检查边速度限制和节点几何形状是否正确。可以通过设置更高的阈值来抑制警告:--junctions.limit-turn-speed.warn.turn <FLOAT>, --junctions.limit-turn-speed.warn.straight <FLOAT>。 |
| Warning: For node '...': could not compute shape. | 节点区域的形状无法计算 | 检查提到的节点,也许提供自定义节点形状。 |
| Warning: Junction shape for '...' has distance ... to its given position. | 节点区域的形状和位置可疑。 | 检查提到的节点,也许提供自定义节点形状。可以通过设置选项 --geometry.junction-mismatch-threshold 抑制警告。 |
| Warning: The traffic light '...' does not control any links; it will not be build. | 给定节点处的交通灯位于没有连接的节点处,或者该节点已被完全移除。 | 检查提到的节点是否仍然存在。通常可以忽略。 |
| Warning: Splitting vector close to end ... | 代码深处某个地方的几何计算可疑。通常与具有不良形状的交叉口的内部车道计算有关。 | 由于缺乏足够信息而忽略(或者尝试通过构建网络的较小部分来缩小问题范围)。 |
