polyconvert

概述#

polyconvert 用于从不同来源导入几何 图形(多边形或兴趣点),并将其转换为可使用 sumo-guinetedit 进行可视化的表示形式。

  • 目的: 多边形和 POI 的导入、转换和投影
  • 系统: 可移植(已在 Linux/Windows 上测试);在命令行运行
  • 输入(必需): 多边形或 POI
  • 输出: SUMO 图形文件
  • 编程语言: C++

功能#

  • 导入 OSM、VISUM、dlr-navteq、XML、ArcView shape 文件
  • 按类型设置导入参数
  • 使用给定的 proj.4 定义或通过匹配的网络进行投影
  • 写入可在 sumo-guisumo 中使用的模拟图形文件

使用说明#

polyconvert 能够从不同的文件类型导入图形。通常,为了导入特定类型的数据,使用类型名称作为选项名称,值表示文件的位置。例如:

polyconvert --visum mynet.net -o converted.poi.xml

从 VISUM 网络文件导入。

此外,如果您已经投影了 SHP 文件,可以直接将选项 shapefile.traditional-axis-mappingproj-utm 设置为 true,以避免在 Polyconvert 中再次投影多边形。

选项#

您可以使用 XML 模式定义文件来设置 polyconvert 配置: polyconvertConfiguration.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

输入#

polyconvert 能够根据导入图形的“类型”应用不同的属性。并非所有导入格式都包含类型信息。例如,使用 shape 文件时,通常一种要素类型的所有实例都存储在一个特定的 shape 文件中。导入 shape 文件时,polyconvert 支持虚拟文件系统。因此,如果您的图形在 myshapes.zip 中,且主文件名为 arcview.shp,您可以通过 polyconvert --shapefile /vsizip/myshapes.zip/arcview 导入它们(--shapefile--shapefile-prefixes 的别名)。

选项 描述
-n <FILE>
--net-file <FILE>
加载 SUMO 网络文件作为偏移量和投影的参考
--dlr-navteq-poly-files <FILE> 从 FILE 读取多边形,假设其编码为 DLR-Navteq (Elmar) 格式
--dlr-navteq-poi-files <FILE> 从 FILE 读取 POI,假设其编码为 DLR-Navteq (Elmar) 格式
--visum-files <FILE> 从 FILE 读取多边形,假设其为 Visum 网络
--visum.language-file <FILE> 从 FILE 加载语言映射
--xml-files <FILE> 从 FILE 读取 POI 和形状,假设其编码为 XML
--osm-files <FILE> 从 FILE 读取 POI,假设其编码为 OSM
--osm.keep-full-type <BOOL> 类型将由键值对组成;默认值: false
--osm.use-name <BOOL> ID 将由给定的 'name' 属性设置;默认值: false
--osm.merge-relations <FLOAT> 如果 FLOAT >= 0,则从关系的所有方式组装一个多边形,前提是它们之间的间隙都低于 FLOAT;默认值: -1
--geojson-files <FILE> 从 geojson FILE 读取形状
--shapefile-prefixes <FILE> 从 shapefiles FILE 读取形状
--shapefile.guess-projection <BOOL> 猜测 shapefile 的投影;默认值: false
--shapefile.traditional-axis-mapping <BOOL> 使用传统轴顺序(lon, lat);默认值: false
--shapefile.id-column <STRING> 定义 ID 所在的列
--shapefile.type-columns <STRING[ ]> 定义哪些列构成类型 ID(逗号分隔列表)
--shapefile.use-running-id <BOOL> 使用流水号作为 ID;默认值: false
--shapefile.add-param <BOOL> 将所有附加列提取为参数;默认值: false
--shapefile.fill <STRING> [auto,true,false]。强制 'fill' 状态为给定值。默认 'auto' 尝试从数据类型确定
--type-file <FILE> 从 FILE 读取类型

输出#

所有未被丢弃的导入形状都将写入必须使用 --output <FILE> 定义的文件中。

选项 描述
--write-license <BOOL> 将许可信息包含在每个输出文件中;默认值: false
--write-metadata <BOOL> 写入可解析的元数据(配置等)而不是注释;默认值: false
--output-prefix <STRING> 应用于所有输出文件的前缀。特殊字符串 'TIME' 将被当前时间替换。
--precision <INT> 定义浮点数输出的小数点后位数;默认值: 2
--precision.geo <INT> 定义 lon, lat 输出的小数点后位数;默认值: 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>
将时间值写为 hour:minute:second 或 day:hour:minute:second,而不是秒;默认值: false
-o <FILE>
--output-file <FILE>
将生成的多边形/POI 写入 FILE
--dlr-tdp-output <FILE> 将生成的多边形/POI 写入具有给定前缀的 dlr-tdp 文件

投影#

polyconvert 的主要用途之一是对读取的形状应用投影。通常,我们希望形状与先前导入的道路网络对齐。在这种情况下,应使用 --net-file <FILE> 指定网络。但也可以使用不同的投影。

选项 描述
--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> 在输出中写入地理坐标;默认值: false

修剪#

有时,形状覆盖的区域比网络大得多。为了减少数据量,可以强制 polyconvert 在网络边界或给定边界上修剪导入的数据。完全位于此边界之外的读取形状在这些情况下将被丢弃。

选项 描述
--prune.in-net <BOOL> 启用网络边界修剪;默认值: false
--prune.in-net.offsets <STRING> 使用 FLOAT,FLOAT,FLOAT,FLOAT 作为添加到网络边界的偏移量定义。正值在所有方向上增大边界,而负值则缩小边界;默认值: 0,0,0,0
--prune.boundary <STRING> 使用 STR 作为修剪边界
--prune.keep-list <STRING> STR 中的项目将被保留,即使位于边界之外
--prune.explicit <STRING[ ]> 将删除 STR[] 中具有名称的项目

处理#

选项 描述
--offset.x <FLOAT> 将 FLOAT 添加到网络 x 位置;默认值: 0
--offset.y <FLOAT> 将 FLOAT 添加到网络 y 位置;默认值: 0
--offset.z <FLOAT> 将 FLOAT 添加到网络 z 位置;默认值: 0
--all-attributes <BOOL> 导入所有属性作为键/值对;默认值: false
--ignore-errors <BOOL> 在输入损坏时继续;默认值: false
--poi-layer-offset <FLOAT> 将 FLOAT 添加到每个 POI 的层值(即将其提升到多边形之上);默认值: 0
--flatten <BOOL> 移除所有 z 数据;默认值: false

建筑默认值#

当导入未提供类型相关属性的形状时,将使用以下默认值,这些值可以在命令行上更改。

选项 描述
--color <STRING> 将 STR 设置为默认颜色;默认值: 0.2,0.5,1.
--prefix <STRING> 将 STR 设置为默认前缀
--type <STRING> 将 STR 设置为默认类型;默认值: unknown
--fill <BOOL> 默认填充多边形;默认值: true
--icon <STRING> 将 STR 设置为默认图标
--layer <FLOAT> 将 FLOAT 设置为默认层;默认值: -1
--discard <BOOL> 将默认操作设置为丢弃;默认值: false

报告#

SUMO 套件的所有应用程序都以相同的方式处理大多数报告选项。这些选项在 Basics/Using the Command Line Applications#Reporting Options 中讨论。

选项 描述
-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(意味着详细模式)
--message-log <FILE> 将所有非错误消息写入 FILE(意味着详细模式)
--error-log <FILE> 将所有警告和错误写入 FILE
--log.timestamps <BOOL> 在所有消息前写入时间戳;默认值: false
--log.processid <BOOL> 在所有消息前写入进程 ID;默认值: false
--language <STRING> 消息中使用的语言;默认值: C

另请参阅#