«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (5): 308-315  DOI: 10.19678/j.issn.1000-3428.0056768
0

引用本文  

梅新, 王文荟, 钟少波, 等. 基于PostGIS的线要素空间聚合方法[J]. 计算机工程, 2021, 47(5), 308-315. DOI: 10.19678/j.issn.1000-3428.0056768.
MEI Xin, WANG Wenhui, ZHONG Shaobo, et al. Polyline Spatial Aggregation Method Based on PostGIS[J]. Computer Engineering, 2021, 47(5), 308-315. DOI: 10.19678/j.issn.1000-3428.0056768.

基金项目

国家自然科学基金(41471338);北京市科技计划课题(Z191100001419002);中国科学院科技战略咨询研究院项目“大数据环境下的可视化宏观决策支持平台”

通信作者

宋敦江(通信作者), 副研究员、博士

作者简介

梅新(1973-), 男, 副教授、博士, 主研方向为生态和农业遥感、地理信息系统;
王文荟, 博士研究生;
钟少波, 副研究员;
梅白帆, 工程师

文章历史

收稿日期:2019-12-02
修回日期:2020-03-27
基于PostGIS的线要素空间聚合方法
梅新1 , 王文荟1 , 钟少波2 , 宋敦江3 , 梅白帆4     
1. 湖北大学 资源环境学院, 武汉 430062;
2. 北京城市系统工程研究中心, 北京 100102;
3. 中国科学院科技战略咨询研究院, 北京 100190;
4. 江苏电力信息科技有限公司, 南京 210000
摘要:针对当前常规方法线空间流量数据聚合效率低的问题,提出基于PostGIS的流空间线要素聚合方法。通过离散化所有的线为点集,建立点集的空间索引,计算点集的唯一点集,对唯一点集上的每个点累加所有与该点重叠的属性值并进行更新,根据点的序列号和上一步更新的属性值,重新连接该条线上所有的点,在属性值变化处进行打断形成新的线要素。在此基础上,去除空间重叠的线要素和图形为空的线要素得到最后的线聚合结果。实验结果表明,该方法以矢量数据形式输出的线聚合结果正确,提取速度显著提升,有效地解决了大量矢量线数据融合时常规方法效率低下的问题。
关键词线要素    空间流量    空间聚合    聚合效率    PostGIS平台    
Polyline Spatial Aggregation Method Based on PostGIS
MEI Xin1 , WANG Wenhui1 , ZHONG Shaobo2 , SONG Dunjiang3 , MEI Baifan4     
1. Faculty of Resources and Environmental Science, Hubei University, Wuhan 430062, China;
2. Beijing Urban System Engineering Research Center, Beijing 100102, China;
3. Institutes of Science and Development, Chinese Academy of Sciences, Beijing 100190, China;
4. Jiangsu Electric Power Information Technology Co., Ltd., Nanjing 210000, China
Abstract: To address the low efficiency of the existing methods for polyline spatial flow data aggregation, this paper proposes a method for polyline aggregation based on PostGIS. All polylines are discretized into a point set, for which a spatial index is established and the unique point set is calculated. For each point on the unique point set, all the attribute values of the points that overlap with the point are accumulated and updated. According to the sequence number of the point and the updated attribute value, all points on the line are reconnected. The line breaks where the attribute value changes to form a new polyline feature. Finally, all the spatially overlapping polyline features and the line features with empty graphics are removed to obtain the ultimate polyline aggregation result. The experimental results show that the polyline aggregation result output by this method in the form of vector data is correct, and the extraction speed is significantly improved, which effectively solves the low efficiency of the conventional methods for massive vector line data fusion.
Key words: polyline    spatial flow    spatial aggregation    aggregation efficiency    PostGIS platform    
0 概述

随着工业化和信息化的迅速发展,人类社会运转速度越来越快,如物质、能量、信息等各种有形或无形的元素都处于不断加速移动过程中,而这些动态数据的集合称为空间流量数据[1]。随着传感器和GPS技术的快速发展,时空数据的获取变得不再困难,面对海量的空间流量数据,如何提取有效信息和建立信息间的联系引起了众多学者的关注[2]

线空间流量数据是指以线数据形式保存的含有流动属性的一种地理空间数据,利用线空间流量数据可以有效表达从出发地至目的地人流、物流和信息流等信息。如一列货车的行驶路径就是线数据,其载重量是它的属性。很多空间流量数据即线空间数据,它们来源于最短路径分析方法,比如知道两个中转站点的位置,可以通过最短路径分析方法计算得到这两点的最短路径,如果一辆货车要从其中一个站点转运货物到另外一个站点,那么一次运送货物产生的数据就是最短路径线空间流量数据。对于线空间流量数据,在大范围区域间,文献[3]通过对数线性模型方法,分析1990年和2000年美国和墨西哥的人口普查数据,探讨其人口迁移规律。文献[4]对覆盖绝大多数发达国家和发展中国家的约360个港口之间的依存关系进行定量分析,以各港口的进出口贸易流量数据为依据,探索全球港口类型的分布规律以及交通网络和地方发展的内在联系。文献[5]基于铁路交通网络数据,以2003年和2008年省会城市铁路交通网络的最短旅行时间为度量指标,利用改正引力模型分析测算各省区域间空间可达性、空间格局、经济联系强度及其空间指向。

在研究大范围区域间关系时,一般是以区域间少数城市作为研究对象[6],或者间接统计分析点与点之间的关系,不直接通过线空间流量数据[4, 7],究其原因主要是面对海量线空间流量数据时难以快速处理分析,将网络关系具体至每一条线路。而在小范围区域内,文献[8]采用基于网格索引的方法,利用里雅斯特市的道路路网,评估城市地区的网络密度并分析检索区域中心。文献[9]使用开放街道地图提供的网络结构数据,通过将交通网络与社区划分相联系的方法,利用ArcGIS软件提供的“Line Density线密度”工具,揭示吉隆坡市的路网发展。文献[10]根据出租车轨迹大数据中提取的短时非运营行为,采用线要素核密度分析和Ripley’s K函数两种方法,研究出租车短时非运营行为的时空特征及其与加气站间的空间相关性。而上述研究中的方法,均为对线空间流量数据以栅格形式输出每个像元邻域内的线状要素的密度,并能指定权重值对线要素进行统计,有效地分析线数据的空间聚集效应和时空分布关系。然而,相较于栅格数据,矢量数据在表示空间位置关系和空间网络的相互作用关系上更为精确,并且易于进行拓扑分析和网络分析,更适合定量描述,为后续其他空间分析提供数据基础[11]

针对海量数据情况下数据处理效率较低和矢量数据输出存在的问题,本文提出一种基于空间操作的线要素聚合方法。由于线要素是由一个或多个相连或不相连的路径组成的有序集合,因此可以直接对线要素拆分后进行聚合操作。线数据均由节点按一定顺序连接形成,可以通过对节点进行聚合操作,再重新生成新的线数据。该方法分别基于ArcGIS和PostGIS两个平台实现,并以北京到2 845个县市(区)的交通路网数据为实例进行验证。

1 线空间聚合方法

线空间流量数据包含空间位置信息、属性特征信息和时域特征信息,本文暂不讨论时域特征信息。线空间聚合方法是将复杂多样的线空间流量数据细化,更直观地反映事物间的联系,同时压缩减少冗余数据[12]。本文的最短路径线空间流量数据是以原线空间流量数据的相交点或已有端点作为节点,重新连接相邻两个节点形成的线数据,且包含该线数据空间位置应保留的属性特征信息。经过线空间聚合方法生成的最短路径线空间流量数据是一种空间上无重叠的线数据,即两个直接相连的节点之间只有一条线,这条线的属性是所有落在这条线上的流量值的和。因此,线聚合后的线空间数据可以更精准地表达区域间或区域内事物的属性特征关系以及拓扑网络关系。

1.1 基于ArcGIS的线空间聚合方法

在线要素分析研究中,将整体线数据拆分为单独的线要素甚至多组折线段的研究有很多,文献[13]利用历史和现实的交通流量基础数据,通过瓶颈识别算法、聚类相似特征数据和在线搜索算法预测各路段道路拥堵时间。文献[14]在为广义框架引入稀疏性概念的条件下,提出一种采用线段作为聚类代表,聚类数据点的距离作为代表线段的距离,分析处理二维空间中线性形状的聚类算法。文献[15]通过对每条线要素分别计算化简阈值范围,逐段化简,最后根据最高匹配相似度判断结果,实现矢量线要素匹配。本文基于这一思想,提出基于ArcGIS平台下的线空间聚合方法。

基于ArcGIS的线空间聚合方法有拆分线数据、按位置匹配线数据和融合线数据3个步骤,从而完成线空间聚合。图 1所示为基于ArcGIS的线要素空间聚合方法流程。本文基于ArcGIS提供的ArcPy站点包实现线空间聚合方法。

Download:
图 1 基于ArcGIS的线要素空间聚合流程 Fig. 1 Procedure of polyline spatial aggregation based on ArcGIS

基于ArcGIS的线空间聚合方法具体如下:

1)通过属性“流量权重”表示线空间流量数据所包含的需要参与统计计算的属性特征信息。拆分线数据过程是指将线空间流量数据通过求取线要素与线要素的相交点,并在相交点处断开的过程,目的是将每一条线空间流量数据拆分成为以相邻节点为端点的弧段,拆分后的子弧段均继承父线的“流量权重”属性。

利用ArcGIS中已有的“Feature To Line要素转线”工具完成拆分线数据。基于ArcGIS方法的线空间流量数据如图 2所示。以图 2(a)为例,L1L2是两条线空间流量数据,ABCD是4个节点。L1是起点为点A,经过点B,终点为点C的线要素,其属性“Id”为1,属性“流量权重”为20。L2是起点为点A,经过点B,终点为点D的线要素,其属性“Id”为2,属性“流量权重”为10。表 1L1L2集合列表。

Download:
图 2 基于ArcGIS方法的线空间流量数据示例 Fig. 2 Example of polyline spatial flow data based on ArcGIS method
下载CSV 表 1 线要素空间流量数据集合 Table 1 Aggregate of polyline spatial flow data

L1L2进行拆分线要素步骤,得到4条弧段,表 2是其拆分后的集合列表。根据拆分线要素的规则,L1拆分后得到两条弧段L1,1L1,2L1,1是起点为A,终点为B,属性“流量权重”为20的弧段,L1,2是起点为B,终点为C,属性“流量权重”为20的弧段,同理可得L2拆分后的弧段,如图 2(b)所示。

下载CSV 表 2 线要素空间流量数据拆分后集合 Table 2 Aggregate of polyline spatial flow data split

2)按位置匹配线数据。按照弧段的空间位置进行匹配,将完全重合的弧段分为一组,并为之添加唯一属性。由于直接判断线与线的位置关系较为复杂,因此采用弧段上某一点的坐标辅助判断弧段与弧段的重合关系,ArcGIS软件提供工具可以得到弧段的起点、终点和弧段中点即将弧段分为长度相等的两个部分的点(不一定是折点)。此处,本文选用弧段中点辅助判断弧段间的拓扑关系。因为线状目标之间的拓扑关系可以简单分为相离、相邻、相交和重合[16],如图 3所示,此时所有线要素均已拆分,拆分后的弧段间不存在相交的拓扑关系,所以不完全重合的线段的中点坐标均是唯一坐标,同时若两条弧段中点坐标相同,则两条弧段完全重合。

Download:
图 3 线状目标之间的拓扑关系 Fig. 3 Topological relationships between linear targets

利用ArcGIS中“Feature Vertices To Points要素折点转点”、“Add XY Coordinates添加XY坐标”和“Spatial Join联合”工具,为所有弧段添加属性“中点坐标”。

3)将属性“中点坐标”相同的弧段融合,即融合位置重叠的弧段。利用ArcGIS中“Dissolve融合”工具,并通过工具提供的属性统计功能,重新计算融合后弧段的属性,如SUM方法可为新生成弧段添加指定字段的合计值。由于L1,1L2,1两条弧段位置完全重合,因此将其融合,并通过SUM方法,累加属性“流量权重”,为融合后弧段重新赋值,而L1,2L2,2为单一弧段,所以无变化。L1L2完成线空间聚合后形成3条最短路径的线空间流量数据,如图 2(c))所示,分别是线M1,起点为A,终点为B,属性“流量权重”为30的线数据,线M2起点为B,终点为C,属性“流量权重”为20的线数据,线M3起点为B,终点为D,属性“流量权重”为10的线数据,表 3所示为最短路径线空间流量数据的集合。

下载CSV 表 3 最短路径线要素空间流量数据的集合 Table 3 Aggregate of shortest path of polyline spatial flow data
1.2 基于PostGIS的线空间聚合方法

线要素分析与点要素分析关系密切,文献[17]采用k-链最短路径的思想,利用平行点逼近的方法拟合折线。文献[18]利用基于位置的社交网络和出租车GPS数字足迹组合,实现个性化、交互式和流量感知的旅游路线规划。文献[19]利用GPS轨迹数据,通过一个合适的圆圈确定单个道路交叉口的边界特征点,重建道路交叉路口,同时保持道路网络的拓扑关系,生成高质量详细的道路路网数据。基于上述思路,本文选择将线空间流量数据离散为节点,对节点进行聚合分析,再由完成聚合分析后的节点重新连接生成最短路径的线空间流量数据,并且在PostGIS平台的支持下实现该方法。基于PostGIS的线空间聚合方法流程如图 4所示。

Download:
图 4 基于PostGIS的线要素空间聚合流程 Fig. 4 Procedure of polyline spatial aggregation based on PostGIS
1.2.1 PostGIS空间数据库引擎

PostGIS空间数据库引擎是在关系型数据库PostgreSQL上的空间数据存储和各种数据操作的一个插件。PostGIS通过SQL语句进行数据操作,空间对象以表的形式储存,每个空间几何实体对应数据表中的一条记录,其中记录了坐标信息和属性信息,并支持多种开源投影库。PostGIS提供大量空间函数,下面只列出本文所使用的主要函数:

1)ST_NPoints(geometry geom)。返回geometry的顶点总数,对所有的geometry类型都支持。

2)generate_series(start,stop,step)。按照规则产生一系列的填充数据,生成一个数值序列,从start到stop,步进为step(若无step,则默认为1)。

3)ST_PointN(geometry a_linestring,integer n)。返回单个linestring的第n个point对象,如果几个对象中不包括LineString对象,则返回NULL。

4)ST_Equals(geometry,geometry)。判断2个几何对象是否相等,如果相等则返回TRUE。

5)ST_MakeLine(geometry[] geoms_array)。利用一个数组的point或line生成一个LineString对象。

1.2.2 线要素离散化节点

在OGC的Geometry类体系中有如下聚合关系:Point(2+)- > LineString,即2个及以上的点要素可以聚合成为线要素,反之,线要素亦可离散为点要素,将所有线段视为有序或无序的节点集合[20-21],相较于直接对线要素进行处理,点要素的聚合更为简单,通过搜索一定范围内的点即可完成点要素聚合。设线要素的节点序列形式为:

$ {L}_{i}=({P}_{i, 1}, {P}_{i, 2}, … , {P}_{i, n})\mathrm{ }, i\in N, n\in N $

其中,Li由节点Pi1Pi2,…,Pin按顺序连接而成,in均为自然数。

创建一个空间对象数据表child_point用于储存离散后的节点,该表中主要有属性“Id”、属性“weight”、属性“ptindex”和属性“geom”。其中,属性“Id”和“weight”分别继承父线的属性“Id”和“流量权重”,而属性“ptindex”为节点在原父线中的顶点序列号,属性“geom”几何对象为点空间数据。

利用PostGIS中提供ST_NPoints(geometry geom)函数获取线要素的顶点总数,generate_series(start,stop,step)函数生成所有顶点的序列号,ST_PointN(geometry a_linestring,integer n)函数获得第n个节点,将所有节点插入到创建的空间对象数据表test_pt中。本文示例中L1L2图 5(a)所示,与1.1节中示例一致,其集合列表见表 1,此处不再赘述。L1将离散为P1,1P1,2,…,P1,5,它们继承父线L1的属性“Id”和“流量权重”,分别为1和20。而L2将离散为P2,1P2,2,…,P2,5,它们继承父线L2的属性“Id”和“流量权重”,分别为2和10,表 4是离散后节点的集合列表。如图 5(b)所示,点P1,1P2,1完全重合,点P1,2P2,2完全重合,点P1,3P2,3完全重合。

下载CSV 表 4 节点集合 Table 4 Aggregate of nodes
Download:
图 5 基于PostGIS的线要素空间流量数据示例 Fig. 5 Example of polyline spatial flow data based on PostGIS
1.2.3 节点空间索引的创建

地理空间索引是指依据地理要素的空间位置、形状或地理对象之间的某种空间关系,按一定的顺序排列的一种数据结构,目的是为了快速定位地理对象,提高空间操作的速度和效率。

Gist索引是一种平衡的树状索引,它易于扩展数据类型和查询类型,且B-Tree、R-Tree以及其他索引形式也能作为Gist的扩展实现。本文选用PostgreSQL数据库中默认支持的Gist索引来提高线数据空间聚合的速度,由于线要素离散化后的点数据的属性进行更新操作频繁,因此这里为空间对象数据表child_point中的点数据创建Gist空间索引。

1.2.4 节点聚合

点数据的空间聚合一般是通过一定规则,搜索范围内所有的点进行聚合,用少量的点表达多数点的方法。该节点的聚合是针对离散后的节点中属性“weight”的聚合。

父线是由节点按顺序连接组成,所以父线中位置完全重合的弧段,离散后的节点位置也完全重合。创建一个空间对象数据表temporary_point,辅助更新节点属性“流量权重”,该数据表仅包含2个属性:“weight”和“geom(点要素几何对象)”。通过PostGIS中提供的空间数据查询和分析功能,将child_point中位置完全重合的节点数据分为一组并统计计算属性值,如SUM方法可以用于累加属性信息,实现属性“流量权重”的聚合,将节点数据插入空间对象数据表temporary_point中。此时,保证该表中任意位置节点均为唯一节点,且有与之相对应的属性“流量权重”,即数据表child_point中该位置所有节点的属性“流量权重”之和。如图 5(b)所示,P1,1P2,1节点位置处,在空间对象数据表temporary_point存在有一点数据与这2个节点位置重合,其属性“流量权重”为它们的该属性之和,即P1,1.weight与P2,1.weight的和等于30。

此时,利用数据表child_point和数据表temporary_point中节点位置重合的特征,更新数据表child_point中节点属性“weight”,目的是在实现点的聚合过程中,不破坏原节点的属性“Id”和属性“ptindex”。更新属性“weight”后,位置重合的节点该属性也是一致的,如表 5所示。表 5是聚合后的节点集合列表,可以得出更新后的节点P1,1,其属性“Id”为1,属性“ptindex”为1,属性“weight”为30,同理节点P2,1,其属性“Id”为2,属性“ptindex”为1,属性“weight”为30,以此类推。而原节点位置仅有唯一节点时,不发生变化。

下载CSV 表 5 完成节点聚合后节点的集合列表 Table 5 List set of completed nodes aggregation
1.2.5 节点重新连接生成的线要素

完成节点的聚合后,需要将节点按照规则重新连接成为折线,并赋值属性“流量权重”,具体流程如图 6所示。

Download:
图 6 节点重新连接生成线要素流程 Fig. 6 Procedure of reconnecting nodes to generate polylines features

首先创建一个空间对象数据表connection_line用于储存节点按规则连接后生成的新线要素。该表包含属性“Id”、属性“weight”和属性“geom”。其中属性“geom”几何对象为线空间数据。

然后按照如下步骤将节点连接生成新的线要素:

1)创建一个用于存储点数据的数组array[]。按照节点数据的属性“Id”排序,再根据节点的序列号即属性“ptindex”进行遍历,将第1条记录赋值给beforrec,存入array[]中,更新为array[beforrec]。

2)将相邻(序列号相连)且属性“weight”相等的节点依次存入数组array[]中,直至属性“Id”或属性“weight”发生改变。有以下3种情况:

(1)当前记录rec的属性“Id”与前一条记录beforrec的属性“Id”不一致。如图 7(a)所示,当前记录为点C,前一条记录为点B,设此时数组为array[AB],利用ST_MakeLine(geometry[]geoms_array)函数将array[AB]转为折线AB,插入储存线要素的空间对象数据表中,属性“weight”为节点B的属性“weight”。刷新array[],将当前记录C存入,成为下一条折线的起点,更新为array[C]。虚线部分是辅助标识下一条折线的轨迹,不再赘述。

Download:
图 7 节点连接为线要素示意图 Fig. 7 Schematic diagram of nodes connected to polylines

(2)当前记录rec与前一条记录beforrec的属性“Id”一致,但属性“weight”小于前一条记录。如图 7(b)所示,当前记录为点C,前一条记录为点B,设此时数组为array[AB],利用ST_MakeLine(geometry[] geoms_array)函数将array[AB]转为折线AB,插入储存线要素的空间对象数据表中,属性“weight”为节点B的属性“weight”。刷新array[],将前一条记录B和当前记录C顺序存入,成为下一条折线的初始点,更新为array[BC]。

(3)当前记录rec与前一条记录beforrec的属性“Id”一致,但属性“weight”大于前一条记录。如图 7(c))所示,当前记录为点C,前一条记录为点B,设此时数组为array[AB],将当前记录C存入数组中,数组更新为array[ABC],利用ST_MakeLine(geometry[]geoms_array)函数将array[ABC]转为折线ABC,插入储存线要素的空间对象数据表中,属性“weight”为节点B的属性“weight”。刷新array[],将当前记录C存入,成为下一条折线的起点,更新为array[C]。

3)遍历所有节点后,利用ST_MakeLine(geometry[]geoms_array)函数将最后一次刷新的数组中的点按顺序连接成折线,插入储存线要素的空间对象数据表中,属性“weight”为前一条记录的属性“weight”。

至此,所有节点均重新连接为折线。在本文示例中,节点连接成为新的线要素集合如表 6所示,共有4条线要素,分别为折线P1,1 P1,2 P1,3P2,1 P2,2 P2,3P1,3 P1,4 P1,5P2,3 P2,4 P2,5,对应属性“weight”见表 6

下载CSV 表 6 节点连接为线要素后的集合 Table 6 Aggregate of nodes connected to polylines
1.2.6 线空间聚合

由实现节点重新连接为折线的集合列表可知其中存在位置重复的线,因此通过空间数据查询和插入功能,将位置重复的线去除,获取唯一折线。

在点归并为线的过程中,会出现一种情况,当array[]中有且仅有前一条记录beforrec,而此时当前记录rec与前一条记录beforrec的属性“Id”一致,但属性“weight”小于前一条记录,函数ST_MakeLine(geometry[]geoms_array)依旧会执行,但由于数组中仅有一个点,从而形成一条图形为空的线,因此将其删除。

图 5(c)所示,采用基于PostGIS的线空间聚合方法后,共获得3条最短路径的线空间流量数据,分别为:起点为N1,经过N2,终点为N3,属性“流量权重”为30的线要素;起点为N3,经过N4,终点为N5,属性“流量权重”为20的线要素;起点为N3,经过N6,终点为N7,属性“流量权重”为10的线要素。其中,N1N2,…,N7仅为节点位置,如N1P1,1P2,1重合,依此类推。

2 实验分析 2.1 实验1

为验证本文方法的有效性,本文实验数据选取两组不同规模的真实线性空间流量数据集进行测试,其特征信息如表 7所示。数据集1是由武汉市市辖区至长江中游城市群其他182个县级单元的最短公路路径组成,包含182条轨迹,每条轨迹流量属性为2015年终点县级单元的年末人口数。数据集2是由长江中游城市群31个市级单元(包括湖北省省属直辖市天门市、仙桃市和潜江市)两两间最短公路路径组成,包含465条轨迹,每条轨迹流量属性为2015年两端点市级单元的年末人口数之和。模拟实验针对上述两组数据集采用常见商业软件ArcGIS方法和本文方法进行对比分析。实验环境如下:操作系统为Windows10,主频为3.4 GHz的CPU i7-6700,内存为16 GB,方法分别利用ArcGIS10.5和PostgreSQL10.6、PostGIS2.5基于Python语言编程实现。

下载CSV 表 7 两组数据集信息 Table 7 Two sets of dataset information

两种方法在两组数据集上的实验结果如表 8所示。

下载CSV 表 8 两组数据集下不同方法的效率 Table 8 Efficiency of different methods under two data sets

表 7表 8可以看出,对于不同数据量和不同网络复杂度的两组数据集情况,本文方法相对于常见商业软件ArcGIS的方法在时间效率上具有较大的优势。

2.2 实验2

本文选用北京市至全国2 845个区县(市)的交通线路路网数据作为实验数据,共计2 845条线要素,每条线路的属性值是该区县(市)2010年常住人口,数据来源为2010年的《第六次全国人口普查公报》。通过线要素聚合方法,对2 845条线进行聚合,得到共计5 085条线要素,并按属性值大小将线聚合结果分为4个等级:将属性值为20×108人~80×108人设为三级轴线;5×108人~20×108人设为二级轴线;2×108人~5×108人设为一级轴线,可以得到一级轴线的终点城市为西安市、驻马店市和徐州市,二级轴线的终点城市包括长春市、无锡市、荆州市、成都市、重庆市、永州市、广州市、吉安市等。二级轴线的终点城市太多,这里不再列出。本文未考虑江河湖海的阻隔作用,因此,若不考虑沿江沿海的作用,这些一级和二级轴线上的城市将会发挥重要的“桥头堡”作用。

由于是矢量数据输出,可以直接进行查看,精确到每座城市间,并且能为后续空间操作提供数据基础。

在全国实例数据分析中,基于ArcGIS的线空间聚合方法共需43 min,而基于PostGIS的线空间聚合方法仅需4 min。充分说明在面对海量数据时,基于PostGIS的线空间聚合方法具有明显优势。

3 结束语

本文提出一种基于PostGIS的线要素空间聚合方法,该方法在面对大型数据时处理速度较快,比当前GIS领域常用的ArcGIS软件更适合处理地理大数据,能够适应海量数据环境下的线空间流量数据分析。PostGIS是一款开源GIS软件,功能丰富可扩展性强,能够较好地应用于地理空间数据处理研究。下一步将在并行计算环境下提高GreenPlum的计算效率,同时把线要素的空间聚合方法扩展到面要素的空间聚合任务中。

参考文献
[1]
GUO Diansheng. Flow mapping and multivariate visualization of large spatial interaction data[J]. IEEE Transactions on Visualization and Computer Graphics, 2009, 15(6): 1041-1048. DOI:10.1109/TVCG.2009.143
[2]
TAO R, THILL J C. Spatial cluster detection in spatial flow data[J]. Geographical Analysis, 2016, 48(4): 355-372. DOI:10.1111/gean.12100
[3]
RAYMER J, ROGERS A. Using age and spatial flow structures in the indirect estimation of migration streams[J]. Demography, 2007, 44(2): 199-223. DOI:10.1353/dem.2007.0016
[4]
DUCRUET C, ITO H. Regions and material flows: investigating the regional branching and industry relatedness of port traffics in a global perspective[J]. Journal of Economic Geography, 2015, 16(4): 1-26.
[5]
MENG Deyou, LU Yuqi. Analysis of inter-provincial accessibility and economic linkage spatial pattern based on the railway network[J]. Geographical Research, 2012, 31(1): 107-122. (in Chinese)
孟德友, 陆玉麒. 基于铁路客运网络的省际可达性及经济联系格局[J]. 地理研究, 2012, 31(1): 107-122.
[6]
LIU Weidong, LIU Hongguang, FAN Xiaomei, et al. Sector-specific spatial statistic model for estimating inter-regional trade flows: a case study of agricultural, chemical and electronic sectors in China[J]. Acta Geographica Sinica, 2012, 67(2): 147-156. (in Chinese)
刘卫东, 刘红光, 范晓梅, 等. 地区间贸易流量的产业-空间模型构建与应用[J]. 地理学报, 2012, 67(2): 147-156.
[7]
LIU Wangbao, SHI Enming. Spatial pattern of population daily flow among cities based on ICT: a case study of "Baidu Migration"[J]. Acta Geographica Sinica, 2016, 71(10): 1667-1679. (in Chinese)
刘望保, 石恩名. 基于ICT的中国城市间人口日常流动空间格局——以百度迁徙为例[J]. 地理学报, 2016, 71(10): 1667-1679. DOI:10.11821/dlxb201610001
[8]
BORRUSO G. Network density and the delimitation of urban areas[J]. Transactions in Geographic Information System, 2010, 7(2): 177-191.
[9]
RUI D, UJANG N, HAMID H B, et al. Detecting the urban traffic network structure dynamics through the growth and analysis of multi-layer networks[J]. Physica A: Statistical Mechanics and Its Applications, 2018, 503: 800-817. DOI:10.1016/j.physa.2018.02.059
[10]
LIU Huihui, KAN Zihan, SUN Fei, et al. Taxis' short-term out-of-service behaviors detection using big trace data[J]. Geomatics and Information Science of Wuhan University, 2016, 41(9): 1192-1198. (in Chinese)
刘汇慧, 阚子涵, 孙飞, 等. 采用轨迹大数据探测短时非营运行为[J]. 武汉大学学报(信息科学版), 2016, 41(9): 1192-1198.
[11]
MARC B. Spatial networks[J]. Physics Reports, 2011, 499(1/2/3): 1-101.
[12]
KHOSHGOZARAN A, KHODAEI A, SHARIFZADEH M, et al. A hybrid aggregation and compression technique for road network databases[J]. Knowledge and Information Systems, 2008, 17(3): 265-286. DOI:10.1007/s10115-008-0132-8
[13]
YILDIRIMOGLU M, GEROLIMINIS N. Experienced travel time prediction for congested freeways[J]. Tran-sportation Research Part B: Methodological, 2013, 53(4): 45-63.
[14]
KOUTROUMBAS K D. Introducing sparsity in possibilistic clustering: a unified framework and a line detection paradigm[J]. IEEE Transactions on Fuzzy Systems, 2018, 26(5): 2886-2898. DOI:10.1109/TFUZZ.2018.2792467
[15]
CHEN Jingnan, QIAN Haizhong, WANG Xiao, et al. Improving the matching rate of line feature by using dynamic simplification[J]. Acta Geodaetica et Cartographica Sinica, 2016, 45(4): 486-493. (in Chinese)
陈竞男, 钱海忠, 王骁, 等. 提高线要素匹配率的动态化简方法[J]. 测绘学报, 2016, 45(4): 486-493.
[16]
LIU Tao, DU Qingyun, MAO Haichen. Spatial similarity assessment model and its application in line groups[J]. Geomatics and Information Science of Wuhan University, 2012, 37(8): 992-995. (in Chinese)
刘涛, 杜清运, 毛海辰. 空间线群目标相似度计算模型研究[J]. 武汉大学学报(信息科学版), 2012, 37(8): 992-995.
[17]
ARONOW B, ASANO T, KATOH N, et al. Polyline fitting of planar points under min-sun criteria[J]. International Journal of Computational Geometry & Applications, 2006, 16(2): 77-88.
[18]
CHEN Chao, ZHANG Daqing, GOU Bin, et al. TripPlanner: personalized trip planning leveraging heterogeneous crowdsourced digital footprints[J]. IEEE Transactions on Intelligent Transportation Systems, 2015, 16(3): 1259-1273. DOI:10.1109/TITS.2014.2357835
[19]
WANG Jing, RUI Xiaoping, SONG Xianfeng, et al. A novel approach for generating routable road maps from vehicle GPS traces[J]. International Journal of Geographical Information Science, 2015, 29(1): 69-91. DOI:10.1080/13658816.2014.944527
[20]
OBE R O, HSU L S. PostGIS in action[M]. 2nd Edtion. Shelter Island, USA: Manning Publications Co., 2015.
[21]
ATSUYUKI O, KOKICHI S. Spatial analysis along networks[M]. West Sussex, USA: John Wiley & Sons Ltd., 2012.