基于GIS的Pathfinding

文章目录

前言

GIS的概念

地理信息系统(GIS)是可以对地表(包括大气层)有关地理分布数据进行采集、存储、管理、运算、分析、可视化的信息系统。


GIS的数据源

GIS中包括2种数据:栅格数据 and 矢量数据

  • 栅格数据。 典型的基于域的数据
  • 矢量数据。 基于对象的空间数据模型

数据源包括图形数据、遥感数据、测量数据(GPS等)、数字资料(统计数据、实验数据)、文字数据(调查报告)
基于GIS的Pathfinding


ArcGIS概述

本篇的重头是ArcGIS。其提供了ArcGIS Desktop,为用户提供数据制作、空间数据编辑、空间分析与建模等功能。主要由ArcMapArcCatalogArcToolboxArcGlobeArcSceneModel Builder等模块构成:

  • ArcMap:对数据进行编辑,即绘制地图、绘制各种路网及标记点、编辑要素字段。
  • ArcCatalog:相当于资源管理器,用于创建原始数据,诸如要素数据集、要素类(图层)、网络数据集等。可对数据进行增删改。

用ArcGIS构建地图

基本原理

基于ArcGIS创建的地图由边(edge)节点(junction)两个基本部分组成。边和节点拓扑相连创建路段,如下:
基于GIS的Pathfinding

创建网络有2种基本思路:

  • 用向导制定要素类参与到网络中
  • 先建一个空网络,再添加要素。

在ArcGIS中,道路可以分为一般道路特殊道路

  • 一般道路:直道或曲率小的道路,可直接用直线段绘制。由于GPS数据量庞大,采用过多的GPS数据会增加地图绘制工作量。因此在一般道路的绘制过程中,对GPS数据以距离d等间隔采样,通常令d=5~10m。一般道路的数据存储在ArcCatalog中,ArcGIS可以把采样点用直线段依次首尾顺序相连。同时,对十字路口、斑马线、红绿灯等特殊静态标志在ArcGIS中进行属性设置。一般道路绘制如下图
    基于GIS的Pathfinding
  • 特殊道路:弯曲程度比较大的路段,例如路口转弯或匝道等。ArcGIS不支持曲线绘制,所以需要用到外部创建的一个新的数据库——特殊道路数据库,用于存储特殊道路段的数据。特殊道路的绘制同样需要原始GPS数据,但是会以距离M等间隔采样,且有M<d。一般道路和特殊道路在地图中以特殊标志点驶入标志和驶出标志)区分。ArcGIS中特殊道路也用直线段链接,如下图:
    基于GIS的Pathfinding

ArcGIS中道路数据一般就由ArcCatalog数据库特殊道路数据库构成。

一般的路段都不是单车道,怎么标注呢? 假设当前车道信息存储在ID=0的车道中,则其他车道可以该车道为基准命名。如下图,其他车道ID在L轴正方向上依次递增,在L轴负方向上依次递减。同时将道路信息(限速、停止线、信号灯位置等道路属性)分别标注。
基于GIS的Pathfinding
梳理一下ArcGIS构建地图的流程:将GPS数据导入ArcGIS,根据道路弯曲程度将所有道路分为一般道路和特殊道路,分别进行路网绘制。创建ArcCatelog数据库和特殊道路数据库分别存储两类道路的几何信息。之后,对其他道路信息进行标注,例如车道ID、交通灯、人行道、关键静态障碍物。


具体实现步骤:

1. 原始GPS导入Excel

GPS信息如下:
基于GIS的Pathfinding
我们要从大量的GPS数据中心获取关键信息,并对数据间隔做规划。将GPS数据导入Excel:
基于GIS的Pathfinding
其中$GPFPD是差分gps公司提供的一种文本输出格式。$GTIMU是IMU数据

所谓关键信息,主要是提取与$GPFPD后面G栏和H栏的数据,分别是纬度和经度信息。提取完后将数据导出为.xls后缀文件。

2. 将Excel数据导入mxd文件

将上面处理的数据导入ArcGIS,步骤如下:图层->添加数据->选中test.mdb,单击“”添加“-> 选中excel文件,单击“添加”。
基于GIS的Pathfinding
基于GIS的Pathfinding
基于GIS的Pathfinding

3. 显示采集数据点

打开已经建好的test.mxd数据库文件,继续选中图层,右击,选择添加数据,找到已保存好的GPS数据的xls文件,选中后单击添加。其中X轴信息即经度,在xls文件的第8列,所以F8为经度、F7为纬度。
基于GIS的Pathfinding
选中sheet1,右击,选择显示XY数据,这样地图信息就会显示出来。
基于GIS的Pathfinding

4.绘制道路

选择“路要素”,右击,选择“编辑要素”->“开始编辑”
基于GIS的Pathfinding
选中操作界面右边道路后,开始从起点到终点画路径。每次只能画一条线,线段之间必须首尾相连。特殊路段尽量用线段近似拟合曲线。绘制过程中可以把GPS点隐藏。
基于GIS的Pathfinding

5.字段表编辑

选中元素类,右击选择打开属性表,出现以下界面
基于GIS的Pathfinding
在表中可以编辑各个属性,这些属性为决策规划层提供道路信息。图中的“111”代表主干道,“10”代表是辅道。

6.特殊路段特殊化处理

在从一般道路进入特殊道路时,需要在地图中做一个标记。例如下图,用标志点对特殊路段的起始位置进行标记。
基于GIS的Pathfinding
标记完以后,需要在属性列表中对标记属性进行编辑,定义标志位以指示属于哪个特殊路段。例如,可以设定尾号11作为转弯入口,尾号12位出口,14是终点信号。

点标记完后,需要截取特殊路段的入口和出口之间的GPS点,人工筛选后导出特殊道路数据。

7.重新构建网络数据表格

打开ArcCatalog,打开前面编辑的数据要素集,选中网络数据集,右击构建,就可以完成地图创建。

整个地图创建流程如下
基于GIS的Pathfinding

基于GIS的Pathfinding

坐标变换

ArcGIS支持两种网络分析:有向网络分析和无向网络分析。自动驾驶领域一般是采用有向网络。ArcGIS可以根据创建好的全局地图,以车辆当前位置为起点,目的地为终点,通过ArcGIS网络分析,在路网中获得最优的全局路径,包括边、节点经纬度坐标、车道编号等一系列道路属性,这些信息均来自先前创建的2个数据库。

ArcGIS网络分析输出的全局最优路径坐标点是在WGS84坐标系下。

WGS84坐标系:国际通用坐标系,坐标原点为地球质心,Z轴指向地球极方向,X轴指向零子午面和赤道的交点,Y轴与Z轴、X轴垂直构成右手坐标系。
基于GIS的Pathfinding

要将坐标点用于自动驾驶,需要将WGS84坐标转换到地理坐标系,然后转到全局坐标系

地理坐标系:本初子午线与赤道交点为原点,东方向为X轴,北方向为Y轴,天为Z轴。

WGS84坐标 —> 地理坐标系
基于GIS的Pathfinding
地理坐标系 —> 以地理坐标系中某一点为原点的“全局坐标系”:
基于GIS的Pathfinding

全局路径插值

由ArcGIS网络分析得到的最优路径是由地图的节点构成,间隔比较大,精度无法满足局部路径规划需求。所以实际还需要用三次样条曲线对全局路径点进行插值。


地图创建与全局规划仿真案例

首先,将高精电子地图(中国株洲市某道路地图)导入ArcGIS,建立路网结构。
基于GIS的Pathfinding
路网结构包括了坡道、若干车道。对他们分别建立相应地理属性,如道路类型、单向道路、道路长度等:
基于GIS的Pathfinding

  • 在构建好的全局地图中,设置一个起点和目的地,基于ArcGIS网络分析,可快速找到一条全局最短路径(见下图a)的粗线)。
  • b)c)d)是几段局部放大图,可以看到规划的细节。从规划结果可以看出,基于ArcGIS的全局路径规划考虑了创建地图的属性信息,如道路规定的行驶方向和路口。

基于GIS的Pathfinding

参考文献:
[1] 余伶俐等.《智能驾驶技术:路径规划与导航控制》

上一篇:arcgis融合多个polygon,形成一个单独的文件


下一篇:ArcGIS打断线&合并线