一种基于开源时空数据的时空目标描述文字生成方法

allin2023-03-28  95



1.本发明涉及一种基于开源时空数据的时空目标描述文字生成方法,属于时空数据分析与挖掘技术领域。


背景技术:

2.随着移动互联网、位置服务等技术的高速发展和移动设备的普及,在基于位置的社交网络、共享出行、共享单车等运营过程中,产生了海量的时空数据。近年来,随着时空数据体量和类别的持续增长,对时空数据应用不断深化,已经成了社会关注的焦点和热点。丰富的时空数据,从不同的粒度、层面和视角记录人的活动信息。
3.然而,单纯的数据本身并没有任何意义,只有被赋予含义的数据才能够被使用。数据的含义是语义,其可以看作是数据对应的现实事物所代表的概念和含义,以及这些含义之间的关系,是数据在某个领域上的解释和逻辑表示。理解时空数据表达的语义,对于深度挖掘数据商业价值、提升社会工作效率、提前预测并防范突发事件起着关键作用。
4.目前,有许多研究人员在时空数据分析领域开展了广泛研究,提出了许多方法。在这些方法中,研究人员倾向于关注通用的轨迹数据(地理坐标),而对轨迹数据的所有者(时空目标)关注较少。其基本思路,面向时空数据进行序列建模,计算下一个可能的状态,然后进行推荐或预测。
5.当前,尚未有从时空目标角度对时空数据进行分析的可行方法公开。


技术实现要素:

6.本发明的目的是针对现有技术存在的时空数据信息混乱、语义表达不明显等技术缺陷,创造性地提出一种基于开源时空数据的时空目标描述文字生成方法。本方法,基于时空目标数据,能够识别时空目标的活动状态,生成目标的活动状态文字描述。本方法可用于时空数据语义理解等相关技术领域。
7.本发明的创新点在于:通过分析时空目标数据的特点,经过数据清洗、行为描述短语生成、位置描述短语生成以及目标描述生成等,提取时空目标活动轨迹的语义信息,生成目标活动状态文字描述,为时空数据分析提供有效的技术支撑。
8.本发明是通过以下技术方案实现。
9.一种基于开源时空数据的时空目标描述文字生成方法。
10.首先,对时空目标轨迹数据进行清洗,在保证数据规模的情况下,对原始的轨迹实现归一化压缩。
11.然后,生成目标行为描述短语。即:识别目标的活动意图,并与历史记录作比较,生成特定的文字描述。
12.之后,生成目标位置描述短语。即:识别轨迹列表在地图上所经历的区域,并转化为相对简单的文字短语。
13.最后,将生成的目标行为描述短语和目标位置描述短语嵌入固定句式,生成目标
活动文字描述。
14.有益效果
15.本发明方法,与现有技术相比,具有以下优点:
16.1.本方法能对不含显示语义信息的时空数据进行理解,能够准确、高效地分析时空数据中各时空目标的行为模式,并能够准确识别时空数据在地图上所经过的地理位置,不依赖于在线网络,可以实现面向海量时空数据的快速语义感知,为时空数据语义分析提供技术支撑。
17.2.时空数据通常携带大量的信息,真实反映了交通、气象等领域的动态,使用本方法,可以有效感知时空数据表达的隐含语义,能够将时空数据更加直观地展示给数据分析人员,依据时空目标分析模型,可以快速挖掘时空目标的活动规律,可以用于气象分析、智能交通等领域,以促进时空数据语义理解技术的发展,提高时空数据挖掘、分析水平。
18.3.本发明能够挖掘时空数据的隐含语义信息,为时空目标生成文字描述,进一步拓展了时空数据的应用范围,具有现实意义和良好的应用前景。
附图说明
19.图1是本发明方法的架构示意图。
20.图2是本发明方法的处理流程示意图。
21.图3是本发明方法步骤2以及实施例中的行为描述短语生成流程示意图。
22.图4是本发明方法步骤3以及实施例中的区域描述短语生成流程示意图。
23.图5是本发明步骤3以及实施例中的分级区划示意图。
24.图6是本发明实施例中的数据归一化示意图。
具体实施方式
25.下面结合附图和实施例,对本发明方法做进一步详细说明。。
26.一种基于开源时空数据的时空目标描述文字生成方法,包括以下步骤:
27.步骤1:时空目标轨迹数据清洗。
28.进行数据清洗的原因为:目标轨迹数据数量级往往十分庞大,在对该数据进行分析时,轨迹数据量太大会严重影响运算效率,因此,需要先对原始轨迹数据进行压缩处理。
29.具体地,对轨迹数据的压缩,可以通过轨迹数据几何线段化来实现。通过将原始的不规则轨迹点转化为轨迹线段的集合,再通过均匀插值处理对线段集合进行扩充,从而在保证数据规模的情况下对原始轨迹实现归一化压缩。
30.具体地,步骤1包括以下步骤:
31.步骤1.1:可以基于douglas-peucker算法,对轨迹数据进行压缩。具体为:
32.步骤1.1.1:在轨迹曲线首尾两点a、b之间连接一条直线ab,该直线为曲线的弦;
33.步骤1.1.2:遍历曲线上其他所有点,求每个点到直线ab的距离,找到最大距离的点c,最大距离记为d
max

34.步骤1.1.3:比较该距离d
max
与预先定义的阈值d
max
大小,如果d
max
《 d
max
,则将该直线ab作为曲线段的近似,曲线段处理完毕;
35.若d
max
≥d
max
,则使c点将曲线ab分为ac和cb两段,并分别对这两段进行步骤1.1.1
至步骤1.1.3的处理;
36.步骤1.1.4:当所有曲线都处理完毕时,依次连接各个分割点形成的折线,即为原始曲线的路径,分割点组成的点集即为压缩后的轨迹点集。
37.步骤1.2:对压缩点集进行归一化插值。
38.设归一化点集大小为c
max
,对于一组压缩后的轨迹点集h={p1,p2,...,pn},每两个点{pi,pj}之间都是一条拟合的直线轨迹,以pi和pj之间的时间差 timedis
i,j
与p1和pn时间差的比值作为该线段在整体轨迹中的占比,则pi和pj之间插入轨迹点数为i
i,j
=r
i,j
*c
max

39.对每一段线段执行同样操作,最终得到归一化的轨迹序列{h1,h2,,

,hi,...,hm},其中每一条轨迹序列hi长度为c
max

40.步骤2:生成目标行为描述短语。
41.识别目标的活动意图,并与历史记录作比较,生成特定的文字描述。
42.步骤2.1:计算目标轨迹形状。
43.时空目标的轨迹形状多种多样,为了便于后续的计算,先将轨迹形状进行归类:{dot:0,straightline:1,circle:2,ring:3,mass:4},其中,dot表示点型,straightline表示直线型,circle表示类圆型,ring表示圆环型, mass表示混乱型。
44.具体分类方式为:
45.步骤2.1.1:对于一条轨迹序列hi={p1,p2,...,pn},如果轨迹序列中所有点的坐标偏移量小于阈值δ
dot
,则将轨迹归类为dot型。否则转步骤2.1.2。
46.其中,地球上的两点x=《lat1,lon1》和y=《lat2,lon2》空间距离dis
xy
,采用haversine公式计算:
47.dis
xy
=haversin(vlat)+coslat1*coslat2*haversin(vlon)
ꢀꢀ
(1)
48.vlat=abs(lat1-lat2)
ꢀꢀꢀꢀꢀ
(2)
49.vlon=abs(lon1-lon2)
ꢀꢀꢀꢀꢀ
(3)
[0050][0051]
其中,vlat代表点x的纬度和点y的纬度差的绝对值,vlon代表点x的经度和点y的经度差的绝对值;haversin()表示半正矢公式;abs()代表取绝对值; cos表示余弦函数;lat、lon均表示弧度,通过将角度形式经纬度转换得到,转换公式为:
[0052][0053]
其中,radian代表弧度,degrees代表角度,π表示圆周率。
[0054]
步骤2.1.2:连接点p1和点pn形成一条直线计算p2~p
n-1
所有点到线段的距离d
ih
,1《i《n。如果d
ih
的最大值不大于设定的阈值δd,则将轨迹归类为straightline型。否则转步骤2.1.3。
[0055]
其中,点pi到直线lineh的距离d
ih
由式6计算:
[0056][0057]
其中,lon1、lat1、lon2、lat2分别是直线lineh两端点的经纬度角度坐标, loni、lati是点pi角度坐标。
[0058]
步骤2.1.3:可以基于gis(地理信息系统)工具等,将所有点p1~pn连接起来,形成一条空间线向量获取该线向量的重心
[0059]
以为圆心,以与点p1的空间距离为半径ri作圆zi,统计hi中落在该圆内的点的数量如果大于设定的阈值δz,则转步骤2.1.5,否则转步骤2.1.4。
[0060]
步骤2.1.4:以ri的3/4为半径作小圆z
i2
,统计hi中落在小圆z
i2
中的点的数量如果小于设定的阈值δc,则将轨迹形状归类为ring型,否则归类为circle型。
[0061]
步骤2.1.5:如果不满足以上任意形状的轨迹,则归类为mass型。
[0062]
步骤2.1.6:轨迹增加shape属性,其值为其轨迹形状id。
[0063]
步骤2.2:为轨迹数据中的各项属性设定优先级权重,优先级排布为0、1、 2

,数字越小,优先级越高,得到属性集列表e,并确定各属性的取值是“范围”类还是“有限集”类。
[0064]
步骤2.3:建立任务与属性的决策链。
[0065]
基于步骤2.2中设定的属性优先级,构建基于规则式的分类模型class,如式7所示:
[0066]
class=model(attr0,attr1,

,attrn)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0067]
其中,attri,i∈[0,n]是按属性优先级排列的时空目标属性,n为属性数量。 model表示定义的分类模型基类。
[0068]
遍历每一种行为模式,依据属性优先级,构建出判别逻辑链,判别链类似决策树的一条路径。具体如下:
[0069]
步骤2.3.1:对于行为模式列表mlist中的任一项mi,设其依赖属性集为,设其依赖属性集为即em是e的子集,将em按e中优先级权重排序。
[0070]
步骤2.3.2:遍历排序后的属性集em,如果当前属性mi取值是范围类,则判定当前属性是否满足特定阈值σr,如果满足,则该属性取值为1,如果不满足,则该属性取值为0。如果当前属性mi取值不是范围类,则判断当前属性是否属于特定取值有限集σs,如果属于,则该属性取值为1,不属于则该属性取值为0。
[0071]
步骤2.3.4:如果对于行为模式列表mlist中的行为,目标有不同个可能的行为mtemp,则根据同名目标历史行为记录,查询最近的k条记录mk,将mk 按频率排序,并将mtemp与排序后的mk作对比,保留规则如式8所示:
[0072]
{m
l if m
l in mtemp and mk.index(m
l
)as small as possible}
ꢀꢀꢀ
(8)
[0073]
其中,index(m
l
)表示m
l
在mk中的位置。式8的含义是“在mtemp中出现、且在mk中的位置尽可能靠前”。
[0074]
步骤2.3.5:基于步骤2.3建立的分类模型,将待分类的目标的属性按照属性优先
级排列的顺序,构建n元组,传入分类模型,得到目标行为类别标签。
[0075]
步骤3:生成目标位置描述短语。
[0076]
识别轨迹列表在地图上所经历的区域,并转化为相对简单的文字短语。
[0077]
具体地,包括以下步骤:
[0078]
步骤3.1:收集geojson数据,通过gis工具等,生成 level0,level1,

levelm的多级区划地图,其中level0由若干个level1组成,以此类推;
[0079]
为各级区划建立一组多叉树ts,ti∈ts,ti的根节点rooti为第0级区划,其代表最粗粒度划分的地图,rooti的孩子结点为将rooti进一步细分所得的第1 级区划,以此类推,叶子结点为最细粒度的levelm级区划,并为树中的每一个结点建立指向父亲结点的映射以及指向对应区划地图的映射。
[0080]
步骤3.2:基于步骤2中生成的空间线向量以及步骤3.1中生成的多级区划数据,基于“分治”的思想,层级细化对轨迹所经过的区域进行计算。具体如下:
[0081]
步骤3.2.1:首先,采用level0级区划地图,依次遍历level0中所有图层,每个图层是一个面向量,可以基于gis工具的“intersect”方法,对轨迹线向量和level
0i
做相交判定,统计level0级区域,转步骤3.2.2。
[0082]
步骤3.2.2:步骤3.2.1中统计的level0级区域,分别调取对应的level1粒度区划地图。重复以上步骤,直到获得最细粒度levelm的经过区域列表areasm,转步骤3.2.3。
[0083]
步骤3.3:基于步骤3.1中建立的多叉树,对步骤3.2中获得的areasm列表中在地图上相邻的区域进行合并,将指向同一个父亲结点的区划合并成上级区划。具体地,包括以下步骤:
[0084]
步骤3.3.1:如果在列表中同时有不少于3个的leveli级区划属于同一个 level
i-1
级区划,则将这几个leveli级区划从列表中剔除,再将该level
i-1
级区划添加到列表首端;
[0085]
步骤3.3.2:如果存在3个leveli级区域同属于1个level
i-1
级区域,且还有 1至2个level
i+1
级区域所在的leveli级区域同属于该level
i-1
级区域,则将这几个level
i+1
级区域同样从areasm中剔除,得到最终合并区域列表area
merge

[0086]
步骤3.4:遍历步骤3.3中生成的合并列表area
merge
,对于每一项做如下处理:
[0087]
步骤3.4.1:依次遍历轨迹点列表p1~pn,基于gis工具将每一个点pi与做intersect判断;
[0088]
步骤3.4.2:统计与相交的轨迹点的数量c
ami

[0089]
步骤3.4.3:计算与重叠率r
hi
,公式如(9):
[0090][0091]
步骤3.5:基于包含轨迹点数量和重叠率,分别对area
merge
进行排序,并取两个排序列表中频率最高的三个区域作为活动区域描述,具体如下:
[0092]
步骤3.5.1:基于c
ami
逆序排序,得到点数列表clist
am

[0093]
步骤3.5.2:基于r
hi
逆序排序,得到重叠率列表rlisth;
[0094]
步骤3.5.3:基于以下规则合并clist
am
和rlisth:将clist
am
和rlisth第一项、第二
项、第三项两两一次添加如临时无序集合sa,直到sa中元素数量达到 3个,将该集合转成列表,即为该目标的活动区域列表。
[0095]
步骤4:将生成的目标行为描述短语和目标位置描述短语嵌入固定句式,生成目标活动文字描述。即:将步骤2生成的行为标签和步骤3生成的区域列表嵌入固定句式,生成目标活动文字描述。
[0096]
具体地,包括以下步骤:
[0097]
步骤4.1:根据历史活动情况,将行为标签转化为固定的行为描述短语,如果在最近的k2项记录中没有出现过当前行为,则在描述短语前加上“异常”前缀,新的描述短语为“异常进行某行为”,否则前缀为“正常”;
[0098]
步骤4.2:将同区域的目标进行合并,合并规则为:如果两个或以上目标的活动区域列表完全相同,则将这些目标合并,共用一个区域列表。
[0099]
步骤4.3:将行为描述短语和区域列表嵌入句式模板,为每个时空目标生成活动描述短句。
[0100]
实施例
[0101]
本实施例描述了本发明所述一种基于开源时空数据的时空目标描述文字生成方法的具体实施。
[0102]
实验示意图如图1系统架构所示,图2是本发明一种基于开源时空数据的时空目标描述文字生成方法的系统处理流程。本发明承接数据采集系统和文本生成系统,属于时空数据处理的中间环节。其中,数据采集系统从ais船舶自动识别系统采集船舶航行数据,包括船舶静态数据、船舶动态数据、船舶航程数据等,并基于ais数据进行仿真模拟,保存在时空数据基础数据库中。
[0103]
使用本发明提出的方法,对时空数据基础数据库中的时空数据进行文字描述生成,将生成的描述短句存储在描述句式数据库中,组合平台在此基础上进行公文的生成。
[0104]
表1时空数据标签表
[0105][0106][0107]
表2部分数据样例表
[0108][0109]
表3分级区划粒度表
[0110]
序号level粒度说明
1level0contient每个continent由多个country组成2level1country由多个province组成3level2province由多个city组成4level3city由多个county组成5level4county由多个town组成6level5town由多个street组成7level6street最精细粒度区划
[0111]
首先,对原始时空数据进行归一化。按照步骤1,对时空基本数据库中的数据进行归一化。一条原始轨迹的压缩轨迹以及归一化轨迹如图6所示,原始船舶轨迹共13242轨迹点,通过压缩得到14个点的点集,再通过归一化生成大小为2000的轨迹点集。
[0112]
之后,为船舶生成行为描述短语。如图3所示,按照步骤2,首先对轨迹形状进行分类计算,如图4所示轨迹,求得其轨迹中心点o坐标,以o为圆心,半径r作圆o1,所有轨迹点都会落在圆内,再以3r/4为半径作圆o2,落在o2中轨迹点数量与o1中轨迹点数量比值小于设定阈值,该轨迹形状类别为ring型。然后基于轨迹形状、船舶类型、船舶名称等属性建立属性集attrs,遍历所有行为模式的分类模型,以attrs作为模型的输入判断船舶是否复合行为模式,得到可能的行为模式集module_temps。然后查询该船舶最近的100(k=100)条记录recent_records,找出module_temps中在recent_records中出现概率最高的 module作为船舶的行为模式。
[0113]
然后,将从阿里云平台采集到的世界区划边界数据转化成区划地图。用 gis工具读取边界文件,并以表3所示分级粒度生成各级的shapefile文件,各级区划的包含关系存储成倒排索引的形式,本质上是一个可以向上查找的多叉树。例如:
[0114]“asia(contient)

china,
…→
beijing,
…→
haidian,
…→
zizhuyuan,
…”

[0115]
随后,按照本发明中所介绍的步骤3,为生成船舶活动区域描述。如图5所示。
[0116]
最后,遍历所有船舶,按照步骤4,取k2=10,对分类后的船舶行为进行异常性判断,如果过去10条记录里没有出现本次分类结果,表示本次该船舶进行了一次异常活动,并和合并后的区域描述一并嵌入对应的描述句式。例如:
[0117]“船舶x、行为0、区域a、正常、句式1

#船舶x##在##区域a##正常##进行##行为0#”[0118]
并将生成该船舶句子存储到描述句式数据库中。
[0119]
经过上述处理后的描述句式数据库,是从原始时空数据中挖掘出的隐含语义信息,可以用于后续的全局时空数据的公文生成。并且通过语言文字来对时空数据进行描述,能够直观、清晰地代表原始的时空数据,生成的文字短语还可以进一步应用于其他如预测等任务。
[0120]
以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。

技术特征:
1.一种基于开源时空数据的时空目标描述文字生成方法,其特征在于,包括以下步骤:步骤1:对时空目标轨迹数据进行清洗,在保证数据规模的情况下,对原始的轨迹实现归一化压缩;步骤2:生成目标行为描述短语;即:识别目标的活动意图,并与历史记录作比较,生成特定的文字描述;步骤2.1:计算目标轨迹形状;对时空目标的轨迹形状归类:{dot:0,straightline:1,circle:2,ring:3,mass:4},其中,dot表示点型,straightline表示直线型,circle表示类圆型,ring表示圆环型,mass表示混乱型;其中,轨迹形状归类方法如下:步骤2.1.1:对于一条轨迹序列h
i
={p1,p2,...,p
n
},如果轨迹序列中所有点的坐标偏移量小于阈值δ
dot
,则将轨迹归类为dot型;否则转步骤2.1.2;其中,地球上的两点x=<lat1,lon1>和y=<lat2,lon2>空间距离dis
xy
,采用haversine公式计算:dis
xy
=haversin(vlat)+coslat1*coslat2*haversin(vlon)vlat=abs(lat1-lat2)vlon=abs(lon1-lon2)其中,vlat代表点x的纬度和点y的纬度差的绝对值,vlon代表点x的经度和点y的经度差的绝对值;haversin()表示半正矢公式;abs()代表取绝对值;cos表示余弦函数;lat、lon均表示弧度,通过将角度形式经纬度转换得到,转换公式为:其中,radian代表弧度,degrees代表角度,π表示圆周率;步骤2.1.2:连接点p1和点p
n
形成一条直线计算p2~p
n-1
所有点到线段的距离d
ih
,1<i<n;如果d
ih
的最大值不大于设定的阈值δ
d
,则将轨迹归类为straightline型;否则转步骤2.1.3;其中,点p
i
到直线line
h
的距离d
ih
由下式计算:其中,lon1、lat1、lon2、lat2分别是直线line
h
两端点的经纬度角度坐标,lon
i
、lat
i
是点p
i
角度坐标;步骤2.1.3:将所有点p1~p
n
连接起来,形成一条空间线向量获取该线向量的重心
以为圆心,以与点p1的空间距离为半径r
i
作圆z
i
,统计h
i
中落在该圆内的点的数量如果大于设定的阈值δ
z
,则转步骤2.1.5,否则转步骤2.1.4;步骤2.1.4:以r
i
的3/4为半径作小圆z
i2
,统计h
i
中落在小圆z
i2
中的点的数量如果小于设定的阈值δ
c
,则将轨迹形状归类为ring型,否则归类为circle型;步骤2.1.5:如果不满足以上任意形状的轨迹,则归类为mass型;步骤2.1.6:轨迹增加shape属性,其值为其轨迹形状id;步骤2.2:为轨迹数据中的各项属性设定优先级权重,优先级排布为0、1、2

,数字越小,优先级越高,得到属性集列表,并确定各属性的取值是“范围”类还是“有限集”类;步骤2.3:建立任务与属性的决策链;基于步骤2.2中设定的属性优先级,构建基于规则式的分类模型class,如下式所示:class=model(attr0,attr1,

,attr
n
)其中,attr
i
,i∈[0,n]是按属性优先级排列的时空目标属性,n为属性数量;model表示定义的分类模型基类;遍历每一种行为模式,依据属性优先级,构建出判别逻辑链,判别链类似决策树的一条路径;步骤3:生成目标位置描述短语;即:识别轨迹列表在地图上所经历的区域,并转化为相对简单的文字短语;包括以下步骤:步骤3.1:收集geojson数据,生成level0,level1,

level
m
的多级区划地图,其中level0由若干个level1组成,以此类推;为各级区划建立一组多叉树t
s
,t
i
∈t
s
,t
i
的根节点root
i
为第0级区划,其代表最粗粒度划分的地图,root
i
的孩子结点为将root
i
进一步细分所得的第1级区划,以此类推,叶子结点为最细粒度的level
m
级区划,并为树中的每一个结点建立指向父亲结点的映射以及指向对应区划地图的映射;步骤3.2:基于步骤2中生成的空间线向量以及步骤3.1中生成的多级区划数据,基于“分治”思想,层级细化对轨迹所经过的区域进行计算;步骤3.2.1:首先,采用level0级区划地图,依次遍历level0中所有图层,每个图层是一个面向量,对轨迹线向量和level
0i
做相交判定,统计level0级区域,转步骤3.2.2;步骤3.2.2:步骤3.2.1中统计的level0级区域,分别调取对应的level1粒度区划地图;重复以上步骤,直到获得最细粒度level
m
的经过区域列表areas
m
,转步骤3.2.3;步骤3.3:基于步骤3.1中建立的多叉树,对步骤3.2中获得的areas
m
列表中在地图上相邻的区域进行合并,将指向同一个父亲结点的区划合并成上级区划;步骤3.4:遍历步骤3.3中生成的合并列表area
merge
,对于每一项做如下处理:步骤3.4.1:依次遍历轨迹点列表p1~p
n
,将每一个点p
i
与做intersect判断;步骤3.4.2:统计与相交的轨迹点的数量c
ami

步骤3.4.3:计算与重叠率r
hi
,如下所示:步骤3.5:基于包含轨迹点数量和重叠率,分别对area
merge
进行排序,并取两个排序列表中频率最高的三个区域作为活动区域描述;步骤4:将生成的目标行为描述短语和目标位置描述短语嵌入固定句式,生成目标活动文字描述。2.如权利要求1所述的一种基于开源时空数据的时空目标描述文字生成方法,其特征在于,步骤1进行数据清晰时,通过轨迹数据几何线段化实现;通过将原始的不规则轨迹点转化为轨迹线段的集合,再通过均匀插值处理对线段集合进行扩充。3.如权利要求2所述的一种基于开源时空数据的时空目标描述文字生成方法,其特征在于,包括以下步骤:步骤1.1:基于douglas-peucker算法,对轨迹数据进行压缩;步骤1.1.1:在轨迹曲线首尾两点e、f之间连接一条直线ef,该直线为曲线的弦;步骤1.1.2:遍历曲线上其他所有点,求每个点到直线ef的距离,找到最大距离的点c,最大距离记为d
max
;步骤1.1.3:比较该距离d
max
与预先定义的阈值d
max
大小,如果d
max
<d
max
,则将该直线ef作为曲线段的近似,曲线段处理完毕;若d
max
≥d
max
,则使c点将曲线ef分为ec和cf两段,并分别对这两段进行步骤1.1.1至步骤1.1.3的处理;步骤1.1.4:当所有曲线都处理完毕时,依次连接各个分割点形成的折线,即为原始曲线的路径,分割点组成的点集即为压缩后的轨迹点集;步骤1.2:对压缩点集进行归一化插值;设归一化点集大小为c
max
,对于一组压缩后的轨迹点集h={p1,p2,...,p
n
},每两个点{p
i
,p
j
}之间都是一条拟合的直线轨迹,以p
i
和p
j
之间的时间差timedis
i,j
与p1和p
n
时间差的比值作为该线段在整体轨迹中的占比,则p
i
和p
j
之间插入轨迹点数为i
i,j
=r
i,j
*c
max
;对每一段线段执行同样操作,最终得到归一化的轨迹序列{h1,h2,,

,h
i
,...,h
m
},其中每一条轨迹序列h
i
长度为c
max
。4.如权利要求1所述的一种基于开源时空数据的时空目标描述文字生成方法,其特征在于,步骤2.3包括以下步骤:步骤2.3.1:对于行为模式列表mlist中的任一项m
i
,设其依赖属性集为,设其依赖属性集为即e
m
是e的子集,将e
m
按e中优先级权重排序;步骤2.3.2:遍历排序后的属性集e
m
,如果当前属性m
i
取值是范围类,则判定当前属性是否满足特定阈值σ
r
,如果满足,则该属性取值为1,如果不满足,则该属性取值为0;如果当前属性m
i
取值不是范围类,则判断当前属性是否属于特定取值有限集σ
s
,如果属于,则该属性取值为1,不属于则该属性取值为0;
步骤2.3.4:如果对于行为模式列表mlist中的行为,目标有不同个可能的行为mtemp,则根据同名目标历史行为记录,查询最近的k条记录mk,将mk按频率排序,并将mtemp与排序后的mk作对比,保留规则如下式所示:{m
l
if m
l
in mtemp and mk.index(m
l
)as small as possible}其中,index(m
l
)表示m
l
在mk中的位置;上述的含义是“在mtemp中出现、且在mk中的位置尽可能靠前”;步骤2.3.5:基于步骤2.3建立的分类模型,将待分类的目标的属性按照属性优先级排列的顺序,构建n元组,传入分类模型,得到目标行为类别标签。5.如权利要求1所述的一种基于开源时空数据的时空目标描述文字生成方法,其特征在于,步骤3.3包括以下步骤:步骤3.3.1:如果在列表中同时有不少于3个的level
i
级区划属于同一个level
i-1
级区划,则将这几个level
i
级区划从列表中剔除,再将该level
i-1
级区划添加到列表首端;步骤3.3.2:如果存在3个level
i
级区域同属于1个level
i-1
级区域,且还有1至2个level
i+1
级区域所在的level
i
级区域同属于该level
i-1
级区域,则将这几个level
i+1
级区域同样从areas
m
中剔除,得到最终合并区域列表area
merge
。6.如权利要求1所述的一种基于开源时空数据的时空目标描述文字生成方法,其特征在于,步骤3.5包括以下步骤:步骤3.5.1:基于c
ami
逆序排序,得到点数列表clist
am
;步骤3.5.2:基于r
hi
逆序排序,得到重叠率列表rlist
h
;步骤3.5.3:基于以下规则合并clist
am
和rlist
h
:将clist
am
和rlist
h
第一项、第二项、第三项两两一次添加如临时无序集合s
a
,直到s
a
中元素数量达到3个,将该集合转成列表,即为该目标的活动区域列表。7.如权利要求1所述的一种基于开源时空数据的时空目标描述文字生成方法,其特征在于,步骤4中,将步骤2生成的行为标签和步骤3生成的区域列表嵌入固定句式,生成目标活动文字描述,包括以下步骤:步骤4.1:根据历史活动情况,将行为标签转化为固定的行为描述短语,如果在最近的k2项记录中没有出现过当前行为,则在描述短语前加上“异常”前缀,新的描述短语为“异常进行某行为”,否则前缀为“正常”;步骤4.2:将同区域的目标进行合并,合并规则为:如果两个或以上目标的活动区域列表完全相同,则将这些目标合并,共用一个区域列表;步骤4.3:将行为描述短语和区域列表嵌入句式模板,为每个时空目标生成活动描述短句。

技术总结
本发明涉及一种基于开源时空数据的时空目标描述文字生成方法,属于时空数据分析与挖掘技术领域。本方法通过分析时空目标数据的特点,经过数据清洗、行为描述短语生成、位置描述短语生成和目标描述生成,提取时空目标活动轨迹的语义信息,生成目标活动状态文字描述,可用于时空数据语义理解等。本方法能够对不含显示语义信息的时空数据进行理解,能够准确、高效地分析时空数据中各时空目标的行为模式,并能够准确识别时空数据在地图上所经过的地理位置,不依赖于在线网络,可以实现面向海量时空数据的快速语义感知,为时空数据语义分析提供技术支撑。本发明拓展了时空数据的应用范围,具有良好的应用前景。具有良好的应用前景。具有良好的应用前景。


技术研发人员:刘维康 张华平 商建云
受保护的技术使用者:北京理工大学
技术研发日:2022.03.21
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-8169.html

最新回复(0)