系列文章链接
时空数据库系列(一)什么是时空数据?特征和适用场景有哪些?
时空数据库系列(二)时空数据库介绍 了解数据模型与应用场景
时空数据库系列(三)技术讲解:时空轨迹数据压缩、空间索引R-tree
时空数据库系列(五)星环时空数据库Spacture案例与Demo演示
时空数据库快速发展,有哪些需求?
传感器网络、移动互联网、射频识别、全球定位系统等设备时刻输出时间和空间数据,数据量增长非常迅速,这对存储和管理时空数据带来了挑战,传统数据库很难应对时空数据。另外随着民用航空航天市场的开放,卫星遥感数据量呈爆发式增加,每天增加TB级,为遥感影像的管理存储以及计算带来了新的机遇与挑战。
需求点:
针对传统二维矢量数据的存储管理,如今对三维、四维以及多维度场景数据存储管理需求越来越大
传统时空数据库主要对静态矢量数据的管理,对应时序动态变化数据(如轨迹数据)在存储管理和业务功能上支持度比较有限
随着国家建设智慧城市、实景三维等三维场景新需求,也对时空数据库的三维模型以及三维瓦片等的管理存储以及计算提出新的要求
北斗导航、激光点云、倾斜摄影、高精地图等新兴测绘技术产生大量高精的点云数据,点云数据的高效存储管理也是时空数据库的需求点
传统时空数据库只能对较小场景的栅格进行计算分析,面对海量栅格存储计算在性能上还是有一定不足
传统时空数据更多的应用于国土资源行业,随着互联网技术的高效发展,时空数据已经深入到各行各业时空数据已经深入到各行各业(自动驾驶、疫情防控、行星与极地探索、水电建设、应急防灾、生态监测、智慧城市等)成为新时代的新基建,时空数据库面对多行业多场景的特点,将提供特殊性和通用性两角度的需求生态
开源产品存在不足,无法满足国内需求
GeoMesa仅支持对矢量数据的存储,不支持对多维时空轨迹数据、栅格数据、瓦片数据的存储。
GeoMesa底层主要是通过键值的方式对空间对象进行存储;受制于该存储模式,GeoMesa的时空索引能力较弱,只能通过行键构建索引,无法支持R-tree等复杂索引。
不支持GeoSOT、北斗网格码等国家标准,无法使用GeoSOT及北斗网格对时空对象进行编码及管理。
2. MobilityDB
只支持基于矢量的基本时空类型,没有提供栅格分析功能,更没提供时序栅格数据的存储能力。
只定义了基本的时空类型及函数,时空分析能力偏弱;缺乏针对轨迹数据的常用处理及分析功能,如轨迹拆分、轨迹相似度等。
MobilityDB只提供基本的时空存储及分析功能,缺乏对国内一些复杂定制化场景的支持,如社会管理、态势分析等场景。
星环科技自主可控时空数据库Spacture介绍
Transwarp Spacture是星环自主研发的时空数据库。支持大规模矢量数据、遥感影像数据、数字高程数据、时空轨迹数据的存储与计算,具有完备的数据查询、分析和挖掘能力,可用于时空查询分析、时空模式挖掘、时空轨迹聚类等时空轨迹数据分析场景,广泛应用于交通物流、城市管理、位置服务等场景。
Spacture由通用数据库底座和时空插件两部分组成,通用数据库底座基于 MPP(大规模并行处理)架构,对外兼容PostgreSQL,支持通过PostgreSQL协议访问Spacture;同时Spacture还提供了一系列针对时空数据的插件,原生支持了矢量、栅格、瓦片、轨迹等多种空间数据的存储。
Spacture在大数据量情况下具有良好的可扩展性能,存储容量能够根据节点数量线性扩展,可满足 PB 级海量数据,实现空间、时空数据存储和分析。
星环Spacture优势有哪些?
1. 时空多模
原生支持矢量、栅格、瓦片、轨迹等多种空间、时空数据模型,为泛在空间应用提供一体化空间数据的存储支撑。
针对矢量数据,Spacture遵循OGC的标准定义,支持常用的空间地理数据格式,包括点(POINT)、多点(MULTIPOINT)、线(LINESTRING)、多线(MULTILINSTRING)、多边形(POLYGON)、多边形集合(MULTIPOLYGON)、三角形面片(TRIANGLE)、多面体(POLYHEDRALSRUFACE)、不规则三角网(TIN)、曲线(CIRCULARSTRING)、曲多边形(CURVEPOLYGON)、复合类型(GEOMETRYCOLLECTION)等。
Spacture提供了基本的查询能力支持,包括基于要素的属性查询,基于空间关系和空间距离的查询: 1)属性查询:针对要素的属性维度的查询,包括点查和范围查询;2) 空间关系查询:基于空间关系查询矢量要素,如包含、相交等;3) 空间距离查询:基于空间距离的查询,如查询距离指定的点范围5公里的多边形等。
Spacture原生提供对遥感影像、DEM等常用栅格数据的存储查询及分析。支持indb、outdb两种存储模式,既可以将栅格存储在数据库内部,也可以访问外部栅格数据源。支持栅格数据以瓦片的方式存储,实现不同区域栅格数据的快速查询。Spacture提供丰富的分析函数,包括栅格创建、编辑、栅格查询、裁剪、波段计算、重采样、重分类等。用户可以基于Spacture实现常见波段指数计算,如计算区域内的植被生长特征(NDVI);针对DEM数据,Spacture可以有效支持地形分析,如获取区域坡度、坡向、粗糙度等地形特征的计算。
Spacture支持数据立方体模型,在多种维度上进行统计分析,并基于数据立方体完成多光谱、长时序影像数据的复杂分析,提供如城市扩张变化监测、海岸线侵蚀变化监测、火灾区域计算等相关场景的支持。以多维数组作为分析计算的基本单位,通过组合不同的多维数组和影像其他属性特征构成数据立方体。将长时序栅格数据抽象为具有时间、空间多维度的数据立方体,对特定时序区间的栅格数据进行统一的预处理、分析和可视化等基本操作。
矢量瓦片是基于Mapbox的MVT标准针对矢量数据进行切割形成的瓦片数据。通常为pbf格式或者mbtiles的组织格式,以实现矢量数据的高效可视化,同时支持在webgis端进行样式定制化渲染和属性查询。Spacture实现了矢量瓦片的实时切片和离线切片两种业务功能,实时矢量切片支持对数据的动态更新、编辑后实时渲染、高效检索;离线矢量切片支持多种瓦片数据类型与低更新率数据,与实时矢量切片相比支持数据量更大,检索性能更好。
轨迹数据作为时空数据的一种,指的是特定对象在空间中的移动路径,通常表示为经纬度点的序列,例如tr=<p1→p2→…pn>,其中点pi=(lat,lng,t),表示该物体在t时刻位于地理坐标位置(lat,lng)上,lat和lng分别表示纬度和经度。Spacture通过transwarp_mod插件,从数据库层面原生支持了轨迹数据的存储。具体包括融合空间、时间维度的轨迹类型(trajectory)和存储结构的定义,以及分析函数和相关索引的支持。Trajectory数据类型逻辑上表达了移动对象在真实世界中的移动过程;在物理实现上,轨迹数据表达为连续的时空点的序列,同时包括移动对象的相关元数据(如坐标系等)。
Spacture引入了对时间和空间维度的高压缩比算法,可大幅降低数据存储的大小。针对时间维度,根据时间关联的条目进行差值计算,以及差值的差值计算得到占用字节数非常小的数值并进行保存。针对空间维度,使用XOR算法进行计算得到占用存储更小的数值进行保存。具体算法讲解可参考《时空数据库系列(三)时空数据技术点》中描述GORILLA算法对值的压缩。
Spacture提供了针对R-Tree的扩展,将轨迹数据以多维立方体的方式构建多维R-Tree。经典的R-Tree可应用于所有空间几何对象,针对轨迹数据的多维R-Tree是在三维空间基础上加入时间作为第四维度,可以快速检索满足空间、时间、空间+时间组合条件的结果集。
时空查询是针对轨迹数据的典型查询和基本操作,如计算在指定的时间段内经过某个特定区域的舰船等。Spacture包括时空查询的相关函数,并通过时空索引优良的设计,能够快速地满足针对时空范围条件或者属性条件的轨迹查询分析。
Spacture提供了丰富的轨迹分析算法,完整支持了OGC Moving Features国际标准。驻留点分析可以在移动对象连续运动过程中,出现的在某个时间段内空间位置相对较小范围的移动或者停留的行为。Spacture提供了驻留点分析的相关算法支持;针对驻留点的检测,可以通过对象停留行为进行分析。
通过提取时空轨迹数据中的相似性特征,在没有先验知识的情况下,将具有相似行为的时空对象划分到一起,而将具有相异行为的时空对象划分开来,其关键是根据时空轨迹数据的特点,设计与定义不同时空轨迹间的相似度度量方法。轨迹相似度计算是轨迹分析和挖掘过程中的基本手段,并且在不同的应用场景中均有广泛使用,如根据当前目标轨迹,通过轨迹相似度计算自动匹配获取对方相似的飞行巡逻或者进攻轨迹路线。Spacture提供了LCSS、EDR、DTW等多种常见相似度算法的支持,快速计算单个目标和单个目标的相似度,以及数据集内的任意两个目标的相似度。同时,用户可以通过开发自定义函数的方式,结合特定的场景扩展新的轨迹相似度计算方法。
轨迹聚类通过对各种时空轨迹数据进行聚类分析,可以提取时空轨迹数据中的相似性并识别异常特征和有意义的模式。基于轨迹数据的聚类分析应用范围涵盖人类行为,交通物流,应急疏散管理,以及军事的作战应对等诸多方面。Spacture根据用户输入的一组轨迹数据或者数据库中存储的轨迹数据,计算聚类结果。计算结束后,生成多个由轨迹聚合而成的聚类,每个聚类包括属于该类别的所有原始输入轨迹,以及中心代表轨迹。
2. 拥抱国家、行业标准
Spacture完整支持了GeoSOT全球网格剖分理论;GeoSOT是对地球空间做递归剖分的思想,将整个地球空间划分为不同等级的网格。同一位置的不同等级的网格,具有嵌套性;而且支持二维空间网格及三维空间网格,也就是对于某个地球表面之下或之上的空间点,都可以对应一个唯一的空间标识码。Spacture通过相关udf实现了为空间数据计算GeoSOT编码的功能,实现在同一网格内,任意一个实体对象和各种不同的数据建立起内在的相互关联。
支持飞腾、申威、鲲鹏、海光等国产芯片(x86/arm);对国产操作系统,如统信、麒麟等,也都有比较好的支持。
3. 生态兼容
用户可以通过PostgreSQL协议访问Spacture;同时,可以快速复用PostgreSQL相关的插件以及周边工具。
Spacture兼容开源和商业主流GIS软件,包括QGIS、ArcGIS和超图;通过GeoServer,用户可以把Spacture里的时空数据发布成OGC的服务。同时,Spacture兼容Jupyter Notebook,支持对Spacture库中的时空数据进行访问,并通过GeoPandas、Folium等Python库进行时空数据库分析及可视化。
Spacture应用场景
通过轨迹数据挖掘发现隐含的知识,探求深层次的城市动力学机制,为解决城市交通、城市环境、突发事件应急等重大社会问题提供辅助手段。
通过轨迹数据分析来深入理解交通路况特征和拥堵的演化模式,综合运用历史事件、时空、活动、天气等多维信息,辅助构建数据驱动的城市交通指挥体系。
提供针对栅格数据的原生模型支持, 有效支撑大规模遥感影像数据和栅格数据的存储、查询和基础分析处理能力。
系列文章链接
时空数据库系列(一)什么是时空数据?特征和适用场景有哪些?
时空数据库系列(二)时空数据库介绍 了解数据模型与应用场景
时空数据库系列(三)技术讲解:时空轨迹数据压缩、空间索引R-tree
时空数据库系列(五)星环时空数据库Spacture案例与Demo演示
时空数据库快速发展,有哪些需求?
传感器网络、移动互联网、射频识别、全球定位系统等设备时刻输出时间和空间数据,数据量增长非常迅速,这对存储和管理时空数据带来了挑战,传统数据库很难应对时空数据。另外随着民用航空航天市场的开放,卫星遥感数据量呈爆发式增加,每天增加TB级,为遥感影像的管理存储以及计算带来了新的机遇与挑战。
需求点:
针对传统二维矢量数据的存储管理,如今对三维、四维以及多维度场景数据存储管理需求越来越大
传统时空数据库主要对静态矢量数据的管理,对应时序动态变化数据(如轨迹数据)在存储管理和业务功能上支持度比较有限
随着国家建设智慧城市、实景三维等三维场景新需求,也对时空数据库的三维模型以及三维瓦片等的管理存储以及计算提出新的要求
北斗导航、激光点云、倾斜摄影、高精地图等新兴测绘技术产生大量高精的点云数据,点云数据的高效存储管理也是时空数据库的需求点
传统时空数据库只能对较小场景的栅格进行计算分析,面对海量栅格存储计算在性能上还是有一定不足
传统时空数据更多的应用于国土资源行业,随着互联网技术的高效发展,时空数据已经深入到各行各业时空数据已经深入到各行各业(自动驾驶、疫情防控、行星与极地探索、水电建设、应急防灾、生态监测、智慧城市等)成为新时代的新基建,时空数据库面对多行业多场景的特点,将提供特殊性和通用性两角度的需求生态
开源产品存在不足,无法满足国内需求
GeoMesa仅支持对矢量数据的存储,不支持对多维时空轨迹数据、栅格数据、瓦片数据的存储。
GeoMesa底层主要是通过键值的方式对空间对象进行存储;受制于该存储模式,GeoMesa的时空索引能力较弱,只能通过行键构建索引,无法支持R-tree等复杂索引。
不支持GeoSOT、北斗网格码等国家标准,无法使用GeoSOT及北斗网格对时空对象进行编码及管理。
2. MobilityDB
只支持基于矢量的基本时空类型,没有提供栅格分析功能,更没提供时序栅格数据的存储能力。
只定义了基本的时空类型及函数,时空分析能力偏弱;缺乏针对轨迹数据的常用处理及分析功能,如轨迹拆分、轨迹相似度等。
MobilityDB只提供基本的时空存储及分析功能,缺乏对国内一些复杂定制化场景的支持,如社会管理、态势分析等场景。
星环科技自主可控时空数据库Spacture介绍
Transwarp Spacture是星环自主研发的时空数据库。支持大规模矢量数据、遥感影像数据、数字高程数据、时空轨迹数据的存储与计算,具有完备的数据查询、分析和挖掘能力,可用于时空查询分析、时空模式挖掘、时空轨迹聚类等时空轨迹数据分析场景,广泛应用于交通物流、城市管理、位置服务等场景。
Spacture由通用数据库底座和时空插件两部分组成,通用数据库底座基于 MPP(大规模并行处理)架构,对外兼容PostgreSQL,支持通过PostgreSQL协议访问Spacture;同时Spacture还提供了一系列针对时空数据的插件,原生支持了矢量、栅格、瓦片、轨迹等多种空间数据的存储。
Spacture在大数据量情况下具有良好的可扩展性能,存储容量能够根据节点数量线性扩展,可满足 PB 级海量数据,实现空间、时空数据存储和分析。
星环Spacture优势有哪些?
1. 时空多模
原生支持矢量、栅格、瓦片、轨迹等多种空间、时空数据模型,为泛在空间应用提供一体化空间数据的存储支撑。
针对矢量数据,Spacture遵循OGC的标准定义,支持常用的空间地理数据格式,包括点(POINT)、多点(MULTIPOINT)、线(LINESTRING)、多线(MULTILINSTRING)、多边形(POLYGON)、多边形集合(MULTIPOLYGON)、三角形面片(TRIANGLE)、多面体(POLYHEDRALSRUFACE)、不规则三角网(TIN)、曲线(CIRCULARSTRING)、曲多边形(CURVEPOLYGON)、复合类型(GEOMETRYCOLLECTION)等。
Spacture提供了基本的查询能力支持,包括基于要素的属性查询,基于空间关系和空间距离的查询: 1)属性查询:针对要素的属性维度的查询,包括点查和范围查询;2) 空间关系查询:基于空间关系查询矢量要素,如包含、相交等;3) 空间距离查询:基于空间距离的查询,如查询距离指定的点范围5公里的多边形等。
Spacture原生提供对遥感影像、DEM等常用栅格数据的存储查询及分析。支持indb、outdb两种存储模式,既可以将栅格存储在数据库内部,也可以访问外部栅格数据源。支持栅格数据以瓦片的方式存储,实现不同区域栅格数据的快速查询。Spacture提供丰富的分析函数,包括栅格创建、编辑、栅格查询、裁剪、波段计算、重采样、重分类等。用户可以基于Spacture实现常见波段指数计算,如计算区域内的植被生长特征(NDVI);针对DEM数据,Spacture可以有效支持地形分析,如获取区域坡度、坡向、粗糙度等地形特征的计算。
Spacture支持数据立方体模型,在多种维度上进行统计分析,并基于数据立方体完成多光谱、长时序影像数据的复杂分析,提供如城市扩张变化监测、海岸线侵蚀变化监测、火灾区域计算等相关场景的支持。以多维数组作为分析计算的基本单位,通过组合不同的多维数组和影像其他属性特征构成数据立方体。将长时序栅格数据抽象为具有时间、空间多维度的数据立方体,对特定时序区间的栅格数据进行统一的预处理、分析和可视化等基本操作。
矢量瓦片是基于Mapbox的MVT标准针对矢量数据进行切割形成的瓦片数据。通常为pbf格式或者mbtiles的组织格式,以实现矢量数据的高效可视化,同时支持在webgis端进行样式定制化渲染和属性查询。Spacture实现了矢量瓦片的实时切片和离线切片两种业务功能,实时矢量切片支持对数据的动态更新、编辑后实时渲染、高效检索;离线矢量切片支持多种瓦片数据类型与低更新率数据,与实时矢量切片相比支持数据量更大,检索性能更好。
轨迹数据作为时空数据的一种,指的是特定对象在空间中的移动路径,通常表示为经纬度点的序列,例如tr=<p1→p2→…pn>,其中点pi=(lat,lng,t),表示该物体在t时刻位于地理坐标位置(lat,lng)上,lat和lng分别表示纬度和经度。Spacture通过transwarp_mod插件,从数据库层面原生支持了轨迹数据的存储。具体包括融合空间、时间维度的轨迹类型(trajectory)和存储结构的定义,以及分析函数和相关索引的支持。Trajectory数据类型逻辑上表达了移动对象在真实世界中的移动过程;在物理实现上,轨迹数据表达为连续的时空点的序列,同时包括移动对象的相关元数据(如坐标系等)。
Spacture引入了对时间和空间维度的高压缩比算法,可大幅降低数据存储的大小。针对时间维度,根据时间关联的条目进行差值计算,以及差值的差值计算得到占用字节数非常小的数值并进行保存。针对空间维度,使用XOR算法进行计算得到占用存储更小的数值进行保存。具体算法讲解可参考《时空数据库系列(三)时空数据技术点》中描述GORILLA算法对值的压缩。
Spacture提供了针对R-Tree的扩展,将轨迹数据以多维立方体的方式构建多维R-Tree。经典的R-Tree可应用于所有空间几何对象,针对轨迹数据的多维R-Tree是在三维空间基础上加入时间作为第四维度,可以快速检索满足空间、时间、空间+时间组合条件的结果集。
时空查询是针对轨迹数据的典型查询和基本操作,如计算在指定的时间段内经过某个特定区域的舰船等。Spacture包括时空查询的相关函数,并通过时空索引优良的设计,能够快速地满足针对时空范围条件或者属性条件的轨迹查询分析。
Spacture提供了丰富的轨迹分析算法,完整支持了OGC Moving Features国际标准。驻留点分析可以在移动对象连续运动过程中,出现的在某个时间段内空间位置相对较小范围的移动或者停留的行为。Spacture提供了驻留点分析的相关算法支持;针对驻留点的检测,可以通过对象停留行为进行分析。
通过提取时空轨迹数据中的相似性特征,在没有先验知识的情况下,将具有相似行为的时空对象划分到一起,而将具有相异行为的时空对象划分开来,其关键是根据时空轨迹数据的特点,设计与定义不同时空轨迹间的相似度度量方法。轨迹相似度计算是轨迹分析和挖掘过程中的基本手段,并且在不同的应用场景中均有广泛使用,如根据当前目标轨迹,通过轨迹相似度计算自动匹配获取对方相似的飞行巡逻或者进攻轨迹路线。Spacture提供了LCSS、EDR、DTW等多种常见相似度算法的支持,快速计算单个目标和单个目标的相似度,以及数据集内的任意两个目标的相似度。同时,用户可以通过开发自定义函数的方式,结合特定的场景扩展新的轨迹相似度计算方法。
轨迹聚类通过对各种时空轨迹数据进行聚类分析,可以提取时空轨迹数据中的相似性并识别异常特征和有意义的模式。基于轨迹数据的聚类分析应用范围涵盖人类行为,交通物流,应急疏散管理,以及军事的作战应对等诸多方面。Spacture根据用户输入的一组轨迹数据或者数据库中存储的轨迹数据,计算聚类结果。计算结束后,生成多个由轨迹聚合而成的聚类,每个聚类包括属于该类别的所有原始输入轨迹,以及中心代表轨迹。
2. 拥抱国家、行业标准
Spacture完整支持了GeoSOT全球网格剖分理论;GeoSOT是对地球空间做递归剖分的思想,将整个地球空间划分为不同等级的网格。同一位置的不同等级的网格,具有嵌套性;而且支持二维空间网格及三维空间网格,也就是对于某个地球表面之下或之上的空间点,都可以对应一个唯一的空间标识码。Spacture通过相关udf实现了为空间数据计算GeoSOT编码的功能,实现在同一网格内,任意一个实体对象和各种不同的数据建立起内在的相互关联。
支持飞腾、申威、鲲鹏、海光等国产芯片(x86/arm);对国产操作系统,如统信、麒麟等,也都有比较好的支持。
3. 生态兼容
用户可以通过PostgreSQL协议访问Spacture;同时,可以快速复用PostgreSQL相关的插件以及周边工具。
Spacture兼容开源和商业主流GIS软件,包括QGIS、ArcGIS和超图;通过GeoServer,用户可以把Spacture里的时空数据发布成OGC的服务。同时,Spacture兼容Jupyter Notebook,支持对Spacture库中的时空数据进行访问,并通过GeoPandas、Folium等Python库进行时空数据库分析及可视化。
Spacture应用场景
通过轨迹数据挖掘发现隐含的知识,探求深层次的城市动力学机制,为解决城市交通、城市环境、突发事件应急等重大社会问题提供辅助手段。
通过轨迹数据分析来深入理解交通路况特征和拥堵的演化模式,综合运用历史事件、时空、活动、天气等多维信息,辅助构建数据驱动的城市交通指挥体系。
提供针对栅格数据的原生模型支持, 有效支撑大规模遥感影像数据和栅格数据的存储、查询和基础分析处理能力。