CN111190891A - 一种多语义轨迹数据分段存储方法 - Google Patents
一种多语义轨迹数据分段存储方法 Download PDFInfo
- Publication number
- CN111190891A CN111190891A CN201911372236.7A CN201911372236A CN111190891A CN 111190891 A CN111190891 A CN 111190891A CN 201911372236 A CN201911372236 A CN 201911372236A CN 111190891 A CN111190891 A CN 111190891A
- Authority
- CN
- China
- Prior art keywords
- track
- data
- vehicle
- point
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Remote Sensing (AREA)
- Navigation (AREA)
Abstract
本发明提出了一种多语义轨迹数据分段存储方法。本发明将轨迹由原始的采样点模型转换为便于理解和组织的轨迹段的形式,并将原始轨迹数据分为移动对象、点对象和轨迹对象分别存储和管理。本发明方法主要分为三个步骤,首先将原始轨迹数据进行必要的数据清洗,然后基于轨迹语义和停留点两种方法进行分段,轨迹分段后再根据轨迹尺度,选取合适压缩算法,对轨迹段进行压缩,最后以设计的数据表字段格式将轨迹数据进行存储。
Description
技术领域
本发明属于数据挖掘技术领域,尤其涉及一种多语义轨迹数据分段存储方法。
背景技术
随着位置采集装备和移动计算技术的进步,现在已经能够产生大量移动物体的时空轨迹数据。时空轨迹是物体在地理空间上运动产生的轨迹,通常用一系列按时间排序的点表示,例如车辆的GPS轨迹、手机WiFi接入、手机蜂窝基站定位等。支持GPS的移动终端以及地图服务(如百度地图、高德地图)的不断推广与普及,使得人们可以记录自己当前的地理坐标并分享至互联网。而且越来越多的社交网络,如微信、微博等,也提供基于位置和行程的服务。欧盟GSA的报告显示,苹果和安卓手机APP市场中有近一半的应用需要用户提供位置信息。时空轨迹数据的迅速增长,要求我们对轨迹数据的存储、管理、计算、检索以及挖掘等新计算技术有系统的研究和发展,空间轨迹计算也成为越来越重要的研究领域。这为轨迹模式挖掘、基于位置的社交网络、智能交通系统、城市计算等应用提供了有力支持。
然而轨迹数据的挖掘与计算却存在着以下几点挑战:
轨迹数据具有覆盖范围广、种类繁多、更新频率快等特点,因此数据量庞大。例如车辆GPS轨迹、手机基站轨迹、社交媒体行为轨迹等,其日均数据量达到百万甚至上亿级。
轨迹数据尺度各异。由于轨迹都具有异频采样性,同种甚至不同类型的移动对象采样频率也会不同。例如,通常有源车载GPS约30秒上传一次定位,也有某些车载定位设备为节省流量间隔数分钟或数十分钟上传一次定位;除了采样频率不同外,空间点坐标的精度可能也会不同,例如GPS的精度约能达到10米,而手机基站定位的精度一般在100~1000米。对于不同属性的异质轨迹数据而言不仅难于统一管理,而且使用目前较通用的距离度量方式所计算的轨迹相似性也可能会出现偏差;
不含语义的表达难以被人类理解。通常轨迹数据是以采样点模型进行存储,当研究人员进行轨迹挖掘时,需要将轨迹转换为含有语义的表示。例如某些轨迹是一段有目的出行,某些轨迹只是在一个区域的游走,需要将轨迹的点序列表示转换为根据物理意义划分或停留时长划分的有语义的轨迹段。
面临上述挑战,如果没有合理的轨迹存储组织和管理模型,轨迹计算往往费时费力。本发明旨在构建一个原始轨迹点序列与轨迹挖掘计算的中间层,提出一种面向多语义跨尺度轨迹大数据的存储管理模型,为构建轨迹数据库提供一个良好的轨迹存储组织方法。
发明内容
为了解决上述技术问题,本发明提出了一种多语义轨迹数据分段存储方法。
本发明的技术方案为一种多语义轨迹数据分段存储方法,具体包括以下步骤:
步骤1:将车辆轨迹数据通过数据清洗去除无效数据得到清洗后车辆轨迹数据,将语义分段数据通过数据清洗去除无效数据得到清洗后语义分段数据;
步骤2:将数据清洗后车辆轨迹数据和数据清洗后车辆语义行程分段进行数据融合,得到融合后车辆轨迹段数据;
步骤3:采用基于停留点分段的方法对融合后车辆轨迹段数据进行分段,得到轨迹分段后数据;
步骤4:将轨迹分段后数据进行数据压缩,得到压缩完成的轨迹段数据;
步骤5:将轨迹分段后数据、压缩完成的轨迹段数据通过数据表方式进行存储。
作为优选,步骤1中所述车辆轨迹数据具体为:
GPSi={longi,lati,date,timei,IDi},i∈[1,M]
其中,GPSi为第i组车辆GPS数据,longi,为第i组车辆GPS数据的经度, lati,为第i组车辆车GPS数据的纬度,datei,为第i组车辆GPS数据的日期,timei为为第i组车辆GPS记录时刻,IDi为第i组车辆GPS数据的车牌号,M为原始所有轨迹点的个数。
步骤1中所述车辆轨迹数据去除无效数据,具体方法为:
加载给定车辆的所有轨迹数据,去除时间重复的轨迹点数据;
利用正则匹配去除时间、经纬度格式错误的数据;
去除经纬度不在合法范围内(如中国境内)的记录;
统一时间格式,将时间字段转换为ISO8601标准格式;
按车牌号分组、按日期时间排序并存储;
进一步地,步骤1中所述数据清洗后车辆轨迹数据结合相邻两点的车速、道路的限速过滤GPS漂移点,具体为:
通过速度来判断车辆是否发生漂移,即任意相邻两点的车速应当不大于道路的限速,选取高速限速作为判断依据;
则轨迹R中相邻两点ri与rj之间的速度为:
其中,distr(ri,rj)表示地图上两点间球面距离,ri,rj,分别为两点的经纬度坐标向量,distr(ri,rj)计算方法可使用Haversine公式计算,dist(ri,rj)tj,ti分别表示gps记录rj,ri两点时的记录时间;
过滤漂移点步骤如下:
依次对轨迹R中的每个点ri,按轨迹R中相邻两点速度模型,计算ri相邻与前向邻近轨迹点ri-1和后向邻近轨迹点ri+1的平均速度;
如果前向或后向平均速度小于设定的阈值则保留该点;如果都大于设定阈值,则认定该点为漂移点,将漂移点从清洗后的轨迹中移除;
数据清洗后车辆轨迹数据格式保持不变,具体定义为:
GPSj={longj,latj,date,timej,IDj},j∈[1,N]
其中,GPSj为清洗后第j组车辆GPS数据,longj,为第j组车辆GPS数据的经度,latj,为第j组车辆GPS数据的纬度,datej,为第j组车辆GPS数据的日期, timej为为第i组车辆GPS记录时刻,IDj为第j组车辆GPS数据的车牌号,N为清洗后有效轨迹点的个数;
步骤1中所述语义分段数据数据具体为:
Travk={stimek,dtimek,disk,IDk,dispk},k∈[1,M]
其中,stimek为第k组语义行程分段的起始时间,dtimek为第k组语义行程分段的终止时间,disk为第k组语义行程分段的行驶里程,IDk为第k组车辆GPS 数据的车牌号,dispk为该段行程的语义描述,M为原始数据中,该车辆的语义行程分段的个数。
步骤1中所述车辆语义分段数据去除无效字段,具体方法为:
加载语义分段数据,并去重;
正则匹配滤掉时间格式错误的数据;
滤掉终止时间早于起始时间的记录;
将时间字段转换为ISO8601标准格式;
按车牌号分组、按时间排序并存储;
数据清洗后车辆语义分段数据为:
Travl={stimel,dtimel,disl,IDl,displ},l∈[1,N]
其中,stimel为清洗后保留的有效语义分段数据中第l组行程的起始时间, dtimel为第l组语义行程分段的终止时间,disl为第l组语义行程分段的行驶里程, IDl为第l组车辆GPS数据的车牌号,displ为该段行程的语义描述,N为清洗后车辆的语义行程分段的个数。
作为优选,步骤2中所述将数据清洗后车辆轨迹数据和数据清洗后车辆语义行程分段进行数据融合,具体过程为:
步骤2.1依次对每辆车做如下操作;
步骤2.2对该车辆的轨迹序列按日期时间的顺序排序;
步骤2.3对该车辆的每对上下车记录的时间,按时间排序;
如果轨迹点GPSk的时间timek位于某一个语义行程分段Travi的起始时间 stimei和终止时间dtimei之间,则用该语义行程的描述dispi标记为此轨迹点;如果timek位于Travi的终止时间dtimei与下一段语义行程分段Travi+1的起始时间 stimei+1之间,则标记为“无语义”,直至最后一个语义行程分段;
作为优选,步骤3中所述采用基于停留点分段的方法对融合后车辆轨迹段数据进行分段,具体如下:
步骤3.1:检测停留点;
步骤3.2:以停留点为分割点,对轨迹段继续进行分段;
作为优选,步骤4将轨迹分段后数据进行数据压缩,具体如下:
步骤4.1:给定待压缩的轨迹分段后数据,以轨迹分段后数据的轨迹点序列方式给出;
步骤4.2:设定允许误差ε;
步骤4.3:保留轨迹分段后数据中的第一点和最后一点,将其的连线设为近似轨迹段;
步骤4.4:计算轨迹分段后数据中,中间轨迹点到近似轨迹段的投影距离,选取该距离的最大值,记为近似轨迹段误差;
步骤4.5:如果近似轨迹段误差大于ε,则以此最大误差的轨迹点为分割点,将原轨迹分为两段,然后分别对两段轨迹重复步骤4.3操作,直至所有近似轨迹段的误差都小于ε;
步骤4.6:如果近似轨道段误差小于ε,则输出近似轨迹段,完成该段轨迹压缩;
步骤4.7:将所有完成压缩的近似轨迹段的轨迹点连接,输出作为最终的压缩轨迹点序列。
作为优选,步骤5中所述通过数据表方式进行存储,具体为:
将每个车辆的压缩完成的轨迹段数据用三张表来存储,包括轨迹分段后数据以及压缩完成的轨迹段数据;
具体包括:车辆ID,轨迹点时间,轨迹点的经度纬度坐标,轨迹点的语义描述,将这些数据以如下数据表组织方式进行存储:
所述存储每个车辆的压缩完成的轨迹段数据的第一张表为:原始的完整轨迹点序列,存储车辆的有效轨迹点数据,即步骤3完成后保留的轨迹点序列。所述存储每个车辆的压缩完成的轨迹段数据的第一张表字段包括:车辆ID,轨迹点时间(含日期),轨迹点经度,轨迹点纬度,轨迹点语义描述。
所述存储每个车辆的压缩完成的轨迹段数据的第二张表为:为车辆轨迹段表,存储车辆行驶的所有轨迹段的索引关系以及轨迹段的元信息。所述存储每个车辆的压缩完成的轨迹段数据的第二张表字段包括:车辆ID,轨迹段ID,轨迹段长度,轨迹段起始时间,轨迹段终止时间,轨迹段中心经度,轨迹段中心纬度。
所述存储每个车辆的压缩完成的轨迹段数据的第三张表为:位轨迹段坐标点表,存储每个轨迹段所包含的压缩轨迹点的信息。所述存储每个车辆的压缩完成的轨迹段数据的第三张表字段包括:轨迹段ID,压缩后保留的轨迹点时间(含日期),压缩后保留的轨迹点经度,压缩后保留的轨迹点纬度。
本发明优点在于,适用于存储包含不同语义行程的轨迹,此外该方法以轨迹段为元数据存储,更便于轨迹的查询检索。同时本方法可以根据存储需要,灵活设定压缩误差,可以在满足误差需求和轨迹检索需求的情况下,减小存储空间开销。
附图说明
图1:本发明方法流程图。
图2:车辆轨迹数据和语义分段数据融合示意图。
图3:车辆轨迹停留点检测。
图4:车辆轨迹压缩。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的具体实施方式可以通过sql数据库平台或者Hadoop文件系统实现存储。当使用sql数据库平台时,最终轨迹数据按步骤5定义的表格字段,将轨迹数据存入数据库的数据表中。如使用Hadoop系统,可以按步骤5定义的字段格式,以文本文件存入HDFS文件系统。
同其他数据挖掘工作一样,在挖掘前都需要做数据的预处理。对于轨迹数据,在预处理环节不仅要剔除掉字段不完整、格式不规范、冗余的数据,还要保证时空数据的连贯性,剔除不合理的轨迹漂移点。首先将车辆GPS轨迹数据和语义行程分段进行融合,为轨迹数据注入行程分段的语义信息。最后,对轨迹进行了基于语义行程的分段和基于停留点的分段,并导入轨迹数据模型存储。轨迹数据与交易数据的预处理阶段流程如图1所示。
本发明的具体实施方式为一种多语义轨迹数据分段存储方法,包括以下步骤:
步骤1:将车辆轨迹数据通过数据清洗去除无效数据得到清洗后车辆轨迹数据,将语义分段数据通过数据清洗去除无效数据得到清洗后语义分段数据;
对车辆轨迹数据的清洗的无效数据包括,字段不完整,字段格式不正确,数据重复、清洗后再结合相邻两点的车速、道路的限速过滤GPS漂移点;
车辆的语义行程分段数据为人工标注的具有语义含义的某段行程;
例如,如果车辆为出租车,则车辆轨迹数据为出租车的行驶GPS轨迹数据,语义分段数据为出租车打表数据。每个语义分段数据分别表示出租车服务不同乘客的载客行程和每段载客间的空载行程。
数据清洗步骤中,将清洗这类数据中的不正确数据,包括字段不完整,格式不正确的数据,例如:
由于设备的问题,可能存在某些车辆经纬度值有明显问题,如不在中国境内;或者因为传输延迟,当天的数据被保存在第二天的位置,
数据清洗的具体步骤如下:
所述车辆轨迹数据具体为:
GPSi={longi,lati,date,timei,IDi},i∈[1,M] (1)
其中,GPSi为第i组车辆GPS数据,longi,为第i组车辆GPS数据的经度, lati,为第i组车辆车GPS数据的纬度,datei,为第i组车辆GPS数据的日期,timei为为第i组车辆GPS记录时刻,IDi为第i组车辆GPS数据的车牌号,M为原始所有轨迹点的个数。
所述车辆轨迹数据去除无效字段,具体方法为:
加载给定车辆的所有轨迹数据,去除时间重复的轨迹点数据;
利用正则匹配去除时间、经纬度格式错误的数据;
去除经纬度不在合法范围内(如中国境内)的记录;
统一时间格式,将时间字段转换为ISO8601标准格式;
按车牌号分组、按日期时间排序并存储;
进一步地,步骤1中所述数据清洗后车辆轨迹数据结合相邻两点的车速、道路的限速过滤GPS漂移点,具体为:
由于天气干扰、传输不稳定或者高楼、隧道、停车场等建筑物遮挡等因素,会出现车辆轨迹数据发生漂移。本文基于速度来判断车辆是否发生漂移,即任意相邻两点的车速应当不大于道路的限速,为简单起见,选取高速限速120km/h作为判断依据;
则轨迹R中相邻两点ri与rj之间的速度为:
其中,distr(ri,rj)表示地图上两点间球面距离,ri,rj,分别为两点的经纬度坐标向量,distr(ri,rj)计算方法可使用Haversine公式计算,dist(ri,rj)tj,ti分别表示gps记录rj,ri两点时的记录时间;
过滤漂移点步骤如下:
依次对轨迹R中的每个点ri,按公式(2)计算ri相邻与前向邻近轨迹点ri-1和后向邻近轨迹点ri+1的平均速度;
如果前向或后向平均速度小于设定的阈值(城市区域参考设定为120km/h),则保留该点;如果都大于设定阈值,则认定该点为漂移点,将漂移点从清洗后的轨迹中移除。
数据清洗后车辆轨迹数据格式保持不变,具体定义为:
GPSj={longj,latj,date,timej,IDj},j∈[1,N]
其中,GPSj为清洗后第j组车辆GPS数据,longj,为第j组车辆GPS数据的经度,latj,为第j组车辆GPS数据的纬度,datej,为第j组车辆GPS数据的日期, timej为为第i组车辆GPS记录时刻,IDj为第j组车辆GPS数据的车牌号,N为清洗后有效轨迹点的个数。
车辆的语义行程分段数据为人工标注的具有语义含义的某段行程。车辆的语义行程分段数据包括该段行程的起始时间,终止时间,该段行程的行驶距离,该段行程的语义描述和车辆ID。车辆的语义行程分段数据具体为:
Travk={stimek,dtimek,disk,IDk,dispk},k∈[1,M]
其中,stimek为第k组语义行程分段的起始时间,dtimek为第k组语义行程分段的终止时间,disk为第k组语义行程分段的行驶里程,IDk为第k组车辆GPS 数据的车牌号,dispk为该段行程的语义描述,M为原始数据中,该车辆的语义行程分段的个数。
例如,如果车辆为出租车时,语义行程分段数据来自于出租车打表数据,每个语义分段行程分别表示出租车服务不同乘客的载客行程和每段载客间的空载行程。每段行程的起始时间和终止时间为乘客的上下车时间。每个段语义行程的描述为“空载”状态或“载客”状态。
所述车辆语义分段数据去除无效字段,具体方法为:
加载语义分段数据,并去重;
正则匹配滤掉时间格式错误的数据;
滤掉终止时间早于起始时间的记录;
将时间字段转换为ISO8601标准格式;
按车牌号分组、按时间排序并存储;
数据清洗后车辆语义分段数据为:
Travl={stimel,dtimel,disl,IDl,displ},l∈[1,N]
其中,stimel为清洗后保留的有效语义分段数据中第l组行程的起始时间,dtimel为第l组语义行程分段的终止时间,disl为第l组语义行程分段的行驶里程, IDl为第l组车辆GPS数据的车牌号,displ为该段行程的语义描述,N为清洗后车辆的语义行程分段的个数。;
步骤2:将清洗后车辆轨迹数据以及清洗后语义分段数据进行数据融合,得到融合后数据;
将数据清洗后车辆轨迹数据和数据清洗后车辆语义行程分段进行数据融合,得到融合后车辆轨迹段数据;
步骤2中所述将数据清洗后车辆轨迹数据和数据清洗后车辆语义行程分段进行数据融合,具体过程为:
步骤2.1依次对每辆车做如下操作;
步骤2.2对该车辆的轨迹序列按日期时间的顺序排序;
步骤2.3对该车辆的每对上下车记录的时间,按时间排序;
如果轨迹点GPSk的时间timek位于某一个语义行程分段Travi的起始时间 stimei和终止时间dtimei之间,则用该语义行程的描述dispi标记为此轨迹点;如果timek位于Travi的终止时间dtimei与下一段语义行程分段Travi+1的起始时间 stimei+1之间,则标记为“无语义”,直至最后一个语义行程分段;
步骤3:将融合后数据采用基于停留点分段的方法进行分段,得到轨迹分段后数据;
步骤3具体分为两个步骤:
步骤3.1:检测停留点。
步骤3.2:以停留点为分割点,对轨迹段继续进行分段。
其中,步骤3.1中的停留点检测方法如下:
寻找在一个区域内缓慢移动且在该区域的停留时间超过阈值的点,进一步检测停留点。图3中展示了两种类型的停留点,基于停留点的分段首先需要寻找车辆的停留点。第一种为在一个地点停留时间超过阈值,如图中点p3,第二种情况为在一个区域内缓慢移动且在该区域的停留时间超过阈值,如图中的点 p5→p6→p7→p8。
检测停留点的步骤方法具体如下:
步骤3.2.1:将轨迹段中的第一个点设置为待判决的轨迹点;
步骤3.2.2:计算待判决轨迹点与其后续轨迹点间的距离dist;
步骤3.2.3:如果dist小于停留阈值Thd,则计算待判决点和下一个后续轨迹点的距离;
步骤3.2.4:如果dist大于停留阈值Thd,则计算两点的累积停留时间Δt= pj·T-pi·T
步骤3.2.5:如果Δt大于停留阈值时间Tht,则将此段时间判定为停留时间,将带判决点至该后续点间所有轨迹点的中心,设定为停留中心。将最后一个后续点设定为新的待判决点,重复步骤3.2.2的操作。
步骤4:将轨迹分段后数据进行数据压缩,得到压缩完成的轨迹段数据。
步骤4具体如下:
步骤4.1:给定待压缩的轨迹分段后数据,以轨迹分段后数据的轨迹点序列方式给出;
步骤4.2:设定允许误差ε;
步骤4.3:保留轨迹分段后数据中的第一点和最后一点,将其的连线设为近似轨迹段;
步骤4.4:计算轨迹分段后数据中,中间轨迹点到近似轨迹段的投影距离,选取该距离的最大值,记为近似轨迹段误差;
步骤4.5:如果近似轨迹段误差大于ε,则以此最大误差的轨迹点为分割点,将原轨迹分为两段,然后分别对两段轨迹重复步骤4.3操作,直至所有近似轨迹段的误差都小于ε;
步骤4.6:如果近似轨道段误差小于ε,则输出近似轨迹段,完成该段轨迹压缩;
步骤4.7:将所有完成压缩的近似轨迹段的轨迹点连接,输出作为最终的压缩轨迹点序列。
由于不同尺度的轨迹点拥有不同的采样频率,有些轨迹采样点非常密集,例如车辆GPS轨迹,因而数据量庞大且计算复杂。因此在轨迹分段后,可以适当的对轨迹进行压缩,在不影响后续计算的准确性情况下减少轨迹数据量的大小。为简化计算,使用投影距离作为误差度量方式,进行轨迹压缩。
以图4为例,描述步骤4的压缩算法。
如图4中,4.1所述给定的待压缩的轨迹序列点为P1至P12,4.2设定允许的误差为ε,假设为10米。
步骤4.3中使用近似的线段来代替不规则的轨迹段。如图4中p1到p12为压缩前的轨迹段,从轨迹段的起始点p1和末端点p12开始使用一条近似的线段来代替p1到p12的轨迹段并依次计算其他点到该线段的距离。
步骤4.6中至到所有点到线段的距离都小于允许的误差ε;
步骤4.7中压缩完成后,保留的轨迹序列点为P1,P4,P9,P12。
步骤5:将车辆轨迹分段数据与其对应轨迹分段后数据,通过数据表方式进行存储。
步骤5中所述通过数据表方式进行存储,具体为:
将每个车辆的车辆轨迹分段数据、轨迹分段后数据用三张表来存储,包括步骤3输出的未压缩的轨迹数据,以及压缩完成后的轨迹数据,即经过步骤4压缩处理仍保留的车辆轨迹点序列,具体包括车辆ID,轨迹点时间,轨迹点的经度纬度坐标,轨迹点的语义描述。将这些数据以如下数据表组织方式进行存储。
所述存储每个车辆的压缩完成的轨迹段数据的第一张表为:原始的完整轨迹点序列,存储车辆的有效轨迹点数据,即步骤3完成后保留的轨迹点序列。所述存储每个车辆的压缩完成的轨迹段数据的第一张表字段包括:车辆ID,轨迹点时间(含日期),轨迹点经度,轨迹点纬度,轨迹点语义描述。
所述存储每个车辆的压缩完成的轨迹段数据的第二张表为:车辆轨迹段表,存储车辆行驶的所有轨迹段的索引关系以及轨迹段的元信息。所述存储每个车辆的压缩完成的轨迹段数据的第二张表字段包括:车辆ID,轨迹段ID,轨迹段长度,轨迹段起始时间,轨迹段终止时间,轨迹段中心经度,轨迹段中心纬度。
所述存储每个车辆的压缩完成的轨迹段数据的第三张表为:轨迹段坐标点表,存储每个轨迹段所包含的压缩轨迹点的信息。所述存储每个车辆的压缩完成的轨迹段数据的第三张表字段包括:轨迹段ID,压缩后保留的轨迹点时间(含日期),压缩后保留的轨迹点经度,压缩后保留的轨迹点纬度。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (6)
1.一种多语义轨迹数据分段存储方法,其特征在于,包括以下步骤:
步骤1:将车辆轨迹数据通过数据清洗去除无效数据得到清洗后车辆轨迹数据,将语义分段数据通过数据清洗去除无效数据得到清洗后语义分段数据;
步骤2:将数据清洗后车辆轨迹数据和数据清洗后车辆语义行程分段进行数据融合,得到融合后车辆轨迹段数据;
步骤3:采用基于停留点分段的方法对融合后车辆轨迹段数据进行分段,得到轨迹分段后数据;
步骤4:将轨迹分段后数据进行数据压缩,得到压缩完成的轨迹段数据;
步骤5:将轨迹分段后数据、压缩完成的轨迹段数据通过数据表方式进行存储。
2.根据权利要求1所述的多语义轨迹数据分段存储方法,其特征在于:作为优选,步骤1中所述车辆轨迹数据具体为:
GPSi={longi,lati,date,timei,IDi},i∈[1,M]
其中,GPSi为第i组车辆GPS数据,longi,为第i组车辆GPS数据的经度,lati,为第i组车辆车GPS数据的纬度,datei,为第i组车辆GPS数据的日期,timei为为第i组车辆GPS记录时刻,IDi为第i组车辆GPS数据的车牌号,M为原始所有轨迹点的个数;
步骤1中所述车辆轨迹数据去除无效数据,具体方法为:
加载给定车辆的所有轨迹数据,去除时间重复的轨迹点数据;
利用正则匹配去除时间、经纬度格式错误的数据;
去除经纬度不在合法范围内(如中国境内)的记录;
统一时间格式,将时间字段转换为ISO8601标准格式;
按车牌号分组、按日期时间排序并存储;
进一步地,步骤1中所述数据清洗后车辆轨迹数据结合相邻两点的车速、道路的限速过滤GPS漂移点,具体为:
通过速度来判断车辆是否发生漂移,即任意相邻两点的车速应当不大于道路的限速,选取高速限速作为判断依据;
则轨迹R中相邻两点ri与rj之间的速度为:
其中,distr(ri,rj)表示地图上两点间球面距离,ri,rj,分别为两点的经纬度坐标向量,distr(ri,rj)计算方法可使用Haversine公式计算,dist(ri,rj)tj,ti分别表示gps记录rj,ri两点时的记录时间;
过滤漂移点步骤如下:
依次对轨迹R中的每个点ri,按轨迹R中相邻两点速度模型,计算ri相邻与前向邻近轨迹点ri-1和后向邻近轨迹点ri+1的平均速度;
如果前向或后向平均速度小于设定的阈值则保留该点;如果都大于设定阈值,则认定该点为漂移点,将漂移点从清洗后的轨迹中移除;
数据清洗后车辆轨迹数据格式保持不变,具体定义为:
GPSj={longj,latj,date,timej,IDj},j∈[1,N]
其中,GPSj为清洗后第j组车辆GPS数据,longj,为第j组车辆GPS数据的经度,latj,为第j组车辆GPS数据的纬度,datej,为第j组车辆GPS数据的日期,timej为为第i组车辆GPS记录时刻,IDj为第j组车辆GPS数据的车牌号,N为清洗后有效轨迹点的个数;
步骤1中所述语义分段数据数据具体为:
Travk={stimek,dtimek,disk,IDk,dispk},k∈[1,M]
其中,stimek为第k组语义行程分段的起始时间,dtimek为第k组语义行程分段的终止时间,disk为第k组语义行程分段的行驶里程,IDk为第k组车辆GPS数据的车牌号,dispk为该段行程的语义描述,M为原始数据中,该车辆的语义行程分段的个数;
步骤1中所述车辆语义分段数据去除无效字段,具体方法为:
加载语义分段数据,并去重;
正则匹配滤掉时间格式错误的数据;
滤掉终止时间早于起始时间的记录;
将时间字段转换为ISO8601标准格式;
按车牌号分组、按时间排序并存储;
数据清洗后车辆语义分段数据为:
Travl={stimel,dtimel,disl,IDl,displ},l∈[1,N]
其中,stimel为清洗后保留的有效语义分段数据中第l组行程的起始时间,dtimel为第l组语义行程分段的终止时间,disl为第l组语义行程分段的行驶里程,IDl为第l组车辆GPS数据的车牌号,displ为该段行程的语义描述,N为清洗后车辆的语义行程分段的个数。
3.根据权利要求1所述的多语义轨迹数据分段存储方法,其特征在于:
步骤2中所述将数据清洗后车辆轨迹数据和数据清洗后车辆语义行程分段进行数据融合,具体过程为:
步骤2.1依次对每辆车做如下操作;
步骤2.2对该车辆的轨迹序列按日期时间的顺序排序;
步骤2.3对该车辆的每对上下车记录的时间,按时间排序;
如果轨迹点GPSk的时间timek位于某一个语义行程分段Travi的起始时间stimei和终止时间dtimei之间,则用该语义行程的描述dispi标记为此轨迹点;如果timek位于Travi的终止时间dtimei与下一段语义行程分段Travi+1的起始时间stimei+1之间,则标记为“无语义”,直至最后一个语义行程分段。
4.根据权利要求1所述的多语义轨迹数据分段存储方法,其特征在于:步骤3中所述采用基于停留点分段的方法对融合后车辆轨迹段数据进行分段,具体如下:
步骤3.1:检测停留点;
步骤3.2:以停留点为分割点,对轨迹段继续进行分段。
5.根据权利要求1所述的多语义轨迹数据分段存储方法,其特征在于:步骤4将轨迹分段后数据进行数据压缩,具体如下:
步骤4.1:给定待压缩的轨迹分段后数据,以轨迹分段后数据的轨迹点序列方式给出;
步骤4.2:设定允许误差ε;
步骤4.3:保留轨迹分段后数据中的第一点和最后一点,将其的连线设为近似轨迹段;
步骤4.4:计算轨迹分段后数据中,中间轨迹点到近似轨迹段的投影距离,选取该距离的最大值,记为近似轨迹段误差;
步骤4.5:如果近似轨迹段误差大于ε,则以此最大误差的轨迹点为分割点,将原轨迹分为两段,然后分别对两段轨迹重复步骤4.3操作,直至所有近似轨迹段的误差都小于ε;
步骤4.6:如果近似轨道段误差小于ε,则输出近似轨迹段,完成该段轨迹压缩;
步骤4.7:将所有完成压缩的近似轨迹段的轨迹点连接,输出作为最终的压缩轨迹点序列。
6.根据权利要求1所述的多语义轨迹数据分段存储方法,其特征在于:步骤5中所述通过数据表方式进行存储,具体为:
将每个车辆的压缩完成的轨迹段数据用三张表来存储,包括轨迹分段后数据以及压缩完成的轨迹段数据;
具体包括:车辆ID,轨迹点时间,轨迹点的经度纬度坐标,轨迹点的语义描述,将这些数据以如下数据表组织方式进行存储:
表1为原始的完整轨迹点序列,存储车辆的有效轨迹点数据,即步骤3完成后保留的轨迹点序列;表1字段包括:车辆ID,轨迹点时间(含日期),轨迹点经度,轨迹点纬度,轨迹点语义描述;
表2为车辆轨迹段表,存储车辆行驶的所有轨迹段的索引关系以及轨迹段的元信息;表2字段包括:车辆ID,轨迹段ID,轨迹段长度,轨迹段起始时间,轨迹段终止时间,轨迹段中心经度,轨迹段中心纬度;
表3位轨迹段坐标点表,存储每个轨迹段所包含的压缩轨迹点的信息;表3字段包括:轨迹段ID,压缩后保留的轨迹点时间(含日期),压缩后保留的轨迹点经度,压缩后保留的轨迹点纬度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911372236.7A CN111190891B (zh) | 2019-12-27 | 2019-12-27 | 一种多语义轨迹数据分段存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911372236.7A CN111190891B (zh) | 2019-12-27 | 2019-12-27 | 一种多语义轨迹数据分段存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111190891A true CN111190891A (zh) | 2020-05-22 |
CN111190891B CN111190891B (zh) | 2023-07-25 |
Family
ID=70707656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911372236.7A Active CN111190891B (zh) | 2019-12-27 | 2019-12-27 | 一种多语义轨迹数据分段存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111190891B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881242A (zh) * | 2020-07-28 | 2020-11-03 | 腾讯科技(深圳)有限公司 | 一种轨迹点的基础语义识别方法及相关设备 |
CN111966729A (zh) * | 2020-08-27 | 2020-11-20 | 平安国际智慧城市科技股份有限公司 | 一种车辆轨迹数据处理方法、装置、设备及存储介质 |
CN115080683A (zh) * | 2022-08-24 | 2022-09-20 | 天津所托瑞安汽车科技有限公司 | 车辆行程处理方法、设备和存储介质 |
CN116481560A (zh) * | 2023-06-21 | 2023-07-25 | 天津所托瑞安汽车科技有限公司 | 车辆行驶里程的计算方法、装置、终端及存储介质 |
CN117112867A (zh) * | 2023-10-24 | 2023-11-24 | 四川国蓝中天环境科技集团有限公司 | 一种基于gps轨迹数据的重型车辆排放计算和可视化方法 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102607553A (zh) * | 2012-03-06 | 2012-07-25 | 北京建筑工程学院 | 一种基于出行轨迹数据的行程识别方法 |
US20130022234A1 (en) * | 2011-07-22 | 2013-01-24 | Honeywell International Inc. | Object tracking |
US20140019450A1 (en) * | 2012-07-12 | 2014-01-16 | Daniela Rus | Text characterization of trajectories |
US20150211869A1 (en) * | 2012-03-12 | 2015-07-30 | Strava, Inc. | Segment validation |
CN105808759A (zh) * | 2016-03-15 | 2016-07-27 | 中国农业大学 | 面向轨迹挖掘的数据预处理方法及系统 |
CN106227889A (zh) * | 2016-08-15 | 2016-12-14 | 华云科技有限公司 | 一种轨迹停留点分析提取方法 |
WO2018099480A1 (zh) * | 2016-12-01 | 2018-06-07 | 中兴通讯股份有限公司 | 车辆行驶轨迹监测方法及系统 |
US20180164123A1 (en) * | 2016-12-13 | 2018-06-14 | Ge Aviation Systems Llc | Map-based trip trajectory and data integration system |
CN108170793A (zh) * | 2017-12-27 | 2018-06-15 | 厦门市美亚柏科信息股份有限公司 | 基于车辆语义轨迹数据的停留点分析方法及其系统 |
CN109410586A (zh) * | 2018-12-13 | 2019-03-01 | 中南大学 | 一种基于多元数据融合的交通状态检测方法 |
CN109446186A (zh) * | 2018-09-27 | 2019-03-08 | 江苏大学 | 一种基于移动轨迹的社会关系判断方法 |
CN109581444A (zh) * | 2018-11-01 | 2019-04-05 | 西北大学 | 一种gps轨迹分段及语义标注方法 |
CN109670277A (zh) * | 2019-02-19 | 2019-04-23 | 南京邮电大学 | 一种基于多模态数据融合与多模型集成的旅行时间预测方法 |
CN109712401A (zh) * | 2019-01-25 | 2019-05-03 | 同济大学 | 一种基于浮动车轨迹数据的复合路网瓶颈点识别方法 |
CN110428604A (zh) * | 2019-07-30 | 2019-11-08 | 山东交通学院 | 一种基于gps轨迹数据和地图数据的出租车违规停车监测与预警方法 |
-
2019
- 2019-12-27 CN CN201911372236.7A patent/CN111190891B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130022234A1 (en) * | 2011-07-22 | 2013-01-24 | Honeywell International Inc. | Object tracking |
CN102607553A (zh) * | 2012-03-06 | 2012-07-25 | 北京建筑工程学院 | 一种基于出行轨迹数据的行程识别方法 |
US20150211869A1 (en) * | 2012-03-12 | 2015-07-30 | Strava, Inc. | Segment validation |
US20140019450A1 (en) * | 2012-07-12 | 2014-01-16 | Daniela Rus | Text characterization of trajectories |
CN105808759A (zh) * | 2016-03-15 | 2016-07-27 | 中国农业大学 | 面向轨迹挖掘的数据预处理方法及系统 |
CN106227889A (zh) * | 2016-08-15 | 2016-12-14 | 华云科技有限公司 | 一种轨迹停留点分析提取方法 |
WO2018099480A1 (zh) * | 2016-12-01 | 2018-06-07 | 中兴通讯股份有限公司 | 车辆行驶轨迹监测方法及系统 |
US20180164123A1 (en) * | 2016-12-13 | 2018-06-14 | Ge Aviation Systems Llc | Map-based trip trajectory and data integration system |
CN108170793A (zh) * | 2017-12-27 | 2018-06-15 | 厦门市美亚柏科信息股份有限公司 | 基于车辆语义轨迹数据的停留点分析方法及其系统 |
CN109446186A (zh) * | 2018-09-27 | 2019-03-08 | 江苏大学 | 一种基于移动轨迹的社会关系判断方法 |
CN109581444A (zh) * | 2018-11-01 | 2019-04-05 | 西北大学 | 一种gps轨迹分段及语义标注方法 |
CN109410586A (zh) * | 2018-12-13 | 2019-03-01 | 中南大学 | 一种基于多元数据融合的交通状态检测方法 |
CN109712401A (zh) * | 2019-01-25 | 2019-05-03 | 同济大学 | 一种基于浮动车轨迹数据的复合路网瓶颈点识别方法 |
CN109670277A (zh) * | 2019-02-19 | 2019-04-23 | 南京邮电大学 | 一种基于多模态数据融合与多模型集成的旅行时间预测方法 |
CN110428604A (zh) * | 2019-07-30 | 2019-11-08 | 山东交通学院 | 一种基于gps轨迹数据和地图数据的出租车违规停车监测与预警方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881242A (zh) * | 2020-07-28 | 2020-11-03 | 腾讯科技(深圳)有限公司 | 一种轨迹点的基础语义识别方法及相关设备 |
CN111881242B (zh) * | 2020-07-28 | 2024-05-03 | 腾讯科技(深圳)有限公司 | 一种轨迹点的基础语义识别方法及相关设备 |
CN111966729A (zh) * | 2020-08-27 | 2020-11-20 | 平安国际智慧城市科技股份有限公司 | 一种车辆轨迹数据处理方法、装置、设备及存储介质 |
CN115080683A (zh) * | 2022-08-24 | 2022-09-20 | 天津所托瑞安汽车科技有限公司 | 车辆行程处理方法、设备和存储介质 |
CN115080683B (zh) * | 2022-08-24 | 2022-11-25 | 天津所托瑞安汽车科技有限公司 | 车辆行程处理方法、设备和存储介质 |
CN116481560A (zh) * | 2023-06-21 | 2023-07-25 | 天津所托瑞安汽车科技有限公司 | 车辆行驶里程的计算方法、装置、终端及存储介质 |
CN116481560B (zh) * | 2023-06-21 | 2023-10-03 | 天津所托瑞安汽车科技有限公司 | 车辆行驶里程的计算方法、装置、终端及存储介质 |
CN117112867A (zh) * | 2023-10-24 | 2023-11-24 | 四川国蓝中天环境科技集团有限公司 | 一种基于gps轨迹数据的重型车辆排放计算和可视化方法 |
CN117112867B (zh) * | 2023-10-24 | 2024-01-09 | 四川国蓝中天环境科技集团有限公司 | 一种基于gps轨迹数据的重型车辆排放计算和可视化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111190891B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111190891B (zh) | 一种多语义轨迹数据分段存储方法 | |
CN107241512B (zh) | 基于手机数据的城际交通出行方式判断方法和设备 | |
CN108362293B (zh) | 一种基于关键点技术的车辆轨迹匹配方法 | |
CN107818412B (zh) | 一种基于MapReduce的大规模公交乘客OD并行计算方法 | |
CN106323301B (zh) | 一种道路情报的获取方法及装置 | |
CN110414732B (zh) | 一种出行未来轨迹预测方法、装置、储存介质及电子设备 | |
CN111985710A (zh) | 一种公交乘客出行站点预测方法、存储介质及服务器 | |
CN106568456B (zh) | 基于gps/北斗定位和云计算平台的不停车收费方法 | |
CN110472999B (zh) | 基于地铁和共享单车数据的客流模式分析方法及装置 | |
CN105160871A (zh) | 一种高速公路客车临时上下人识别的方法 | |
CN114363842B (zh) | 基于手机信令数据的公交乘客下车站点预测方法及装置 | |
CN107403550A (zh) | 公交路网数据采集方法、装置和终端设备 | |
CN111046049A (zh) | 一种货车gps轨迹数据压缩方法 | |
CN115714957B (zh) | 基于手机信令的地铁出行识别方法、装置、设备及介质 | |
CN112036757A (zh) | 基于手机信令和浮动车数据的停车换乘停车场的选址方法 | |
CN111740981A (zh) | 一种汽车gps轨迹数据压缩方法 | |
Chen et al. | Enabling smart urban services with gps trajectory data | |
CN115662124A (zh) | 一种基于网络编码的gps轨迹数据路段流量匹配方法 | |
CN113573238A (zh) | 一种基于手机信令的联程旅客出行链识别方法 | |
CN111444286B (zh) | 一种基于轨迹数据的远距离交通节点关联性挖掘方法 | |
Chen et al. | Traffic travel pattern recognition based on sparse global positioning system trajectory data | |
CN109727332B (zh) | 一种计算环卫车辆环卫作业次数的方法及系统 | |
CN108960684B (zh) | 一种基于不完全轨迹片段的公交乘客闭合出行链挖掘方法 | |
CN114758493B (zh) | 一种基于数据融合的高速公路交通流量监测方法及系统 | |
CN104121917A (zh) | 一种自动发现新建桥梁的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |