一种自动化综合制图方法及系统转让专利

申请号 : CN202211025086.4

文献号 : CN115131526B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨先连王列生何伟俊章正起刘乾忠张现峰刘延鹏杜伟郑龙李侃刘仕华杨勇李正斌

申请人 : 广州城市信息研究所有限公司

摘要 :

本发明涉及一种自动化综合制图方法及系统,其方法包括:获取各房屋投影面多边形的代表点,形成代表点集群;基于无约束的Delaunay三角网数学模型构建房屋投影面的代表点集群的关联三角网,对关联三角网构建最小生成树;对最小生成树进行裁剪处理,形成至少一棵多边形聚合树;提取每一棵多边形聚合树中的房屋投影面多边形的所有顶点,基于无约束的Delaunay三角网数学模型生成新的关联三角网,进行基于约束边的三角剖分;对经约束处理后的新的关联三角网进三角形融合。其系统包括:代表点获取模块、最小生成树模块、裁剪模块、更新模块和融合模块。本发明在实现自动化生成缩编地图的同时,大幅降低对制图员专业知识门槛的要求。

权利要求 :

1.一种自动化综合制图方法,其特征在于,所述方法包括:

获取各房屋投影面多边形的代表点,形成代表点集群;

所述获取各房屋投影面多边形的代表点的方法为:

计算房屋投影面的形心,如果形心落在房屋投影面内部,则将形心作为房屋投影面的代表点;

如果形心落在房屋投影面外部,则以形心为旋转点,以房屋投影面外接矩形的对角线长度为切割线段进行旋转切割,当切割线段将房屋投影面切割为两个面积相当的多边形后停止旋转,获取切割线段与房屋投影面相交后的交点,再获取交点连接形成的线段中点,如果中点落在房屋投影面内部,则将中点作为房屋投影面的代表点,如果中点落在房屋投影面外部,则获取交点连接形成的线段上距离形心最近点向外延伸阈值距离的点,递归缩小阈值距离,直至点落在房屋投影面内部,则将该点作为房屋投影面代表点;

基于无约束的Delaunay三角网数学模型构建房屋投影面的代表点集群的关联三角网,对所述关联三角网构建最小生成树;

对所述最小生成树进行裁剪处理,形成至少一棵多边形聚合树;

所述对最小生成树进行裁剪处理的方法为:

根据关联三角网的三角边加入最小生成树的先后顺序,形成最小生成树的三角边序列Listtri‑edge;

定义一种树节点,用于记录代表点和其连接的子节点集合,以及该树节点关联的三角边;

初始化代表点与树节点的映射集KV和树集合Stree;

按照顺序遍历Listtri‑edge中每一条三角边并对所述每一条三角边进行如下处理:利用三角边的其中一个顶点构建树节点A,在树节点A中记录该三角边,并将该树节点A加入到Stree中,同时将该其中一个顶点和树节点A加入到映射集KV中;

用该三角边的另一个顶点构建树节点B,将该三角边的另一个顶点和树节点B加入到映射集中KV,如果该三角边的长度小于颗粒度阈值,则将树节点B加入到树节点A中,成为A的子节点,如果该三角边的长度大于颗粒度阈值,则将树节点B加入到Stree中;

最后Stree中的要素即为进行裁剪处理后的多边形聚合树集合,即代表了街区单元的房屋投影面集群;

提取每一棵多边形聚合树中的房屋投影面多边形的所有顶点,基于无约束的Delaunay三角网数学模型生成新的关联三角网,对新的关联三角网进行基于约束边的三角剖分,使新的关联三角网中的三角形的边不会穿过房屋投影面多边形;

对经约束处理后的新的关联三角网进行三角形融合,得到综合后的房屋投影面数据。

2.根据权利要求1所述的一种自动化综合制图方法,其特征在于,所述以形心为旋转点,以房屋投影面外接矩形的对角线长度为切割线段进行旋转切割,当切割线段将房屋投影面切割为两个面积相当的多边形后停止旋转,具体包括:提取房屋投影面外接矩形的对角线长度作为切割线段;

将切割线段以形心作为旋转点从一定方向开始顺时针旋转一定角度,获取旋转前和旋转后的切割线段分割房屋投影面所形成的左右两侧多边形面积大小,如旋转后切割线段分割多边形所形成的右侧面积比左侧面积多,且相对于旋转前差值变少,则后续旋转方向为顺时针,否则为逆时针;

以形心作为旋转点,将所述切割线段从所述一定方向开始,按照判断出的旋转方向旋转设定的阈值步伐,每旋转一次时,将切割线段分割所述房屋投影面所形成的左右两侧多边形面积进行比对,判断旋转前后切割线段分割多边形所形成的左右两侧多边形面积大小关系是否发生反转,如没有则继续用所述切割线段进行旋转,否则按照二分法进行反方向旋转,当切割线段分割房屋投影面所形成的左右两侧多边形面积差小于面积阈值时,停止旋转。

3.根据权利要求2所述的一种自动化综合制图方法,其特征在于,所述按照二分法进行反方向旋转,具体包括:选取所设定的阈值步伐的二分之一作为新的旋转角度,将切割线段按原旋转方向的反方向旋转新的旋转角度,将切割线段分割所述房屋投影面所形成的左右两侧多边形面积进行比对;

如果左右两侧多边形面积大小关系再次发生反转,则再次改变旋转方向,选取新的旋转角度的二分之一进行旋转;

如果左右两侧多边形面积大小关系并未发生反转,则不改变旋转方向,选取新的旋转角度的二分之一继续进行旋转;

直到切割线段分割房屋投影面所形成的左右两侧多边形面积差小于面积阈值时,停止旋转。

4.据权利要求1至3任一项所述的一种自动化综合制图方法,其特征在于,所述对关联三角网构建最小生成树的方法为:初始化房屋投影面代表点集合Spoint,并将获取的各房屋投影面多边形的代表点放至Spoint中;

预设关联三角网中每个三角边的权重,所述三角边的权重根据三角边相关联的房屋投影面的距离设定;

遍历关联三角网的所有三角边,选取权重最小的三角边作为最小生成树的初始边,从Spoint中剔除该三角边的两个顶点;

遍历关联三角网中所有与初始边的两个顶点相连三角边,从其中选取权重最小的三角边加入到最小生成树中,并从Spoint中剔除该三角边的两个顶点;

继续遍历关联三角网中与已加入最小生成树的三角边的顶点相连的三角边,从中选取与已加入最小生成树的三角边不形成闭环并且权重最小的三角边加入到最小生成树中,并从Spoint中剔除该三角边的两个顶点;

直到Spoint为空,从而构建出最小生成树。

5.据权利要求4所述的一种自动化综合制图方法,其特征在于,所述三角边的权重根据三角边相关联的房屋投影面的距离设定,具体为:所述三角边的权重为该三角边所连接的两个多边形代表点之间的距离。

6.根据权利要求1至3任一项所述的一种自动化综合制图方法,其特征在于,所述对新的关联三角网进行基于约束边的三角剖分的方法为:对新的关联三角网创建R树索引Indexrtree;

创建新的关联三角网集合Striangle,将新的关联三角网中所有三角形加入到Striangle中;

遍历房屋投影面集群中所有房屋投影面多边形的边,从Striangle中移除Indexrtree中与房屋投影面多边形的边相交的三角形;

将Striangle中与房屋投影面多边形的边相交的三角形融合成一个简单多边形H,并用该房屋投影面多边形的边将H分隔成两侧多边形;

对两侧多边形分别进行三角剖分,并将剖分后的三角形加入Striangle中;

融合Striangle中所有三角形,得到融合后的多边形。

7.根据权利要求6所述的一种自动化综合制图方法,其特征在于,所述对两侧多边形分别进行三角剖分,具体包括:获取该多边形顶点的逆时针序列,创建点集合Sp,将逆时针序列中的所有点放至Sp;

如果Sp的点数等于4,则直接将该多边形加入到Striangle中;

如果Sp的点数不等于4,则遍历逆时针序列,计算点的凹凸性并执行以下凸点判断步骤:如果是凸点,则利用该凸点与前置点和后置点构成三角形,如果所述构成的三角形不包含其它点,则将所述构成的三角形加入到Striangle中,并从Sp中删除该凸点;

否则跳过该凸点,继续计算下一个点的凹凸性,重复以上凸点判断步骤,直至Sp的点数等于4。

8.一种自动化综合制图系统,其特征在于,包括:

代表点获取模块,用于获取各房屋投影面多边形的代表点,形成代表点集群;

所述获取各房屋投影面多边形的代表点的方法为:

计算房屋投影面的形心,如果形心落在房屋投影面内部,则将形心作为房屋投影面的代表点;

如果形心落在房屋投影面外部,则以形心为旋转点,以房屋投影面外接矩形的对角线长度为切割线段进行旋转切割,当切割线段将房屋投影面切割为两个面积相当的多边形后停止旋转,获取切割线段与房屋投影面相交后的交点,再获取交点连接形成的线段中点,如果中点落在房屋投影面内部,则将中点作为房屋投影面的代表点,如果中点落在房屋投影面外部,则获取交点连接形成的线段上距离形心最近点向外延伸阈值距离的点,递归缩小阈值距离,直至点落在房屋投影面内部,则将该点作为房屋投影面代表点;

最小生成树模块,用于基于无约束的Delaunay三角网数学模型构建房屋投影面的代表点集群的关联三角网,对所述关联三角网构建最小生成树;

裁剪模块,用于对所述最小生成树进行裁剪处理,形成至少一棵多边形聚合树;

所述对最小生成树进行裁剪处理的方法为:

根据关联三角网的三角边加入最小生成树的先后顺序,形成最小生成树的三角边序列Listtri‑edge;

定义一种树节点,用于记录代表点和其连接的子节点集合,以及该树节点关联的三角边;

初始化代表点与树节点的映射集KV和树集合Stree;

按照顺序遍历Listtri‑edge中每一条三角边并对所述每一条三角边进行如下处理:利用三角边的其中一个顶点构建树节点A,在树节点A中记录该三角边,并将该树节点A加入到Stree中,同时将该其中一个顶点和树节点A加入到映射集KV中;

用该三角边的另一个顶点构建树节点B,将该三角边的另一个顶点和树节点B加入到映射集中KV,如果该三角边的长度小于颗粒度阈值,则将树节点B加入到树节点A中,成为A的子节点,如果该三角边的长度大于颗粒度阈值,则将树节点B加入到Stree中;

最后Stree中的要素即为进行裁剪处理后的多边形聚合树集合,即代表了街区单元的房屋投影面集群;

更新模块,用于提取每一棵多边形聚合树中的房屋投影面多边形的所有顶点,基于无约束的Delaunay三角网数学模型生成新的关联三角网,对新的关联三角网进行基于约束边的三角剖分,使新的关联三角网中的三角形的边不会穿过房屋投影面多边形;

融合模块,用于对经约束处理后的新的关联三角网进三角形融合,得到新的房屋地图信息。

说明书 :

一种自动化综合制图方法及系统

技术领域

[0001] 本发明涉及地图综合制图领域,更具体地,涉及一种自动化综合制图方法及系统。

背景技术

[0002] 地图综合制图,指的是将大比例尺空间数据进行抽象、概括与融合,得到缩编后的小比例尺空间数据,它是空间数据尺度变换、集成与融合、分析与挖掘等的基本手段之一。国内外学者对综合制图的研究主要方法可分为基于模型的综合制图、基于知识的综合制图、基于算法的综合制图与人机协同四种。其中,基于模型的综合制图和基于知识的综合制图对制图员的经验和专业背景知识要求较高,而基于计算机算法实现的综合制图,在提高综合制图的效率和自动化水平的同时,可有效弥补实际工作中进行综合制图的制图员缺乏专业背景知识的缺陷,高效生成缩编地图。

发明内容

[0003] 本发明旨在克服上述现有技术的至少一种缺陷(不足),提供一种自动化综合制图方法及系统,用于达到综合制图的自动化处理效果,同时降低对制图员的专业知识门槛的要求。
[0004] 本发明采取的技术方案是:
[0005] 第一方面,提供一种自动化综合制图方法,包括:获取各房屋投影面多边形的代表点,形成代表点集群;基于无约束的Delaunay三角网数学模型构建房屋投影面的代表点集群的关联三角网,对所述关联三角网构建最小生成树;对所述最小生成树进行裁剪处理,形成至少一棵多边形聚合树;提取每一棵多边形聚合树中的房屋投影面多边形的所有顶点,基于无约束的Delaunay三角网数学模型生成新的关联三角网,对新的关联三角网进行基于约束边的三角剖分,使新的关联三角网中的三角形的边不会穿过房屋投影面多边形;对经约束处理后的新的关联三角网进三角形融合,得到新的房屋地图信息。
[0006] 地图的综合制图在小比例尺情况下并不需要显示各房屋投影面情况,而是需要在进行集群融合后既要充分保持房屋分布情况,还要真实解析出在各房屋群中实际分布的主干通达路径等信息,对于在同一套大比例尺数据的基础上进行自动分级生成各级别小比例尺地图十分重要。综合制图的关键是将拓扑临近和视觉临近的房屋投影面集群识别出来,并通过算法将其化简概括与融合,生成缩编后的小比例尺的空间数据。而基于算法的综合制图的难点在于将综合制图知识理论和经验转化成数学语言的描述和计算机的处理步骤。本发明基于拓扑临近的临近同类归并原则,通过对综合制图的关键过程进行分析,将其转化成计算机中的算法步骤,实现了综合制图的自动化处理。而相对于基于模型或知识库的综合制图,本发明不仅能实现自动化辅助生产,还能大幅降低对制图员的专业知识门槛要求,可有效弥补实际工作中进行综合制图的制图员缺乏专业背景知识的缺陷,高效生成缩编地图。
[0007] 用代表点替代各房屋投影面多边形的空间位置可以实现空间数据降维,便于后续算法逻辑推演。在一般的情境下,房屋投影面的形心可作为其代表点,但在综合制图时,房屋投影面多边形的形心不一定落在其内部,而房屋投影面间的拓扑关系以及形心与房屋投影面之间的拓扑关系都影响了综合制图的过程。进一步地,本发明所提供的获取各房屋投影面多边形的代表点的方法,能递归实现找到一个可以代表该房屋投影面多边形且确保落在房屋投影面内部的代表点。
[0008] 进一步地,所述获取各房屋投影面多边形的代表点的方法为:计算房屋投影面的形心,如果形心落在房屋投影面内部,则将形心作为房屋投影面的代表点;如果形心落在房屋投影面外部,则以形心为旋转点,以房屋投影面外接矩形的对角线长度为切割线段进行旋转切割,当切割线段将房屋投影面切割为两个面积相当的多边形后停止旋转,获取切割线段与房屋投影面相交后的交点,再获取交点连接形成的线段中点,如果中点落在房屋投影面内部,则将中点作为房屋投影面的代表点,如果中点落在房屋投影面外部,则获取交点连接形成的线段上距离形心最近点向外延伸阈值距离的点,递归缩小阈值距离,直至点落在房屋投影面内部,则将该点作为房屋投影面代表点。
[0009] 进一步地,所述以形心为旋转点,以房屋投影面外接矩形的对角线长度为切割线段进行旋转切割,当切割线段将房屋投影面切割为两个面积相当的多边形后停止旋转,具体包括:提取房屋投影面外接矩形的对角线长度作为切割线段;将切割线段以形心作为旋转点从一定方向开始顺时针旋转一定角度,获取旋转前和旋转后的切割线段分割房屋投影面所形成的左右两侧多边形面积大小,如旋转后切割线段分割多边形所形成的右侧面积比左侧面积多,且相对于旋转前差值变少,则后续旋转方向为顺时针,否则为逆时针;以形心作为旋转点,将所述切割线段从所述一定方向开始,按照判断出的旋转方向旋转设定的阈值步伐,每旋转一次时,将切割线段分割所述多边形所形成的左右两侧多边形面积进行比对,判断旋转前后切割线段分割房屋投影面所形成的左右两侧多边形面积大小关系是否发生反转,如没有则继续用所述切割线段进行旋转,否则按照二分法进行反方向旋转,当切割线段分割房屋投影面所形成的左右两侧多边形面积差小于面积阈值时,停止旋转。
[0010] 进一步地,所述按照二分法进行反方向旋转,具体包括:选取所设定的阈值步伐的二分之一作为新的旋转角度,将切割线段按原旋转方向的反方向旋转新的旋转角度,将切割线段分割所述房屋投影面所形成的左右两侧多边形面积进行比对;如果左右两侧多边形面积大小关系再次发生反转,则再次改变旋转方向,选取新的旋转角度的二分之一进行旋转;如果左右两侧多边形面积大小关系并未发生反转,则不改变旋转方向,选取新的旋转角度的二分之一继续进行旋转;直到切割线段分割多边形所形成的左右两侧多边形面积差小于面积阈值时,停止旋转。
[0011] 寻找房屋投影面的等面积切割线是一个无穷尽的问题,使用旋转切割的方式寻找代表点是寻找等面积切割线的一种高效方式,通过设定阈值步伐进行旋转切割,能将一个无穷尽的数学问题转化成一个离散数学问题,而使用二分法能更加快速找到房屋投影面等面积切割线,提升算法的效率。
[0012] 进一步地,所述对关联三角网构建最小生成树的方法为:初始化多边形代表点集合Spoint,并将获取的各房屋投影面多边形的代表点放至Spoint中;预设关联三角网中每个三角边的权重,所述三角边的权重根据三角边相关联的房屋投影面的距离设定;遍历关联三角网的所有三角边,选取权重最小的三角边作为最小生成树的初始边,从Spoint中剔除该三角边的两个顶点;遍历关联三角网中所有与初始边的两个顶点相连三角边,从其中选取权重最小的三角边加入到最小生成树中,并从Spoint中剔除该三角边的两个顶点;继续遍历关联三角网中与已加入最小生成树的三角边的顶点相连的三角边,从中选取与已加入最小生成树的三角边不形成闭环并且权重最小的三角边加入到最小生成树中,并从Spoint中剔除该三角边的两个顶点;直到Spoint为空,从而构建出最小生成树。
[0013] 更具体地,所述三角边的权重根据三角边相关联的房屋投影面的距离设定,具体为:三角边的权重为该三角边所连接的两个多边形代表点之间的距离。基于房屋投影面代表点Delaunay三角剖分的最小权重生成树,使用两个房屋投影面之间的最短距离而不是房屋投影面代表点之间的距离作为权重,更能体现房屋投影面的邻近关系。
[0014] 进一步地,所述对最小生成树进行裁剪处理的方法为:根据关联三角网的三角边加入最小生成树的先后顺序,形成最小生成树的三角边序列Listtri‑edge;定义一种树节点,用于记录代表点和其连接的子节点集合,以及该树关联的三角边;初始化代表点与树节点的映射集KV和树集合Stree;按照顺序遍历Listtri‑edge中每一条三角边并对所述每一条三角边进行如下处理:利用三角边的其中一个顶点构建树节点A,在树节点A中记录该三角边,并将该树节点A加入到Stree中,同时将该其中一个顶点和树节点A加入到映射集KV中;用该三角边的另一个顶点构建树节点B,将该三角边的另一个顶点和树节点B加入到映射集中KV,如果该三角边的长度小于颗粒度阈值,则将树节点B加入到树节点A中,成为A的子节点,如果该三角边的长度大于颗粒度阈值,则将树节点B加入到Stree中;最后Stree中的要素即为进行裁剪处理后的房屋投影面聚合树集合,即代表了街区单元的房屋投影面集群。
[0015] 更具体地,所述颗粒度阈值根据需要展现的交通路径宽度确定,对最小生成树进行裁剪处理的作用为解析出在房屋投影面集群中实际分布的主干通达路径等信息。利用颗粒度阈值裁剪最小生成树,即可分割距离大于用颗粒度阈值房屋投影面群,形成多棵房屋投影面聚合树。通过设定不同的颗粒度阈值,可快速生产多尺度综合结果。矢量引擎通过分级渲染多尺度数据,可反映数据在不同尺度下的分布特性和形态特征。
[0016] 进一步地,所述对新的关联三角网进行基于约束边的三角剖分的方法为:对新的关联三角网创建R树索引Indexrtree;创建新的关联三角网集合Striangle,将新的关联三角网中所有三角形加入到Striangle中;遍历房屋投影面集群中所有房屋投影面多边形的边,从Striangle中移除Indexrtree中与房屋投影面多边形的边相交的三角形;将Striangle中与房屋投影面多边形的边相交的三角形融合成一个简单多边形H,并用该房屋投影面多边形的边将H分隔成两侧多边形;对两侧多边形分别进行三角剖分,并将剖分后的三角形加入Striangle中;融合Striangle中所有三角形,得到融合后的多边形。
[0017] 进一步地,所述对两侧多边形分别进行三角剖分,具体包括:获取该多边形顶点的逆时针序列,创建点集合Sp,将逆时针序列中的所有点放至Sp;如果Sp的点数等于4,则直接将该多边形加入到Striangle中;如果Sp的点数不等于4,则遍历逆时针序列,计算点的凹凸性并执行以下凸点判断步骤:如果是凸点,则利用该凸点与前置点和后置点构成三角形,如果所述构成的三角形不包含其它点,则将所述构成的三角形加入到Striangle中,并从Sp中删除该凸点;否则跳过该凸点,继续计算下一个点的凹凸性,重复以上凸点判断步骤,直至Sp的点数等于4。
[0018] 现有技术中所使用的点集Delaunay三角剖分算法,满足三角形外接圆内部没有其他点的空圆特性、各三角形的最小内角和为最大的特性和唯一性,但是三角边穿过房屋投影面的边,并不能对房屋投影面群实现较好的三角剖分。而基于约束边的三角剖分可以消除上述问题,对房屋投影面内部和房屋投影面之间的连接处构建三角剖分结构,通过筛选融合房屋投影面之间的连接处的三角形,可实现房屋投影面群的融合。
[0019] 第二方面,提供一种自动化综合制图系统包括:
[0020] 代表点获取模块,用于获取各房屋投影面多边形的代表点,形成代表点集群;
[0021] 最小生成树模块,用于基于无约束的Delaunay三角网数学模型构建房屋投影面的代表点集群的关联三角网,对所述关联三角网构建最小生成树;
[0022] 裁剪模块,用于对所述最小生成树进行裁剪处理,形成至少一棵多边形聚合树;
[0023] 更新模块,用于提取每一棵多边形聚合树中的房屋投影面多边形的所有顶点,基于无约束的Delaunay三角网数学模型生成新的关联三角网,对新的关联三角网进行基于约束边的三角剖分,使新的关联三角网中的三角形的边不会穿过房屋投影面多边形;
[0024] 融合模块,用于对经约束处理后的新的关联三角网进三角形融合,得到新的房屋地图信息。
[0025] 与现有技术相比,本发明的有益效果为:
[0026] (1)相对于基于模型或知识库的综合制图方法,本发明提供的一种自动化综合制图方法及系统提高了综合制图的效率和自动化水平,同时在制图员缺乏专业知识背景的情况下,也能生成缩编地图;
[0027] (2)本发明通过用代表点替代各房屋投影面多边形的空间位置,减少矢量引擎渲染的要素量,可以实现空间数据降维,提高动态矢量服务的性能;
[0028] (3)本发明通过设定不同的颗粒度阈值,可快速生产多尺度综合结果。矢量引擎通过分级渲染多尺度数据,可反映数据在不同尺度下的分布特性和形态特征;
[0029] (4)本发明应用房屋投影面多边形集群基于约束边的Delaunay三角剖分算法,剔除距离集群大于颗粒度阈值的三角形后,可有效识别出房屋投影面集群中内部岛屿特征。

附图说明

[0030] 图1为本发明实施例1的方法步骤流程图。
[0031] 图2为本发明实施例1综合制图前的房屋投影面多边形集群。
[0032] 图3为本发明实施例1的多边形形心位置示意图。
[0033] 图4为本发明实施例1的多边形代表点查找过程示意图。
[0034] 图5为本发明实施例1对关联三角网构建的最小生成树。
[0035] 图6为本发明实施例1裁剪后的最小生成树。
[0036] 图7为本发明实施例1融合前的多边形集群。
[0037] 图8为本发明实施例1对多边形集群进行三角剖分示意图。
[0038] 图9为本发明实施例1融合后的多边形集群。
[0039] 图10为本发明实施例1在1:1万比例尺下的综合制图结果。
[0040] 图11为本发明实施例1在1:2万比例尺下的综合制图结果。
[0041] 图12为本发明实施例2的系统示意图。

具体实施方式

[0042] 本发明附图仅用于示例性说明,不能理解为对本发明的限制。为了更好说明以下实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0043] 实施例1
[0044] 如图1所示,本实施例提供一种自动化综合制图方法,包括:
[0045] S101、获取各房屋投影面多边形的代表点,形成代表点集群;
[0046] S102、基于无约束的Delaunay三角网数学模型构建房屋投影面的代表点集群的关联三角网,对所述关联三角网构建最小生成树;
[0047] S103、对所述最小生成树进行裁剪处理,形成至少一棵多边形聚合树;
[0048] S104、提取每一棵多边形聚合树中的房屋投影面多边形的所有顶点,基于无约束的Delaunay三角网数学模型生成新的关联三角网,对新的关联三角网进行基于约束边的三角剖分,使新的关联三角网中的三角形的边不会穿过房屋投影面多边形;
[0049] S105、对经约束处理后的新的关联三角网进三角形融合,得到新的房屋地图信息。
[0050] 示例性地,如图2所示,以某真实城市内1420个房屋投影面为例,提供综合制图前的房屋投影面多边形集群。地图的综合制图在小比例尺情况下并不需要显示各房屋投影面情况,而是需要进行集群融合后既要充分保持房屋分布情况,还要真实解析出在各房屋群中实际分布的主干通达路径等信息。综合制图的关键是将拓扑临近和视觉临近的房屋投影面集群识别出来,并通过算法将其化简概括与融合,生成缩编后的小比例尺的空间数据。
[0051] 本实施例步骤S101提供的获取各房屋投影面多边形的代表点的方法为:
[0052] S1011、计算房屋投影面的形心,如果形心落在房屋投影面内部,则将形心作为房屋投影面的代表点;
[0053] S1012、如果形心落在房屋投影面外部,则以形心为旋转点,以房屋投影面外接矩形的对角线长度为切割线段进行旋转切割,当切割线段将房屋投影面切割为两个面积相当的多边形后停止旋转,获取切割线段与房屋投影面相交后的交点,再获取交点连接形成的线段中点,如果中点落在房屋投影面内部,则将中点作为房屋投影面的代表点,如果中点落在房屋投影面外部,则获取交点连接形成的线段上距离形心最近点向外延伸阈值距离的点,递归缩小阈值距离,直至点落在房屋投影面内部,则将该点作为房屋投影面代表点。
[0054] 步骤S1012中以形心为旋转点,以房屋投影面外接矩形的对角线长度为切割线段进行旋转切割,当切割线段将房屋投影面切割为两个面积相当的多边形后停止旋转,具体包括:
[0055] 提取房屋投影面外接矩形的对角线长度作为切割线段;将切割线段以形心作为旋转点从一定方向开始顺时针旋转一定角度,如将切割线段以形心作为旋转点从正北方位开始顺时针旋转30度,获取旋转前和旋转后的切割线段分割房屋投影面所形成的左右两侧多边形面积大小,如旋转后切割线段分割房屋投影面所形成的右侧面积比左侧面积多,且相对于旋转前差值变少,则后续旋转方向为顺时针,否则为逆时针;
[0056] 具体实施是以形心作为旋转点,将所述切割线段从所述一定方向开始,按照判断出的旋转方向旋转设定的一定角度作为阈值步伐,每旋转一次时,将切割线段分割所述房屋投影面所形成的左右两侧多边形面积进行比对,判断旋转前后切割线段分割房屋投影面所形成的左右两侧多边形面积大小关系是否发生反转,如没有则继续用所述切割线段进行旋转,否则按照二分法进行反方向旋转,当切割线段分割房屋投影面所形成的左右两侧多边形面积差小于面积阈值时,停止旋转。
[0057] 所述按照二分法进行反方向旋转,具体包括:
[0058] 选取所设定的阈值步伐的二分之一作为新的旋转角度,将切割线段按原旋转方向的反方向旋转新的旋转角度,将切割线段分割所述房屋投影面所形成的左右两侧多边形面积进行比对;如果左右两侧多边形面积大小关系再次发生反转,则再次改变旋转方向,选取新的旋转角度的二分之一进行旋转;如果左右两侧多边形面积大小关系并未发生反转,则不改变旋转方向,选取新的旋转角度的二分之一继续进行旋转;直到切割线段分割多边形所形成的左右两侧多边形面积差小于面积阈值时,停止旋转。
[0059] 用代表点替代各房屋投影面多边形的空间位置可以实现空间数据降维,便于后续算法逻辑推演。可选地,根据实操经验可以得出旋转时的阈值步伐为30°时效果最佳。示例性地,如图3所示,该房屋投影面的形心不在多边形内部,则需要寻找代表点。如图4所示,分割线的旋转顺序为1‑2‑3‑4‑5‑6,其中1‑2‑3‑4是阈值步伐为30°进行旋转切割的切割线段,而4‑5‑6是按照二分法进行反方向旋转的切割线段。当切割线段转到位置6时,切割线段将房屋投影面分割成面积差在面积阈值内的两个多边形,至此旋转停止,切割线段与房屋投影面的两个交点的中点即为房屋投影面的代表点。
[0060] 本实施例步骤S102提供的对关联三角网构建最小生成树的方法为:
[0061] S1021、初始化房屋投影面代表点集合Spoint,并将获取的各房屋投影面多边形的代表点放至Spoint中;预设关联三角网中每个三角边的权重,所述三角边的权重根据三角边相关联的房屋投影面的距离设定;
[0062] S1022、遍历关联三角网的所有三角边,选取权重最小的三角边作为最小生成树的初始边,从Spoint中剔除该三角边的两个顶点;
[0063] S1023、遍历关联三角网中所有与初始边的两个顶点相连三角边,从其中选取权重最小的三角边加入到最小生成树中,并从Spoint中剔除该三角边的两个顶点;
[0064] S1024、继续遍历关联三角网中与已加入最小生成树的三角边的顶点相连的三角边,从中选取与已加入最小生成树的三角边不形成闭环并且权重最小的三角边加入到最小生成树中,并从Spoint中剔除该三角边的两个顶点;
[0065] S1025、重复S1024直至Spoint为空,从而构建出最小生成树。
[0066] 更具体地,步骤S1021中所述三角边的权重为该三角边所连接的两个多边形代表点之间的距离,权重的选取是为了体现房屋投影面的邻近关系。
[0067] 示例性地,对关联三角网构建的最小生成树如图5所示。
[0068] 本实施例步骤S103提供的对最小生成树进行裁剪处理的方法为:
[0069] S1031、根据关联三角网的三角边加入最小生成树的先后顺序,形成最小生成树的三角边序列Listtri‑edge;
[0070] S1032、定义一种树节点,用于记录代表点和其连接的子节点集合,以及该树关联的三角边;初始化代表点与树节点的映射集KV和树集合Stree;
[0071] S1033、按照顺序遍历Listtri‑edge中每一条三角边并对所述每一条三角边进行如下处理:
[0072] 利用三角边的其中一个顶点构建树节点A,在树节点A中记录该三角边,并将该树节点A加入到Stree中,同时将该其中一个顶点和树节点A加入到映射集KV中;
[0073] 用该三角边的另一个顶点构建树节点B,将该三角边的另一个顶点和树节点B加入到映射集中KV,如果该三角边的长度小于颗粒度阈值,则将树节点B加入到树节点A中,成为A的子节点,如果该三角边的长度大于颗粒度阈值,则将树节点B加入到Stree中;
[0074] S1034、最后Stree中的要素即为进行裁剪处理后的多边形聚合树集合,即代表了街区单元的房屋投影面集群。
[0075] 示例性地,对最小生成树进行裁剪的结果如图6所示。
[0076] 本实施例步骤S104提供的对新的关联三角网进行基于约束边的三角剖分的方法为:
[0077] S1041、对新的关联三角网创建R树索引Indexrtree;
[0078] S1042、创建新的关联三角网集合Striangle,将新的关联三角网中所有三角形加入到Striangle中;
[0079] S1043、遍历房屋投影面集群中所有房屋投影面多边形的边,从Striangle中移除Indexrtree中与房屋投影面多边形的边相交的三角形
[0080] S1044、将Striangle中与房屋投影面多边形的边相交的三角形融合成一个简单多边形H,并用该房屋投影面多边形的边将H分隔成两侧多边形;
[0081] S1045、对两侧多边形分别进行三角剖分,并将剖分后的三角形加入Striangle中;融合Striangle中所有三角形,得到融合后的多边形。
[0082] 其中步骤S1045对两侧多边形分别进行三角剖分,具体包括:
[0083] 获取该多边形顶点的逆时针序列,创建点集合Sp,将逆时针序列中的所有点放至Sp;
[0084] 如果Sp的点数等于4,则直接将该多边形加入到Striangle中;
[0085] 如果Sp的点数不等于4,则遍历逆时针序列,计算点的凹凸性并执行以下凸点判断步骤:如果是凸点,则利用该凸点与前置点和后置点构成三角形,如果所述构成的三角形不包含其它点,则将所述构成的三角形加入到Striangle中,并从Sp中删除该凸点;否则跳过该凸点,继续计算下一个点的凹凸性,重复以上凸点判断步骤,直至Sp的点数等于4。
[0086] 示例性地,提取其中一棵多边形聚合树中的房屋投影面多边形集群,如图7所示,树集合Stree中每一棵树所涉及的多边形即是需要融合的房屋投影面集群;对该多边形集群进行三角剖分的示意图如图8所示;去除融合后多边形中面积小于阈值的岛,最终多边形集群的融合结果如图9所示。
[0087] 更具体地,颗粒度阈值根据需要展现的交通路径宽度确定,通过设定不同的颗粒度阈值,可快速生产多尺度综合结果。矢量引擎通过分级渲染多尺度数据,可反映数据在不同尺度下的分布特性和形态特征。
[0088] 示例性地,设定颗粒度阈值为视觉1mm,在1:1万比例尺下,代表现实世界的10米距‑5离,换算为对应经纬度为9.009*10 ,综合得到101个要素,结果如图10所示;在1:2万比例尺‑4
下,设定颗粒度阈值对应经纬度为1.8018*10 ,综合得到33个要素,结果如图11所示。在无额外人工干预下,不同集群切割合理,综合后的多边形能很好体现原数据的形态特征,能清晰识别出比距离阈值大的街道和面积较大的内部空地岛。
[0089] 实施例2
[0090] 如图12所示,本实施例基于实施例1的方法,提供一种自动化综合制图系统,包括:
[0091] 代表点获取模块201,用于获取各房屋投影面多边形的代表点,形成代表点集群;
[0092] 最小生成树模块202,用于基于无约束的Delaunay三角网数学模型构建房屋投影面的代表点集群的关联三角网,对所述关联三角网构建最小生成树;
[0093] 裁剪模块203,用于对所述最小生成树进行裁剪处理,形成至少一棵多边形聚合树;
[0094] 更新模块204,用于提取每一棵多边形聚合树中的房屋投影面多边形的所有顶点,基于无约束的Delaunay三角网数学模型生成新的关联三角网,对新的关联三角网进行基于约束边的三角剖分,使新的关联三角网中的三角形的边不会穿过房屋投影面多边形;
[0095] 融合模块205,用于对经约束处理后的新的关联三角网进三角形融合,得到新的房屋地图信息。
[0096] 具体的,代表点获取模块201具体用于:
[0097] 计算房屋投影面的形心,如果形心落在房屋投影面内部,则将形心作为房屋投影面的代表点;如果形心落在房屋投影面外部,则以形心为旋转点,以房屋投影面外接矩形的对角线长度为切割线段进行旋转切割,当切割线段将房屋投影面切割为两个面积相当的多边形后停止旋转,获取切割线段与房屋投影面相交后的交点,再获取交点连接形成的线段中点,如果中点落在房屋投影面内部,则将中点作为房屋投影面的代表点,如果中点落在房屋投影面外部,则获取交点连接形成的线段上距离形心最近点向外延伸阈值距离的点,递归缩小阈值距离,直至点落在房屋投影面内部,则将该点作为多边形房屋投影面代表点。
[0098] 最小生成树模块202具体用于:
[0099] 初始化多边形代表点集合Spoint,并将获取的各房屋投影面多边形的代表点放至Spoint中;预设关联三角网中每个三角边的权重,所述三角边的权重根据三角边相关联的房屋投影面的距离设定;遍历关联三角网的所有三角边,选取权重最小的三角边作为最小生成树的初始边,从Spoint中剔除该三角边的两个顶点;遍历关联三角网中所有与初始边的两个顶点相连三角边,从其中选取权重最小的三角边加入到最小生成树中,并从Spoint中剔除该三角边的两个顶点;S1024、继续遍历关联三角网中与已加入最小生成树的三角边的顶点相连的三角边,从中选取与已加入最小生成树的三角边不形成闭环并且权重最小的三角边加入到最小生成树中,并从Spoint中剔除该三角边的两个顶点;直到Spoint为空,从而构建出最小生成树。
[0100] 裁剪模块203具体用于:
[0101] 根据关联三角网的三角边加入最小生成树的先后顺序,形成最小生成树的三角边序列Listtri‑edge;定义一种树节点,用于记录代表点和其连接的子节点集合,以及该树关联的三角边;初始化代表点与树节点的映射集KV和树集合Stree;按照顺序遍历Listtri‑edge中每一条三角边并对所述每一条三角边进行如下处理:利用三角边的其中一个顶点构建树节点A,在树节点A中记录该三角边,并将该树节点A加入到Stree中,同时将该其中一个顶点和树节点A加入到映射集KV中;用该三角边的另一个顶点构建树节点B,将该三角边的另一个顶点和树节点B加入到映射集中KV,如果该三角边的长度小于颗粒度阈值,则将树节点B加入到树节点A中,成为A的子节点,如果该三角边的长度大于颗粒度阈值,则将树节点B加入到Stree中;最后Stree中的要素即为进行裁剪处理后的多边形聚合树集合,即代表了街区单元的房屋投影面集群。
[0102] 更新模块204具体用于:
[0103] 对新的关联三角网创建R树索引Indexrtree;创建新的关联三角网集合Striangle,将新的关联三角网中所有三角形加入到Striangle中;遍历房屋投影面集群中所有房屋投影面多边形的边,从Striangle中移除Indexrtree中与房屋投影面多边形的边相交的三角形将Striangle中与房屋投影面多边形的边相交的三角形融合成一个简单多边形H,并用该房屋投影面多边形的边将H分隔成两侧多边形;对两侧多边形分别进行三角剖分,并将剖分后的三角形加入Striangle中;
[0104] 融合模块205具体用于:
[0105] 融合Striangle中所有三角形,得到融合后的多边形,进而得到新的房屋地图信息。
[0106] 显然,本发明的上述实施例仅仅是为清楚地说明本发明技术方案所作的举例,而并非是对本发明的具体实施方式的限定。凡在本发明权利要求书的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。