CN116416340B - 一种连续铺盖数据的拓扑快速构建算法 - Google Patents

一种连续铺盖数据的拓扑快速构建算法 Download PDF

Info

Publication number
CN116416340B
CN116416340B CN202310258457.1A CN202310258457A CN116416340B CN 116416340 B CN116416340 B CN 116416340B CN 202310258457 A CN202310258457 A CN 202310258457A CN 116416340 B CN116416340 B CN 116416340B
Authority
CN
China
Prior art keywords
point
ring
points
information
path
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.)
Active
Application number
CN202310258457.1A
Other languages
English (en)
Other versions
CN116416340A (zh
Inventor
殷勇
郭沛沛
武鹏达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chinese Academy of Surveying and Mapping
Original Assignee
Chinese Academy of Surveying and Mapping
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chinese Academy of Surveying and Mapping filed Critical Chinese Academy of Surveying and Mapping
Priority to CN202310258457.1A priority Critical patent/CN116416340B/zh
Publication of CN116416340A publication Critical patent/CN116416340A/zh
Application granted granted Critical
Publication of CN116416340B publication Critical patent/CN116416340B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本发明的连续铺盖数据的拓扑快速构建算法,算法步骤包括:数据预处理、全局点序化、识别分裂点、弧段搜索、构建拓扑;本发明的算法中的连续铺盖数据具有全覆盖、无重叠、无缝隙的空间分布特征,共边线上的几何点基本是符合一致的,并且连续铺盖数据形成的拓扑结构中,拓扑弧段在几何上对应面的公共边,其首尾结点对应着公共边的起始、终止点;处理的是特定的数据域,算法执行效率高,耗费的计算资源少,应用范围广,可以高效的利用收集的地图数据。

Description

一种连续铺盖数据的拓扑快速构建算法
技术领域
本发明涉及地图制图学技术领域,尤其涉及一种连续铺盖数据的拓扑快速构建算法。
背景技术
近年来开展的地理国情普查和第三次全国土地调查等重大国情国力调查项目积累了大量全覆盖、无缝隙、高精度的土地利用图斑、坡度等级图等基础数据;为满足各行各业的跨比例尺应用需求,需要对数据进行化简、融合、聚合、降维等地图综合操作;这些操作对综合前后的数据都有不同的拓扑关系约束要求,因此构建铺盖数据的拓扑关系十分重要。
现有技术在构建面状空间数据的拓扑关系一般包含四步:一是求弧段交点;二是对弧段进行分割;三是建立结点与弧段的拓扑关系;四是搜索多边形,建立弧段和多边形的拓扑关系;上述步骤中,又以弧段求交和分割是面状数据拓扑关系构建的基础,也是重点;
现有技术的传统算法在执行弧段求交和分割操作时,涉及到的基础算子是线段相交的判断和计算,处理范围往往是全部数据域,因此会有大量无效判断和计算,浪费计算资源;
还有针对现有技术的改进即采用分治策略来生成多边形的拓扑信息,但现有技术的此类算法的实现过程比较复杂,拼接的时候会耗费很多计算资源,并且不一定能获得效率的提升;
还有针对现有技术的改进即借鉴栅格数据的处理手段来生成拓扑关系,但是栅格数据的应用范围有限,且矢栅转换的效率和效果也无法完全保证;
综上所述,现有技术使用拓扑构建算法在处理大数据量的铺盖数据时,由于共边情况较多,会涉及到大量的相交判断和计算,也要应对大量的弧段共线的处理,现有技术的算法效率较低,无法高效的利用收集的地图数据;
因此,本领域技术人员致力于开发一种连续铺盖数据的拓扑快速构建算法,旨在解决现有技术中存在的缺陷问题。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是目前现有技术中,计算,处理范围广,会进行大量的无效判断和计算;实现过程比较复杂,拼接的时候会耗费很多计算资源;应用范围有限,且矢栅转换的效率和效果差;算法效率较低,无法高效的利用收集的地图数据。
为实现上述目的,本发明一种连续铺盖数据的拓扑快速构建算法,包括如下步骤:
步骤A:数据预处理,将原始的连续铺盖的面数据解构成环线集合,然后检测处理环线冗余点、环分割问题;
步骤B:全局点序化,根据有重复、无实体信息的几何点生成无重复、含实体信息的有序全局点集;
步骤C:识别分裂点,从全局点中识别出分裂点,作为后续弧段搜索的起点;
步骤D:弧段搜索,从分裂点开始,沿其关联的环线搜索并记录有序点集、关联实体信息等;
步骤E:构建拓扑,根据搜索的结果生成拓扑弧段,构建拓扑结构;
所述步骤A的数据预处理方法分为以下几步:
步骤A1:重复点、两点之间的空间距离小于设定的容差就认为是重复点;
步骤A2:冗余点、环线上除了首尾点外的、连续的、重复点;
步骤A3:解构、取原始连续铺盖的面数据的外环线和其所有洞环线,形成环线集合;
步骤A4:冗余点处理、按照点在环线上的顺序进行检测,当出现冗余点时,舍弃其中一点;
步骤A5:环分割、当检测到环线存在非首尾点的重复点时,在重复点处将原环线分割为两个新环线;再对新生成的环线重复上述检测分割过程,直至最终结果都是简单环;
所述步骤B的全局点序化处理分为以下几步:
步骤B1:创建RTree,用于对点进行建树索引;
步骤B2:从环线集合R中取一个未处理的环Ri
步骤B3:取Ri上的几何点Pj,根据Pj的空间位置在RTree中搜索,判断搜索结果是否为空;
步骤B4:如果为空,则根据Pj及其关联的实体信息,如关联的环Ri,Ri所在的原始几何,Pj在Ri上的索引等信息,按照GlobalPoint的格式创建一个全局点Gm,放入全局点集合G中,并在RTree中记录Pj;如果不为空,根据搜索结果得到已创建的全局点Gn,根据Pj关联的实体信息补充Gm中的“关联的原始几何信息”、“关联的环线信息”、“点在环线上的索引信息”项等;
步骤B5:对Ri上的所有点重复步骤B3、B4;
步骤B6:对环线集合R中的所有环重复步骤B2-B5,直至所有环都处理为止;
所述步骤C的分裂点识别分为以下几步:
步骤C1:三种类型的分裂点包括:①一类分裂点SP-I、②二类分裂点SP-II、③三类分裂点SP-III;
所述一类分裂点对应的几何点是环的首结点;
所述二类分裂点关联至少两个环且最多关联一个共享边;
所述三类分裂点至少关联三个环且至少关联三个共享边;
步骤D:弧段搜索,从分裂点开始,沿其关联的环线搜索并记录有序点集、关联实体信息等;
所述步骤D中,弧段搜索的方法分为以下几步:
步骤D1:弧段搜索的基本原则:
①空间连续性:两个全局点包含的几何点在其关联的所有环线上都是空间连续的;
②属性一致性:搜索路径扩展过程中需保证实体信息的一致性,不新增、不缺失;
步骤D2:扩展点追踪:
所述步骤D2,若两点关联的环信息是一致的,且在对应的环上是几何连续的,那两点之间的路径是可扩展的,路径对应的属性信息就是对应关联的环信息;
所述步骤D2对于首尾段的扩展条件及保留的属性信息有特殊判断和处理;
所述步骤D2对于路径首段的处理方法如下:
①如果两点关联的环完全一致且点是连续的,则是可扩展的;属性信息保留关联的所有环信息;
②如果两点关联的环信息不一致且互不包含,取共同关联且在几何上相邻的环信息作为扩展路径的属性信息;
③如果当前点关联的环信息包含了待扩展点关联的环信息,首先判断两点在待扩展点关联的环上是否几何连续;如果存在不连续的则不能扩展;如果都是连续的,则可扩展,属性信息保留待扩展点关联的所有环信息;
④同理如果待扩展点关联的环信息包含了当前点关联的环信息,判断两点在当前点关联的环上是否是几何连续的,如果存在不连续的情况则不能扩展,如果都是连续的,则可扩展,属性信息保留待扩展点关联的所有环信息;
所述步骤D2对于路径非首段的处理方法如下:
①首先判断当前点和待扩展点在对应的环上是否几何连续的,不连续则不可扩展;如果几何连续,则继续判断属性信息;
②如果待扩展点关联的环信息和当前路径关联的环信息一致,待扩展点可添加到当前路径中,并把待扩展点作为当前点继续判断;
③如果待扩展点关联的环信息包含了当前路径关联的环信息,待扩展点可添加到当前路径中,结束路径搜索;
④如果当前路径关联的环信息包含了待扩展点关联的环信息,待扩展点不可添加到当前路径中,结束路径搜索;
⑤如果当前路径关联的环信息和待扩展点关联的环信息不一致且互不包含,待扩展点不可添加到当前路径中,结束路径搜索;
对于多边形洞环的首结点形成的分裂点,如果路径搜索过程中又回到了起始的分裂点,则说明环线是孤立的,即可结束搜索;
步骤D3:弧段搜索分为以下几步:
①取一个分裂点作为当前点Gcur,得到其关联的信息;
②取Gcur关联的一个环Ri,沿环线的方向取当前点的相邻点(前点或后点),找到它对应的全局点Gnxt作为待扩展点;
③检查Gcur和Gnxt之间的路径是否已经作为首尾路径进行了搜索:是则结束搜索,否则进入步骤④;
④判断Gcur和Gnxt之间的路径是否是可扩展的:
如果是不可扩展的,则结束当前搜索路径,记录路径的首尾段;
如果是可扩展的,则创建或追加更新搜索路径Path{},创建时记录当前路径实体信息Attri{},更改Gnxt的搜索标记为已搜;把Gnxt作为Gcur,重复步骤②-④,直到遇到不可扩展点;
⑤经过步骤②-步骤④,如果得到的是一条路径结果(即只有前点方向或后点方向可扩展),则记录结果路径、结束点等信息;如果得到的是两条路径结果(即前点、后点方向均可扩展),判断两路径关联的环信息是否一致;
若不一致时,分别记录两条路径结果;一致时,检查与起始分裂点的环关联信息是否相同,相同时可以合并为一条路径,不相同的话还是要分别记录两段路径结果;
⑥对Gcur关联的所有环做步骤②至步骤⑤的处理,直到所有关联环都处理过为止;
⑦对所有分裂点重复步骤①-步骤⑥;
所述步骤E中,构建拓扑方法包括:
弧段搜索的结果是多组有序的全局点集合及其对应的属性信息;把每一组有序的全局点集转化为几何线,赋值对应路径的实体属性,就可得到初始的结果弧段;
完成一般弧段的生成后对孤立环弧做处理,在一般扩展路径搜索过程中,记录下所有搜索路径涉及的环的首节点,最后从数据所有环线的首节点集合中排除已搜的首节点,剩下的即是SP-I类分裂点;
如果一个SP-I类分裂点关联的环信息只有一个,直接根据关联的环几何和对应的实体信息生成弧段;如果一个SP-I类分裂点关联多个环信息,需检查一下当前环线邻近点是否也含有相同的多实体信息,如果不是,则对生成的岛弧赋单实体信息,而非多实体信息,因为可能只是环在首点处共点而已;对已经搜索过的环洞不需要再重复构弧,防止一个环几何相同,但首点不同多次构建弧段;
采用以上方案,本发明公开的连续铺盖数据的拓扑快速构建算法,具有以下优点:
(1)本发明的连续铺盖数据的拓扑快速构建算法,不同于以往的拓扑构建算法在处理大数据量的铺盖数据时,由于共边情况较多,会涉及到大量的相交判断和计算,也要应对大量的弧段共线的处理,因此算法效率较低;本发明的连续铺盖数据具有全覆盖、无重叠、无缝隙的空间分布特征,共边线上的几何点基本是符合一致的,并且连续铺盖数据形成的拓扑结构中,拓扑弧段在几何上对应面的公共边,其首尾结点对应着公共边的起始、终止点;
(2)本发明的连续铺盖数据的拓扑快速构建算法,处理的是特定的数据域,算法执行效率高,耗费的计算资源少,应用范围广,可以高效的利用收集的地图数据;
综上所述,本发明公开的连续铺盖数据的拓扑快速构建算法,本发明的连续铺盖数据具有全覆盖、无重叠、无缝隙的空间分布特征,共边线上的几何点基本是符合一致的,并且连续铺盖数据形成的拓扑结构中,拓扑弧段在几何上对应面的公共边,其首尾结点对应着公共边的起始、终止点,处理的是特定的数据域,算法执行效率高,耗费的计算资源少,应用范围广,可以高效的利用收集的地图数据;
以下将结合具体实施方式对本发明的构思、具体技术方案及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1为本发明连续铺盖数据的拓扑快速构建算法技术路线图;
图2为本发明连续铺盖数据的拓扑快速构建算法步骤A中面解构为环的示意图;
图3为本发明连续铺盖数据的拓扑快速构建算法步骤A中冗余点处理的示意图;
图4为本发明连续铺盖数据的拓扑快速构建算法步骤A中环分割的示意图;
图5为本发明连续铺盖数据的拓扑快速构建算法步骤B中的全局点序化的示意图;
图6为本发明连续铺盖数据的拓扑快速构建算法步骤C中分裂点的示意图;
图7为本发明连续铺盖数据的拓扑快速构建算法步骤D中弧段搜索原则的示意图;
图8为本发明连续铺盖数据的拓扑快速构建算法步骤D中弧段搜索的示例图;
图9为本发明连续铺盖数据的拓扑快速构建算法步骤D中闭合弧处理的示意图。
具体实施方式
以下介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,这些实施例为示例性描述,本发明的保护范围并非仅限于文中提到的实施例。
实施例1
如图所示,图1为本发明连续铺盖数据的拓扑快速构建算法技术路线图;
步骤A:数据预处理,将原始的连续铺盖的面数据解构成环线集合,然后检测处理环线冗余点、环分割问题;
所述步骤A、首先,把连续铺盖的面数据解构成环线集合,对环线进行冗余点去除、环分割等处理;其次,对环线上的几何点进行全局点序化,将有重复、无实体信息的几何点转换为无重复、含实体信息的全局点;再次,从全局点中识别出分裂点,作为后续弧段搜索的起点;然后,从分裂点开始,沿着它所在环的点串进行弧段搜索,记录搜索过程中有序点集以及关联的实体信息;最后,将有序点集转换为几何线,结合实体信息生成拓扑弧段,构建拓扑结构;
所述步骤A中的数据预处理包括三部分:首先将原始连续铺盖的面数据解构成环线集合,然后检测处理环线冗余点问题,最后检测处理环分割问题;
所述步骤A中的数据预处理中的面数据解构成环,是取面的外环线和其所有洞环,形成环线集合;
其示意图,如图2所示,图2(a)表示的是原始铺盖面数据,共8个面数据,面A5是包含了两个洞,其余都是简单无洞的面;其中面A1、A2、A3均和面A5共边,面A4和面A5共点,面A6覆盖A5的第一个洞,面A7和面A8相邻,共同覆盖A5的第二个洞;
图2(b)表示的是铺盖面解构得到的环线数据和环上的点,面A1、A2、A3、A4、A6、A7、A8解构分别得到环R1、R2、R3、R4、R8、R9、R10,面A5解构得到三个环R5、R6、R7,环R6与环R8完全重合,环R9和R10与环R7部分重合;
所述步骤A中的数据预处理中的冗余点处理,环线上除了首尾点外的、连续的、重复点即为冗余点;
在本实施例1中,这里的重复是指在一定容差范围内的重复,即两点之间的空间距离D小于一定的容差Dε就认为是重复的;其中,距离利用欧式距离公式(1)计算,式中(xj,yj),(xk,yk)分别是环上相邻的几何点Pj和Pk的坐标;如果二者距离D小
图3是冗余点处理的示意图;以图3为例进行说明,图3(a)是面解构得到的环线,由6个点组成,其中P1、P6分别是首、尾点;P3、P4之间的距离为0,是冗余点;图3(b)是经过冗余点处理后的环,由5个点组成;与图3(a)相比,删除了冗余的P4点,环线上没有其他冗余点了;
所述步骤A中的数据预处理中的环分割检测每个环线是否是简单环,即每个环线本身在首尾处点仅重复一次,其他位置不能有重复点;
当本实施例1检测到环线存在重复点时,在重复点处将原环线分割为两个新环线;再对新生成的环线重复上述检测分割过程,直至最终结果都是简单环,具体实施时,在本实施例1中,这里“重复”的含义和步骤A数据预处理中冗余点处理中的含义相同;
图4是环分割的示意图;以图4为例进行说明,图4(a)是环进行分割处理前的形状,由11个点组成,其中其中P1、P1分别是首、尾点;由于P4、P9之间的距离为0且不连续,因此是重复点,需对环在P4、P9处进行分割;
图4(b)是分割后得到的两个环,第一个新环由P1、P2、P3、P4、P10、P11六个点组成,其中P1、P11分别是首、尾点,环上其他无重复点;第二个新环由P4、P5、P6、P7、P8、P9六个点组成,其中P4、P9分别是首、尾点,环上无其他重复点;分割得到的两个新环除首尾点外均无其他重复点,因此不再做环分割;
步骤B:全局点序化,根据有重复、无实体信息的几何点生成无重复、含实体信息的有序全局点集;
所述全局点序化过程是为了将环线上有重复、无实体信息的几何点转换为无重复、含实体信息的全局点集,本实施例1的具体步骤如下:
步骤1:创建RTree,用于对点进行建树索引;
步骤2:从环线集合R中取一个未处理的环Ri
步骤3:取Ri上的几何点Pj、根据Pj的空间位置在RTree中搜索,判断搜索结果是否为空;
步骤4:如果为空,则根据Pj及其关联的实体信息,如关联的环Ri,Ri所在的原始几何,Pj在Ri上的索引等信息,按照GlobalPoint的格式创建一个全局点Gm,放入全局点集合G中;并在RTree中记录Pj
如果不为空,根据搜索结果得到已创建的全局点Gn,根据Pj关联的实体信息补充Gm中的“关联的原始几何信息”、“关联的环线信息”、“点在环线上的索引信息”项等;
步骤5:对Ri上的所有点重复步骤3、4;
步骤6:对环线集合R中的所有环重复步骤2-步骤5,直至所有环都处理为止;
如图所示,图5为本发明连续铺盖数据的拓扑快速构建算法步骤B中的全局点序化的示意图;本实施例1,以图5为例,简单说明全局点序化过程;图5(a)表示原始面;图5(b)表示解构得到的环和环上的几何点;图5(c)表示转化得到的全局点;由原始面A1、A2得到的环R1、R2上分别有四个几何点:P1-1至P1-4和P2-1至P2-4
首先取R1上的点P1-1,在RTree中进行搜索,得到结果为空;创建全局点G1={Point=P1-1,GeometryIndex={1},RingIndex={1},PointIndex={1},IsSearched=false};将G1放入全局点集合G中,并在RTree中记录G1;类似的根据P1-2、P1-3、P1-4创建全局点G2={Point=P1-2,GeometryIndex={1},RingIndex={1},PointIndex={2},IsSearched=false},G3={Point=P1-3,GeometryIndex={1},RingIndex={1},PointIndex={3},IsSearched=false},G4={Point=P1-4,GeometryIndex={1},RingIndex={1},PointIndex={4},IsSearched=false},至此环R1上的点全部进行了全局点序化;
然后对R2上的点进行全局点序化,取P2-1在RTree中进行搜索,得到之前创建的全局点G2,将当前关联的实体信息补充到G2中,更新后的G2={Point=P1-2,GeometryIndex={1、2},RingIndex={1、2},PointIndex={2、1},IsSearched=false};以此类推,通过P2-2得到全局点G5={Point=P2-2,GeometryIndex={2},RingIndex={2},PointIndex={2},IsSearched=false},通过P2-3得到G6={Point=P2-3,GeometryIndex={2},RingIndex={2},PointIndex={3},IsSearched=false},通过P2-4更新G3={Point=P1-3,GeometryIndex={1、2},RingIndex={1、2},PointIndex={3、4};
如图所示,图6为本发明连续铺盖数据的拓扑快速构建算法步骤C中分裂点的示意图;
分裂点是一种关键的全局点,作为弧段搜索的起点,具体可分为如下三种:
①一类分裂点SP-I:这类分裂点的特征是它对应的几何点是环的首结点:如图6中的G18可以作为分裂点,而G22不作为分裂点;
②二类分裂点SP-II:这类分裂点的特征是关联至少两个环且最多关联一个共享边;如图6中的G2、G5、G7等;而G4点虽然关联两个环,但是邻近的全局点只有G3、G5两个,所以它不是分裂点;
③三类分裂点SP-III:这类分裂点的特征是至少关联三个环且至少关联三个共享边;如图6中的G3、G26、G27
具体到本发明实施例1中,图6中,①一类分裂点SP-I为G18;②二类分裂点SP-II为G2、G5、G7、G10、G11、G14;③三类分裂点SP-III为G3、G26、G27;图6中,除上述三类点外,其余点均为一般全局点;
如图所示,图7为本发明连续铺盖数据的拓扑快速构建算法步骤D中弧段搜索原则的示意图;图8为本发明连续铺盖数据的拓扑快速构建算法步骤D中弧段搜索的示例图;
④搜索原则:弧段搜索是从分裂点开始,遵循空间连续性和属性一致性的原则沿着它所在环的点串进行路径搜索,记录搜索过程中有序点集以及关联的实体信息;
本实施例1具体以图7为例进行说明;空间连续性是指两个全局点包含的几何点在其关联的所有环线上都是空间连续的;
如图7(a)表示的是三个原始面数据,图7(b)中表示的是对应的三个环R1(P1-1-P1-6)、R2(P2-1-P2-8)、R3(P3-1-P3-5),全局点有G1-G12,其中全局点G2对应几何点P1-2和P2-1,全局点G3对应几何点P1-3和P2-8,全局点G4对应几何点P1-4和P2-5,全局点G5对应几何点P1-5和P2-4
其中全局点G2、G3具有空间连续性,因为它们对应的几何点P1-2、P1-3在R1上是连续的,P2-1、P2-8在R2上也是连续的;而全局点G3、G4则不具有空间连续性,因为它们对应的几何点P1-3、P1-4在R1上是连续的,但是对应的几何点P2-8、P2-5在R2上是不连续的;
所述属性一致性是指搜索路径扩展过程中需保证实体信息的一致性,不新增、不缺失;如图7(b)中,当G4为当前点,判断G5是否是可扩展点时,由于G4关联R1、R2两个环,而G5关联R1、R2、R3三个环,因此搜索路径到G5中断;
⑤扩展点追踪:若如果两点关联的环信息是一致的,且在对应的环上是几何连续的,那两点之间的路径是可扩展的,路径对应的属性信息就是对应关联的环信息;但是对于首尾段的扩展条件及保留的属性信息有特殊判断和处理;
本实施例1具体以图8为例进行说明;对于路径首段:
(1)如果两点关联的环完全一致且点是连续的,则是可扩展的;属性信息保留关联的所有环信息;如图8中的G6-G12路径可扩展,保留R3和R4的属性信息;
(2)如果两点关联的环信息不一致且互不包含,取共同关联且在几何上相邻的环信息作为扩展路径的属性信息:如G3-G8路径可扩展,保留共同关联的R2和R5的属性信息;
(3)如果当前点关联的环信息包含了待扩展点关联的环信息,首先判断两点在待扩展点关联的环上是否几何连续;如果存在不连续的则不能扩展;如果都是连续的,则可扩展,属性信息保留待扩展点关联的所有环信息;如G8-G9路径可扩展,保留R2和R3的属性信息;
(4)同理如果待扩展点关联的环信息包含了当前点关联的环信息,判断两点在当前点关联的环上是否是几何连续的,如果存在不连续的情况则不能扩展,如果都是连续的,则可扩展,属性信息保留待扩展点关联的所有环信息;如G7-G8路径可扩展,保留R3和R5的属性信息;
对于非首段:
(1)首先判断当前点和待扩展点在对应的环上是否几何连续的,不连续则不可扩展,如G15-G20-G23,在R8上不是连续的点,因此不可扩展;如果几何连续,则继续判断属性信息;
(2)如果待扩展点关联的环信息和当前路径关联的环信息一致,待扩展点可添加到当前路径中,并把待扩展点作为当前点继续判断:如G6-G10-G11
(3)如果待扩展点关联的环信息包含了当前路径关联的环信息,待扩展点可添加到当前路径中,结束路径搜索:如G5-G9-G8
(4)如果当前路径关联的环信息包含了待扩展点关联的环信息,待扩展点不可添加到当前路径中,结束路径搜索:如G6-G12-G7
(5)如果当前路径关联的环信息和待扩展点关联的环信息不一致且互不包含,待扩展点不可添加到当前路径中,结束路径搜索:如G6-G12-G7
对于多边形洞环的首结点形成的分裂点,如果路径搜索过程中又回到了起始的分裂点,则说明环线是孤立的,即可结束搜索:如通过G16经过G17、G18、G19回到G16,其关联的环信息是孤立环R6、R7
⑥搜索算法:弧段搜索步骤如下:
步骤1:取一个分裂点作为当前点Gcur,得到其关联的信息;
步骤2:取Gcur关联的一个环Ri,沿环线的方向取当前点的相邻点(前点或后点),找到它对应的全局点Gnxt作为待扩展点;
步骤3:检查Gcur和Gnxt之间的路径是否已经作为首尾路径进行了搜索,是则结束搜索,否则进入步骤4;
步骤4:根据2.4.2所述情况判断Gcur和Gnxt之间的路径是否是可扩展的;
如果是不可扩展的,则结束当前搜索路径,记录路径的首尾段;如果是可扩展的,则创建或追加更新搜索路径Path{},创建时记录当前路径实体信息Attri{},更改Gnxt的搜索标记为已搜;把Gnxt作为Gcur,重复步骤2至步骤4,直到遇到不可扩展点;
步骤5:通过步骤2至步骤4,如果得到的是一条路径结果(即只有前点方向或后点方向可扩展),则记录结果路径、结束点等信息;如果得到的是两条路径结果(即前点、后点方向均可扩展),判断两路径关联的环信息是否一致;不一致时,分别记录两条路径结果;一致时,检查与起始分裂点的环关联信息是否相同,相同时可以合并为一条路径,不相同的话还是要分别记录两段路径结果;
步骤6:对Gcur关联的所有环做步骤2至步骤5的处理,直到所有关联环都处理过为止;
步骤7:对所有分裂点重复步骤1至步骤6;
具体到本实施例1,以图8为例,其中G3、G8是SP-III类分裂点,G2、G4、G5、G6、G7、G12、G14、G15、G20、G23是SP-II类分裂点,G16是SP-I类分裂点;G3关联R1、R2、R5三个环,在R1上的邻点对应的全局点有G2和G4
当以G3为当前点、G2为待扩展点在R1上开始搜索时,由于是首段,当前点G3的关联信息包含了待扩展点G2的关联信息,因此路径可扩展,路径的实体信息为G2关联的实体信息,即R1、R2,创建Path1={G3,G2},Attri1={R1、R2};当以G2作为当前点、G1作为待扩展点时,由于G1的实体信息只有R1,因此不可扩展,当前路径到此结束;
同理,当以G3为当前点、G4为待扩展点在R1上进行搜索时,得到Path2={G3,G4},Attri2={R1、R5};由于Attri1、Attri2不同,两条路径不能合并;以上完成的是在R1上的路径搜索;
同理,在R2上进行路径搜索时,以G3为当前点、G2为待扩展点的路径已搜索过不再处理;以G3为当前点、G8为待扩展点时,由于是首段,当前点G3的关联信息和待扩展点G8的关联信息有共同部分但互不包含,因此路径可扩展,路径的实体信息为G3、G8共同关联的实体信息,即R2、R5,创建Path3={G3,G8},Attri1={R2、R5},当前路径到此结束;
如图所示、图9为本发明连续铺盖数据的拓扑快速构建算法步骤D中闭合弧处理的示意图;
弧段搜索的结果是多组有序的全局点集合及其对应的属性信息;把每一组有序的全局点集转化为几何线,赋值对应路径的实体属性,就可得到初始的结果弧段;完成一般弧段的生成后对孤立环弧做处理,在一般扩展路径搜索过程中,记录下所有搜索路径涉及的环的首节点,最后从数据所有环线的首节点集合中排除已搜的首节点,剩下的即是SP-I类分裂点;
其中:
(1)如果一个SP-I类分裂点关联的环信息只有一个,直接根据关联的环几何和对应的实体信息生成弧段;
(2)如果一个SP-I类分裂点关联多个环信息,需检查一下当前环线邻近点是否也含有相同的多实体信息,如果不是,则对生成的岛弧赋单实体信息,而非多实体信息,因为可能只是环在首点处共点而已;如图9(a)所示,P1-1对应的全局点是SP-I类分裂点,其关联了两个弧,但是创建的岛弧只能赋值R1的实体信息;
(3)对已经搜索过的环洞不需要再重复构弧,防止一个环几何相同,但首点不同多次构建弧段;如图9(b)中所示P1-1、P2-1分别是环R1、R2的首点,对应的全局点都是SP-I类分裂点,为防止产生两条重合的岛弧,在使用P1-1对应的分裂点搜索过程中记录下路径经过了P2-1对应的分裂点,不再作为分裂点进行搜索。
综上所述,本专利技术方案,不同于以往的拓扑构建算法在处理大数据量的铺盖数据时,由于共边情况较多,会涉及到大量的相交判断和计算,也要应对大量的弧段共线的处理,因此算法效率较低;本发明的连续铺盖数据具有全覆盖、无重叠、无缝隙的空间分布特征,共边线上的几何点基本是符合一致的,并且连续铺盖数据形成的拓扑结构中,拓扑弧段在几何上对应面的公共边,其首尾结点对应着公共边的起始、终止点;处理的是特定的数据域,算法执行效率高,耗费的计算资源少,应用范围广,可以高效的利用收集的地图数据。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员,无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的试验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (4)

1.一种连续铺盖数据的拓扑快速构建方法,其特征在于,包括如下步骤:
步骤A:数据预处理,将收集的地图数据中的原始的连续铺盖的面数据解构成环线集合,然后检测处理环线冗余点、环分割问题;
步骤B:全局点序化,根据有重复、无实体信息的几何点生成无重复、含实体信息的有序全局点集;
步骤C:识别分裂点,从全局点中识别出分裂点,作为后续弧段搜索的起点;
步骤D:弧段搜索,从分裂点开始,沿其关联的环线搜索并记录有序点集、关联实体信息;
步骤E:构建拓扑,根据搜索的结果生成拓扑弧段,构建拓扑结构;
所述步骤A的数据预处理方法分为以下几步:
步骤A1:重复点,两点之间的空间距离小于设定的容差就认为是重复点;
步骤A2:冗余点,环线上除了首尾点外的、连续的、重复点;
步骤A3:解构,取原始连续铺盖的面数据的外环线和其所有洞环线,形成环线集合;
步骤A4:冗余点处理,按照点在环线上的顺序进行检测,当出现冗余点时,舍弃其中一点;
步骤A5:环分割,当检测到环线存在非首尾点的重复点时,在重复点处将原环线分割为两个新环线;再对新生成的环线重复上述检测分割过程,直至最终结果都是简单环;
所述步骤B的全局点序化处理分为以下几步:
步骤B1:创建RTree,用于对点进行建树索引;
步骤B2:从环线集合R中取一个未处理的环Ri
步骤B3:取Ri上的几何点Pj,根据Pj的空间位置在RTree中搜索,判断搜索结果是否为空;
步骤B4:如果为空,则根据Pj及其关联的实体信息,如关联的环Ri,Ri所在的原始几何,Pj在Ri上的索引信息,按照GlobalPoint的格式创建一个全局点Gm,放入全局点集合G中,并在RTree中记录Pj;如果不为空,根据搜索结果得到已创建的全局点Gn,根据Pj关联的实体信息补充Gm中的“关联的原始几何信息”、“关联的环线信息”、“点在环线上的索引信息”项;
步骤B5:对Ri上的所有点重复步骤B3、B4;
步骤B6:对环线集合R中的所有环重复步骤B2-B5,直至所有环都处理为止;
所述步骤C的分裂点识别分为以下几步:
步骤C1:三种类型的分裂点包括:①一类分裂点SP-I、②二类分裂点SP-II、③三类分裂点SP-III;
所述一类分裂点对应的几何点是环的首结点;
所述二类分裂点关联至少两个环且最多关联一个共享边;
所述三类分裂点至少关联三个环且至少关联三个共享边;
所述步骤D中,弧段搜索的方法分为以下几步:
步骤D1:弧段搜索的基本原则:
①空间连续性:两个全局点包含的几何点在其关联的所有环线上都是空间连续的;
②属性一致性:搜索路径扩展过程中需保证实体信息的一致性,不新增、不缺失;
步骤D2:扩展点追踪;
步骤D3:弧段搜索;
所述步骤D2,若两点关联的环信息是一致的,且在对应的环上是几何连续的,那两点之间的路径是可扩展的,路径对应的属性信息就是对应关联的环信息;
所述步骤D2对于首尾段的扩展条件及保留的属性信息有特殊判断和处理;
所述步骤D2对于路径首段的处理方法如下:
①如果两点关联的环完全一致且点是连续的,则是可扩展的;属性信息保留关联的所有环信息;
②如果两点关联的环信息不一致且互不包含,取共同关联且在几何上相邻的环信息作为扩展路径的属性信息;
③如果当前点关联的环信息包含了待扩展点关联的环信息,首先判断两点在待扩展点关联的环上是否几何连续;如果存在不连续的则不能扩展;如果都是连续的,则可扩展,属性信息保留待扩展点关联的所有环信息;
④如果待扩展点关联的环信息包含了当前点关联的环信息,判断两点在当前点关联的环上是否是几何连续的,如果存在不连续的情况则不能扩展,如果都是连续的,则可扩展,属性信息保留待扩展点关联的所有环信息;
所述步骤D2对于路径非首段的处理方法如下:
①首先判断当前点和待扩展点在对应的环上是否几何连续的,不连续则不可扩展;如果几何连续,则继续判断属性信息;
②如果待扩展点关联的环信息和当前路径关联的环信息一致,待扩展点可添加到当前路径中,并把待扩展点作为当前点继续判断;
③如果待扩展点关联的环信息包含了当前路径关联的环信息,待扩展点可添加到当前路径中,结束路径搜索;
④如果当前路径关联的环信息包含了待扩展点关联的环信息,待扩展点不可添加到当前路径中,结束路径搜索;
⑤如果当前路径关联的环信息和待扩展点关联的环信息不一致且互不包含,待扩展点不可添加到当前路径中,结束路径搜索;
对于多边形洞环的首结点形成的分裂点,如果路径搜索过程中又回到了起始的分裂点,则说明环线是孤立的,即结束搜索。
2.如权利要求1所述方法,其特征在于,
所述步骤D3:弧段搜索分为以下几步:
①取一个分裂点作为当前点Gcur,得到其关联的信息;
②取Gcur关联的一个环Ri,沿环线的方向取当前点的相邻点,找到它对应的全局点Gnxt作为待扩展点;
③检查Gcur和Gnxt之间的路径是否已经作为首尾路径进行了搜索:是则结束搜索,否则进入步骤④;
④判断Gcur和Gnxt之间的路径是否是可扩展的:
如果是不可扩展的,则结束当前搜索路径,记录路径的首尾段;
如果是可扩展的,则创建或追加更新搜索路径Path{},创建时记录当前路径实体信息Attri{},更改Gnxt的搜索标记为已搜;把Gnxt作为Gcur,重复步骤②-④,直到遇到不可扩展点;
⑤经过步骤②-步骤④,如果得到的是一条路径结果,则记录结果路径、结束点的信息;如果得到的是两条路径结果,判断两路径关联的环信息是否一致;
若不一致时,分别记录两条路径结果;一致时,检查与起始分裂点的环关联信息是否相同,相同时合并为一条路径,不相同则分别记录两段路径结果;
⑥对Gcur关联的所有环做步骤②至步骤⑤的处理,直到所有关联环都处理过为止;
⑦对所有分裂点重复步骤①-步骤⑥。
3.如权利要求1所述方法,其特征在于,
所述步骤E中,构建拓扑方法包括:弧段搜索的结果是多组有序的全局点集合及其对应的属性信息;把每一组有序的全局点集转化为几何线,赋值对应路径的实体属性,就可得到初始的结果弧段;完成一般弧段的生成后对孤立环弧做处理,在一般扩展路径搜索过程中,记录下所有搜索路径涉及的环的首节点,最后从数据所有环线的首节点集合中排除已搜的首节点,剩下的即是SP-I类分裂点。
4.如权利要求1所述方法,其特征在于,
所述步骤E中,如果一个SP-I类分裂点关联的环信息只有一个,直接根据关联的环几何和对应的实体信息生成弧段;如果一个SP-I类分裂点关联多个环信息,检查当前环线邻近点是否也含有相同的多实体信息,如果不是,则对生成的岛弧赋单实体信息,而非多实体信息;对已经搜索过的环洞不需要再重复构弧,防止一个环几何相同,但首点不同多次构建弧段。
CN202310258457.1A 2023-03-16 2023-03-16 一种连续铺盖数据的拓扑快速构建算法 Active CN116416340B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310258457.1A CN116416340B (zh) 2023-03-16 2023-03-16 一种连续铺盖数据的拓扑快速构建算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310258457.1A CN116416340B (zh) 2023-03-16 2023-03-16 一种连续铺盖数据的拓扑快速构建算法

Publications (2)

Publication Number Publication Date
CN116416340A CN116416340A (zh) 2023-07-11
CN116416340B true CN116416340B (zh) 2023-09-26

Family

ID=87050704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310258457.1A Active CN116416340B (zh) 2023-03-16 2023-03-16 一种连续铺盖数据的拓扑快速构建算法

Country Status (1)

Country Link
CN (1) CN116416340B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6262741B1 (en) * 1998-03-17 2001-07-17 Prc Public Sector, Inc. Tiling of object-based geographic information system (GIS)
WO2018121448A1 (zh) * 2016-12-30 2018-07-05 深圳市杉川机器人有限公司 移动机器人的拓扑地图创建方法、导航方法、可编程设备及计算机可读介质
KR20200075380A (ko) * 2018-12-18 2020-06-26 한양대학교 에리카산학협력단 보로노이 테셀레이션 및 k-최근접 이웃 알고리즘을 이용한 포인트 클라우드 재추출 방법 및 시스템
CN112100300A (zh) * 2020-08-22 2020-12-18 中国测绘科学研究院 矢量地表覆盖图斑空间拓扑关系快速构建方法及存储介质
CN112307146A (zh) * 2020-10-29 2021-02-02 中交公路规划设计院有限公司 Gis路线数据展示系统及方法
CN115359149A (zh) * 2022-08-24 2022-11-18 中国测绘科学研究院 一种泛化拓扑结构约束下的连续图斑化简方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109541634B (zh) * 2018-12-28 2023-01-17 歌尔股份有限公司 一种路径规划方法、装置和移动设备
US11100127B2 (en) * 2019-03-28 2021-08-24 Adobe Inc. Generating varied-scale topological visualizations of multi-dimensional data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6262741B1 (en) * 1998-03-17 2001-07-17 Prc Public Sector, Inc. Tiling of object-based geographic information system (GIS)
WO2018121448A1 (zh) * 2016-12-30 2018-07-05 深圳市杉川机器人有限公司 移动机器人的拓扑地图创建方法、导航方法、可编程设备及计算机可读介质
KR20200075380A (ko) * 2018-12-18 2020-06-26 한양대학교 에리카산학협력단 보로노이 테셀레이션 및 k-최근접 이웃 알고리즘을 이용한 포인트 클라우드 재추출 방법 및 시스템
CN112100300A (zh) * 2020-08-22 2020-12-18 中国测绘科学研究院 矢量地表覆盖图斑空间拓扑关系快速构建方法及存储介质
CN112307146A (zh) * 2020-10-29 2021-02-02 中交公路规划设计院有限公司 Gis路线数据展示系统及方法
CN115359149A (zh) * 2022-08-24 2022-11-18 中国测绘科学研究院 一种泛化拓扑结构约束下的连续图斑化简方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
地理国情普查中地表覆盖数据拓扑检查与处理;李冬宁等;价值工程;第206-207页 *

Also Published As

Publication number Publication date
CN116416340A (zh) 2023-07-11

Similar Documents

Publication Publication Date Title
CN109146838A (zh) 一种基于几何特征与区域融合的g显带粘连染色体分割方法
Regnauld Contextual building typification in automated map generalization
CN110887502B (zh) 一种必经结点最短路径搜索方法
WO2012071688A1 (zh) 基干感知信息的三维模型形狀分析方法
Huh et al. Detecting conjugate-point pairs for map alignment between two polygon datasets
WO2021169773A1 (zh) 多阈值约束的轨道交通控制保护区空间信息提取分析方法
JP2003529137A (ja) データ構造を処理する方法
CN100580707C (zh) 一种任意拓扑的多边形网格模型融合方法
CN102165487B (zh) 前景区提取程序、前景区提取装置以及前景区提取方法
CN112053622A (zh) 一种多环多边形自相交模式识别及处理方法
CN111428811B (zh) 一种单环多边形自相交模式识别及处理方法
CN110489511B (zh) 等高线接边高程错误修正方法、系统及电子设备和介质
Geng et al. Feature recognition and volume generation of uncut regions for electrical discharge machining
CN116416340B (zh) 一种连续铺盖数据的拓扑快速构建算法
CN113721969A (zh) 一种基于多尺度空间矢量数据级联更新方法
CN101546438B (zh) 基于约束狄郎宁三角网技术的多个区域拓扑层叠置分析方法
US5771045A (en) Method for polygon decomposition
Kieler et al. Matching river datasets of different scales
Mansor et al. Voronoi diagram-based tool path compensations for removing uncut material in 2½D pocket machining
CN115579885A (zh) 一种电网拓扑分析方法及装置
Yang et al. Representation and assessment of spatial design using a hierarchical graph neural network: Classification of shopping center types
CN106599044A (zh) 一种道路网目标信息的识别和处理方法
US20040257362A1 (en) Method for removing blends in B-rep models
Zhang et al. A collaborative simplification method for multiple coastlines based on the hierarchical triangulation network partition
CN111291276A (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