区域 (District)

districts2poly.py#

区域 (districts)转换为多边形,以便在 sumo-gui 中进行可视化。使用选项 --hue, --saturation, --brightness 可以控制颜色。这些选项中的每一个都支持 [0, 1] 范围内的值以及特殊值 random

python tools/districts2poly.py <net-file> <route-file>

Caution

目前仅支持使用属性 edges 的区域。

edgesInDistricts.py#

解析网络和多边形列表,并写入一个 taz 文件,其中包含位于相应多边形形状内的所有边。taz-shape-files 必须是 polyconvert 生成的格式。

python tools/edgesInDistricts.py -n <net-file> -t <taz-files>

调用选项 --help 获取更多详细信息。

Caution

提供的 taz 形状必须使用与网络文件相同的坐标投影。使用 polyconvert 导入形状时,确保这一点的最佳方法是设置选项 --net-file

filterDistricts.py#

使用网络文件和车辆类别过滤 taz(区域)文件,以便只有允许给定车辆类别的边才会包含在 taz 定义中。

python tools/district/filterDistricts.py -n <net-file> -t <taz-file> -o <output-file> --vclass passenger

调用选项 --help 获取更多详细信息。

generateBidiDistricts.py#

找到互为相反的边,并将它们放入一个共同的区域(TAZ)中。这可以与行程属性 fromTaz 和 toTaz结合使用,以改善路径规划。

python tools/generateBidiDistricts.py <net-file>

调用选项 --help 获取更多详细信息。

使用示例#

应用于典型的 OSM 网络时,一条边及其 ID 取反的边描述了同一条道路的相反方向边。生成的 bidi-taz 如下所示:

<taz id="-123" edges="-123 123"/>
<taz id="123" edges="-123 123"/>

通常使用属性 fromto<trip> 定义,改为使用属性 fromTaztoTaz

<trip id="someTrip" from="123" to="456" depart="0"/>
<trip id="someTripWithBidiTaz" fromTaz="123" toTaz="456"/>

第二个定义允许从边 123-123 出发,这是由于 taz 123 的定义方式。这可以防止生成的行程在起点和终点出现不必要的掉头,从而简化了从地理坐标映射创建的行程。

gridDistricts.py#

为给定的网络文件生成具有给定宽度(单位:米)的区域(TAZ)网格。

python tools/district/gridDistricts.py -n <net-file> -o <output-file> -w 300

stationDistricts.py#

基于附近的站点对公共交通网络进行分段。一个站点由所有具有相同 name 属性的停靠点(<busStop><trainStop>)定义。属于公共交通网络的每条边(针对可配置的 vClass 列表)都会被分配给最近的站点。然后,每个站点作为一个 <taz> 写入,并附带其分配的边。 默认情况下,只考虑允许车辆类别 railrail_urban 的边(可通过选项 --vclasses 设置)。 以下边被视为公共交通网络的一部分:

  • a) 有停靠点的边
  • b) 站点可配置半径范围内的边
  • c) 与 a) 或 b) 类别边相连的边

如果同一条边上有多个不同名称(站点)的停靠点,则可能出现以下行为:

  • 默认:该边属于多个站点(<taz>
  • 选项 --merge:站点被合并为一个联合站点,名称为 "<NAME1>|<NAME2>"
  • 选项 --split-output:写入一个包含拆分信息的补丁文件,允许对输入网络进行进一步处理。拆分网络并再次运行 stationDistricts.py 后,每个停靠点将拥有自己的边。

示例调用:

python tools/district/stationDistricts.py -n <net-file> -s <stop-file> -o <output-file>

tazRel2POI.py#

加载 TAZ(区域)文件以及 tazRelation 文件,并为每个 TAZ 生成一个 POI(../Simulation/Shapes.md)。POI 的大小用于指示传入/传出/所有 tazRelation 的汇总统计信息。

示例调用:

python tools/district/tazRel2POI.py --taz-file <taz-file> --taz-relation-file <taz-relation-file> -o <output-file>

更多选项

  • --size-metric: 选择由 POI 大小显示的值('in', 'out' 或 'all')。默认为 'all'
  • --attribute: 选择要可视化的 tazRelation 属性(默认 'count')

Note

默认情况下,统计信息直接用作 POI 直径(单位:米)。可以在 sumo-gui 设置中通过 poi exaggeration 调整视觉缩放比例。

Note

默认情况下,POI 不会在 netedit 数据模式(F4)中显示。如果需要与 tazRelations 一起显示,必须激活 netedit 数据模式可视化选项 show shapes (Alt+3)。