Main Content

使用 OpenStreetMap 数据构建道路

OpenStreetMap® 是一项免费的开源网络地图服务,使您能够访问众包地图数据。使用 RoadRunner,您可以从 OpenStreetMap 文件导入和预览地图数据并使用它来构建道路。

导入 OpenStreetMap 文件

要导入 OpenStreetMap 数据,您必须首先选择包含道路几何形状的 OpenStreetMap 文件。要获取这些文件,请访问 openstreetmap.org,指定地图位置,手动调整此位置周围的区域,并将该区域的道路几何形状导出到扩展名为 .osm 的 OpenStreetMap 文件。OpenStreetMap 仅导出整个长度在指定区域内的道路。在此示例中,您使用之前从网站导出的 OpenStreetMap 文件。

  1. 通过点击工具栏上的 SD Map Viewer Tool 按钮打开 SD Map Viewer Tool

    SD Map Viewer Tool Button

  2. 点击场景编辑画布左侧工具栏上的 Open OpenStreetMap File 按钮。

    Open OpenStreetMap File button

  3. 在打开 OpenStreetMap 文件对话框中,浏览到此文件,选择它,然后点击 Open

    RRInstallFolder/bin/platform/AssetsInstall/SampleFiles/city.osm

    • RRInstallFolder 是您的本地 RoadRunner 安装文件夹。

    • platform 是您的操作系统平台的文件夹名称。

    该文件是从 https://www.openstreetmap.org 下载的,它提供了对世界各地众包地图数据的访问。该数据根据开放数据共享开放数据库许可证 (ODbL) 获得许可,https://opendatacommons.org/licenses/odbl/

SD 地图查看器工具导入与您的工作区相交的 SD 地图数据,将数据转换为称为 SD 地图的预览,并在场景编辑画布中显示 SD 地图SD Map 显示道路数据的节点和链接。

SD Map of roads imported from OpenStreetMap file

注意

  • 当您将 OpenStreetMap 文件导入新场景时,SD Map Viewer Tool 会自动使用文件中指定的地理边界设置世界原点。然而,要将 OpenStreetMap 文件成功导入到已指定 World Origin 的现有场景中,文件中指定的地理边界必须与现有场景的 World Origin 值大致匹配。

  • OpenStreetMap 未指定交叉口信息。当一条道路与另一条道路相交时,SD Map Viewer Tool 会为交叉路口前后的每一段交叉道路生成单独的链接。这意味着当两条道路在公共点相交时,该工具会将每个链接拆分为两个链接,以方便创建交叉口。本质上,两条链路将被分成四个链路,并在交叉路口处有一个公共节点。因此,生成的链接数量与 OpenStreetMap 文件中指定的道路数量不匹配。

探索导入的数据

通过选择链接和节点来探索导入的数据。您可以在 Attributes 窗格中查看它们的属性。在 SD 地图场景编辑画布中选择的道路元素类型决定了可用属性。

Attributes pane

Simple Link

  • Id - 所选链接的唯一识别号。

  • LayerId - 所选链接的唯一层识别号。

  • Skip During Build - 指定在构建过程中是否添加或跳过此链接。如果选择此属性,SD Map 会将此链接表示为虚线,并且在构建过程中会忽略该链接。要在构建过程中包含链接并将其显示为实线,请清除此属性。

    如果清除 Skip During Build 属性,SD Map Viewer Tool 会导入实际链接并将其显示为实线。

    注意

    您可以点击并拖动以选择感兴趣的矩形区域内的多个链接。您还可以按住 Shift 并点击其他链接以将其添加到选择中。您可以在 Attributes 窗格中集体控制所有选定链接的 Skip During Build 属性。

  • Road Width (in meters) - 与所选链接对应的道路宽度。由于 OpenStreetMap 没有指定车道或道路的宽度,因此 SD Map Viewer Tool 将默认车道宽度设置为 3.5 米。道路宽度是道路内车道宽度与车道数量的乘积。

  • Number of Lanes - 所选路段对应道路的 ForwardBackward 车道数。如果输入文件未指定道路的车道数,SD Map Viewer Tool 会为每个行驶方向估算一条车道。默认情况下,单向道路有一条车道,双向道路总共有两条车道,每个行驶方向各一条。

  • Travel Direction - 与所选链接对应道路的行驶方向,指定为 ForwardBackwardBidirectional。如果输入文件未指定道路的 oneway 标签,则 SD Map Viewer Tool 会假定该道路是双向的。

每个链接都有几个控制点,每个 Control Point 包含一个 Position 属性,指定其(XYZ)位置。

Simple Node

  • Id- 所选节点的唯一标识号。

  • Connecting Links- 显示连接到所选节点的所有链接。每个连接的链接都标有其关联的 ID 和方向。

构建道路

您可以使用这些过程之一为导入的数据构建道路。

  • 所有数据 - 构建所有导入的数据。

  • 选择链接 - 点击并拖动以选择感兴趣的矩形区域内的链接。

您还可以删除选定的链接以避免构建它们。

对于本示例,请勿选择任何链接。点击场景编辑画布左侧工具栏上的 Build Roads 按钮,打开 SD Map Builder 对话框。

Build Roads Button

SD Map Builder dialog box

在 SD Map Builder 对话框中,您可以查看和修改以下选项:

选项描述
Preserve Heights

OpenStreetMap 文件不包含道路高程信息。默认情况下,此选项不适用。

依赖项

  • 仅当启用 Elevate Roads by Layer 选项且导入的 OpenStreetMap 文件包含图层 ID 信息时,此选项才适用。

Clear Scene of Existing Data

默认情况下,当您使用 SD Map Viewer Tool 构建场景时,它会从场景中移除已建好的道路。要保留场景中的现有道路,请清除此选项。

Driving Side

默认情况下,SD Map Viewer Tool 将道路左侧视为行驶的前进方向。要将道路右侧视为前进行驶方向,请从下拉列表中选择 Right

Enable Overlap Groups

Enable Overlap Groups - 默认情况下,SD Map Viewer Tool 不会在道路重叠处创建自动交叉口。为了创建交叉口,该工具使用导入的 SD 地图数据中指定的显式交叉口信息。要在几何重叠处创建自动交叉口,请清除此选项。有关重叠组的更多信息,请参阅 防止在道路之间创建自动交叉口

当您选择 Enable Overlap Groups 属性时,该工具默认将 Overlap Group Name 属性设置为 SceneBuild。当您在现有场景上构建 SD 地图数据时,可以使用 Overlap Group Name 属性来控制自动交叉口创建的行为。例如,如果现有场景中的道路的 Overlap Group 属性值为 TransferImport,并且您不想在它们与 SD 地图数据指定的道路之间的几何重叠处创建自动交叉口,则必须将 Overlap Group Name 属性设置为 TransferImport。否则,该工具会在现有场景的道路与导入的 SD 地图数据指定的道路之间的几何重叠处创建自动交叉口。

Elevate Roads by Layer

OpenStreetMap 文件不包含道路高程信息,导入的文件可能包含重叠道路。要使用图层信息提升桥梁,请启用此选项。为了获得更好的高架桥建造效果,请同时启用 Preserve HeightsAuto Detect Bridges 选项。

依赖项

  • 要访问此选项,您必须拥有 RoadRunner Scene Builder 许可证。

  • 为了使 SD Map Builder 抬高道路,导入的 OpenStreetMap 文件必须包含图层信息。

Create Turn Lanes

转弯车道以双向方式指示道路的前进或后退方向。默认情况下,导入的道路不包含转弯车道标记。要使用转弯车道信息包含转弯车道标记,请启用此选项。

依赖项

  • 要访问此选项,您必须拥有 RoadRunner Scene Builder 许可证。

  • 为了使 RoadRunner 在其构建结果中包含转弯车道标记,导入的 OpenStreetMap 文件必须包含转弯车道信息。

Auto Detect Bridges

如果选择此选项,SD Map Viewer Tool 会在道路高程不同时在道路交叉路口创建桥梁。默认情况下,该工具会将交叉路口两侧的桥梁延伸 20 米。您可以通过改变 Bridge Span Inflation 值来改变扩展的长度。要防止该工具创建桥接,请清除此选项。欲了解更多信息,请参阅道路构造工具

依赖项

仅当启用 Elevate Roads by Layer 选项且导入的 OpenStreetMap 文件包含图层信息时,此选项才适用。

Build Info

显示所有导入数据以及场景中选定的道路子集中的路段长度和路段数量。

要构建场景中的所有道路,请点击 Build All。如果您只想构建场景中道路的子集,请选择想要包含在场景中的链接,然后点击 Build Selected

对于本示例,使用默认选项构建场景。

Built roads with Elevate Roads by Layer and Create Turn Lanes options disabled for OpenStreetMap

您还可以通过启用 Elevate Roads by LayerCreate Turn Lanes 选项来修建道路。请注意,city.osm 文件包含图层和转弯车道信息。

注意

要访问 Elevate Roads by LayerCreate Turn Lanes 选项,您必须拥有 RoadRunner Scene Builder 许可证。

您可以在构建的场景中可视化道路和交叉口处的高架桥和立交桥以及转弯车道标记。

Built roads with Elevate Roads by Layer and Create Turn Lanes options enabled for OpenStreetMap

修建道路后,您可以在 RoadRunner 中修改场景。您还可以将场景导出到 ASAM OpenDRIVE® 文件。有关详细信息,请参阅导出到 ASAM OpenDRIVE

如果 RoadRunner 在修建道路时检测到车道标记重叠,则可能会在 SD Map Builder 结果对话框中显示此消息:

>警告:检测到车道标记重叠。调整这些位置的道路中心

要解决此问题,请打开道路规划工具,点击导航至重叠位置,然后调整道路中心。

解决导入和构建问题

根据您构建地图数据的区域,您可能会在 SD Map Viewer Tool 导入数据和构建道路时遇到问题。请按照以下步骤修复这些已知问题。

间隙

问题解决方案

已建成的道路在交叉路口的道路之间存在间隙。

Zenrin gap issue

打开自定义交叉口工具,导航到受影响的交叉口,并在 Attributes 窗格中增加射线 Distance。Ray 是选择 自定义交叉口工具 时显示的红线。它用于调整交叉口边界。

After adjusting ray distances

陡峭的道路网格

问题解决方案

已建成的道路在交叉口处的道路网格中存在陡峭的上升或下降。

Steep road issue Zenrin

打开拐角工具,导航到受影响的交叉口,并缩小 Attributes 窗格中的 Corner Radius

After adjusting corner radius

地形下的道路

问题解决方案

构建的场景包含地形下的道路。

Roads under landscape, terrain issue

打开 路面工具,导航到受影响的位置,并手动调整地形。​

After adjusting terrain

限制

  • RoadRunner 不支持从 openstreetmap.org 直接导入实时地图数据。

  • 由于 OpenStreetMap 数据不包含道路的高程信息,因此 RoadRunner 将横跨道路的桥梁或立交桥构建为相交道路。

  • 已建道路的一些问题可能是由于 OpenStreetMap 服务中地图数据缺失或不准确造成的。要检查数据是否由于地图服务而丢失或不准确,请在外部地图查看器上查看地图数据。

另请参阅

| | |

相关主题

外部网站