基于ArcGIS 的GPS数据地图匹配

GPS数据由于信号不良、通信异常、定位误差等原因,不能很好地落在道路上,所以需要对GPS数据进行地图匹配,与道路进行关联。而空间数据由于其特殊的数据格式,最佳的处理途径仍旧是ArcGIS Desktop系列软件。

一、路网数据检查

根据实验的需要提取出路网数据,对路网进行拓扑检查,包括不能有重叠、不能有悬挂点等,对拓扑错误进行修改;同时,需要进行“在折点处打断”操作,形成正确可用的路网数据。

二、GPS数据检查

GPS数据预处理是GPS数据使用的第一步,详见博客。

三、地图匹配

1、GPS数据提取

现有的GPS数据由城市中运行的出租车生成,在将GPS点匹配到路网数据之前,需要考虑数据更新问题:城市每天都在变化,路网每天都在更改,GPS数据中也许蕴含着一些现有路网中不存在的道路,所以也就引出了”基于GPS数据的道路更新”1的课题。由于本次实验重点讨论现有路网,所以,首先要将与现有道路相关联的GPS数据提取出来。

#coding:utf-8

import arcpy
from arcpy import env
env.workspace = r‘F:\GraduateStudy\Graduate\Data\Scratch.gdb‘

#做缓冲区
print ‘Buffer‘
buffer = arcpy.Buffer_analysis(‘Road‘, ‘#‘, ‘20 Meters‘, ‘FULL‘, ‘ROUND‘, ‘ALL‘, ‘#‘, ‘PLANAR‘)
buffer = buffer.getOutput(0)#buffer的路径
buffer_Name = buffer.split(‘\\‘)[-1]

#缓冲区与GPS数据相交
print ‘Intersect‘
GPS_Intersect = arcpy.Intersect_analysis(‘GPS20121114 #;‘+ buffer_Name + ‘ #‘,‘#‘, ‘ALL‘, ‘#‘, ‘INPUT‘)
GPS_Intersect = GPS_Intersect.getOutput(0)#相交后GPS数据的路径
GPS_Intersect_Name = GPS_Intersect.split(‘\\‘)[-1]

对道路做buffer缓冲区分析,同时将得到的缓冲区融合(不然会有重复的部分,使得切割GPS点的时候有重合)。依据实验中GPS点的精度,对路网做20米的缓冲区。

将GPS点与Buffer相交,得到现有路网范围内的GPS数据。

2、匹配度指标选取

匹配度指标的选取是地图匹配中最重要的一环,也直接决定着匹配效果。一般来说,点和线的匹配,需要考虑距离和方向两个因素。距离因素的考虑自不用说,在一定距离范围内,有多条可能路段的前提下,就需要考虑哪一条路段与GPS点方向最为接近。匹配度的计算公式为:

在ArcGIS中可以用“近邻分析”计算GPS点与各候选路段的距离;以正北为0°,顺时针旋转,统一构建角度度量,计算GPS点方向与各候选路段之间的夹角;最终计算得到匹配度。

3、使用更新几何的方法,将GPS点移动到道路上。

#GPS数据,对Road路网,做近邻分析
arcpy.Near_analysis(GPS_Intersect_Name, Road_Name, ‘#‘, ‘LOCATION‘, ‘NO_ANGLE‘, ‘PLANAR‘)
Field_X = ‘NEAR_X‘
Field_Y = ‘NEAR_Y‘

#对每一条GPS数据提取地图匹配后的位置
dic = {}
cursor = arcpy.da.SearchCursor(GPS_Intersect_Name, [‘OBJECTID‘,‘NEAR_X‘,‘NEAR_Y‘])
for row in cursor:
    dic[row[0]] = [row[1],row[2]]
del cursor
del row

#更新几何
cursor = arcpy.da.UpdateCursor(GPS_Intersect_Name,[‘OBJECTID‘, ‘[email protected]‘])
for row in cursor:
    row[1] = dic[row[0]]
    cursor.updateRow(row)
del cursor
del row

写在最后

地图匹配算法的研究已经不是一个新问题,大量学者对地图匹配算法进行了改进2,本文仅仅是其中最简单的几何匹配,而且在实际应用中,考虑到数据的不一致性、地图匹配的目的等具体问题,每个人的方法均不相同。希望本文的方法能有所帮助,欢迎多多交流指教。

(By MrHammer 2016-05-08 下午3点 @Bin House Rainy)


  1. http://www.cnki.net/KCMS/detail/detail.aspx?QueryID=1&CurRec=6&recid=&filename=1014356141.nh&dbname=CMFD201501&dbcode=CMFD&pr=&urlid=&yx=&v=MDg5NDIyNkdyQzlHTkRJcnBFYlBJUjhlWDFMdXhZUzdEaDFUM3FUcldNMUZyQ1VSTHlmWXVabkZ5M25VYnpCVkY= ?
  2. http://www.cnki.net/KCMS/detail/detail.aspx?QueryID=1&CurRec=1&recid=&filename=CHXB201201026&dbname=CJFD2012&dbcode=CJFQ&pr=&urlid=&yx=&v=MjYxNTR6Z1U3ek9KaVhUYkxHNEg5UE1ybzlIWW9SOGVYMUx1eFlTN0RoMVQzcVRyV00xRnJDVVJMeWZZdVpuRnk= ?
时间: 2024-11-02 23:26:46

基于ArcGIS 的GPS数据地图匹配的相关文章

使用Socket通信实现Silverlight客户端实时数据的获取(模拟GPS数据,地图实时位置)

原文:使用Socket通信实现Silverlight客户端实时数据的获取(模拟GPS数据,地图实时位置) 在上一篇中说到了Silverlight下的Socket通信,在最后的时候说到本篇将会结合地图.下面就来看看本文实现的功能: Silverlight 与服务器利用Socket通讯,实时从服务器获取数据(本文中的数据是地理坐标),由于没有GPS,所以本文在服务器写了一个构造新坐标的函数(本文是一个三角函数),然后利用Timer组件,实时调用,得到新的坐标,并将新的坐标发送给客户端,客户端接收到发

基于Arcgis for Js的web GIS数据在线采集简介

在前一篇博文"Arcgis for js之WKT和geometry转换"中实现了wkt和geometry之间的相互转化,博文原文地址为:http://blog.csdn.net/gisshixisheng/article/details/44057453.在本节,接上文,简单讲述基于Arcgis for Js的web GIS数据在线采集. 实现数据的在线采集,最主要的是数据的存储,即将采集到的数据的geometry对象保存下来,并后续可以转换为shp数据.在本文,我的处理方式为将前段绘

地图匹配实践

http://www.cnblogs.com/LBSer/p/4612031.html 1 背景 如下图所示,1.2.3这三个点是汽车的GPS定位结果,尽管汽车是在道路上,但定位结果与道路存在偏差.地图匹配(Map Matching)是指将行车轨迹的经纬度采样序列与数字地图路网匹配的过程,其本质上是平面线段序列的模式匹配问题( Alt等,2003). 在实际应用中,GPS采样信号的质量会严重影响地图匹配结果:采样频率的降低.定位误差的加大.信号的丢失,都会使匹配的不准确性增加.这些情况在实际应用

ArcGIS Server 关于切片地图服务

1 什么是切片地图服务? 切片地图服务又叫缓存地图服务,地图缓存使地图和图像服务更快运行的一种非常有效的方法.创建地图缓存时,服务器会在若干个不同的比例级别上绘制整个地图并存储地图图像的副本.然后,服务器可在某人请求使用地图时分发这些图像,对于服务器来说,每次请求使用地图时,返回缓存的图像 要不绘制地图快得多. 注:此图片的意思是,将同一幅地图安装不同比例进行切片,得到相应的地图切片. 2 切片地图服务的优点和缺点 优点 由于切片地图服务中的图片不需要服务器实时生成,本身存放在服务器的硬盘上,所

基于ArcGIS API for WPF路径分析源码实例

说明: 本实例主要演示网络分析数据集制作,服务发布,最后基于ArcGIS API for WPF做路径分析. 本实例参考ArcGIS官方文档,想了解GIS网络分析可查阅官方文档. 本实例数据为西藏道路数据,若无数据可新建简单的线要素. 本实例使用软件及版本:ArcGIS10.2,ArcGIS APIfor WPF24,VS2010. 最后为了增加效果叠加局部离线卫星地图,需要安装水经注万能地图下载器(相当方便的卫星地图下载器),如果没有安装本软件,可以百度"水经注软件"到官方网站下载.

中科燕园GIS外包-----基于ArcGIS的应急平台

1. 国家应急平台体系 <“十一五”期间国家突发公共事件应急体系建设规划>(国办发[2006]106号)明确提出“十一五”期间建设“以国务院应急平台为中心,以省级和部门应急平台为枢纽,上下贯通.左右衔接.互联互通.信息共享.互有侧重.互为支撑.安全畅通的国家应急平台体系”. 2006年,国家启动了“十一五”科技支撑计划“国家应急平台体系关键技术研发与应用示范”(2006-2008).为国家应急平台体系提供了设计方案.标准规范.软件系统和数据库等关键技术支撑,以及12个部门应急平台和10个省级应

ArcGIS——图层与数据

该文章翻译至ArcGIS官网教程Layers and data,采用了Google翻译辅助,对不恰当的名称和语句做了修改.有能力的建议直接阅读英文原版. 1. 介绍 图层是可以在Map对象中使用的数据集合.可以在客户端上创建图层数据,由ArcGIS Online和ArcGIS Enterprise托管,或由外部服务器托管. 2. 数据--要素的集合 图层通常用于管理和显示大量要素.要素是地理位置或实体的记录.每个要素都包含为几何图形(点,折线或多边形)定义的空间坐标和存储其他信息的属性字段.这些

GPS数据解析

1.摘要 GPS模块使用串口通信,那么它的的数据处理本质上还是串口通信处理,只是GPS模块的输出的有其特定的格式,需要字符串处理逻辑来解析其含义.如何高效的处理从GPS模块接收到的数据帧,是GPS驱动设计的重点,本文使用状态机的思想来处理GPS输出的串口数据流,相对于定时从串口环形bufer取数据包然后依次解析有更高的实时性并且单片机负荷更低. 2. GPS数据协议简介 常用的GPS模块大多采用NMEA-0183 协议,目前业已成了GPS导航设备统一的RTCM(Radio Technical C

开发《基于Arcgis Online的家政管理服务信息系统》随笔2

解决了三天的一个问题终于搞定了,和大家分享一下... 1.来点开胃菜,  在Sql server 2008中想要增加修改字段,有时不能修改,作如下操作即可搞定此问题, 启动MSSQL SERVER 2008,选择菜单 工具-〉选项-〉左侧有个 设计  器-〉表设计器和数据库设计器.然后去掉“ 阻止保存要求重新创建表的更改”前面的勾.重新启动MSSQL SERVER 2008即可. 2.在flex的Datagrid中加入图片或者其它组件,想要通过Id访问itemRenderer中的组件是不可能的,