面向自动制图的地图符号拓扑冲突处理方法
2024-01-29赵变利刘建军刘剑炜何雪赵士权车健王孺付冬暇
赵变利,刘建军,刘剑炜,何雪,赵士权,车健,王孺,付冬暇
1. 国家基础地理信息中心,北京 100083;
2. 自然资源部第一地形测量队,西安 710054
1 引 言
地图来源于且服务于人类认知地理环境的需求,是人们在长期的社会实践、生产实践和科学实践的基础上形成和发展起来的,且在任何时期、任何社会都不可或缺(王家耀等,2022;郭仁忠等,2023)。信息化与时空大数据时代,地图需在更高、更抽象的层面上构建世界,地图制图的内涵和外延由此逐步拓展,自动化、智能化地图制图不断发展(闾国年等,2018;任福等,2022)。然而,在智能化泛在测绘的背景下,时空大数据作为制图的重要数据源,其复杂程度和质量精度均成为地图制图发展的制约因素(Touya 等,2019;Schröder-Bergen等,2021;Meng,2022)。这导致地图制图过程中的自动化水平低效,且图面符号冲突较多。
目前,地图制图方法的研究成果丰硕,主要分为四种。一是基于数据驱动的地图制图,如洪璐(2010)、魏国忠(2019)、吴付英和姚鑫(2021)等提出的基于地理数据库的自动化制图方法。这些方法存在对本底数据的强依赖性会影响制图效率和质量的共性问题。二是基于模板匹配的地图制图,如马德涛等(2013)、高文娟等(2015)、Denwood等(2023)分别探讨了基于模板技术和草图模板的自动化制图方法。这些基于模板匹配的制图方法对模板配置和生产环节要求较高,且针对制图要素间的压盖问题不能进行自动判别,需要人工干预。三是基于专业平台的地图制图,如孔祥雪等(2022)、文婷等(2019)、夏苏琼和李乃强(2021)、叶扬等(2019)分别研究了基于 MapInfo 和 VB、CorelDRaw、Python 与ArcPy、QGIS 和QT Creator等专业软件平台环境的自动化制图方法。这些方法较依赖软件性能,且专业背景要求较高。四是面向应用的快速制图,如吴晨琛等(2020)、翟静等(2022)、张齐和张鹏林(2022)、Wabiński 等(2022)等面向不同的应用需求研究了相关领域的快速制图方法。此类方法着重结合了各类专题数据特点,制定了面向应用的制图策略,但方法的通用性偏低,无法同时满足常规测绘应用需求,且各类专题图之间的制图图式规范不尽相同。
综上所述,针对目前地形图自动化制图过程中制图要素压盖、本底数据质量差或专业软件协同性不够等导致的图面符号冲突问题,本文提出了一种面向自动制图的地图符号拓扑冲突处理方法。通过分析地形图制图符号间的图面表达关系和冲突检测结果,探讨了制图符号间的相离、相交、覆盖、包含、相接、相邻等拓扑冲突类型,并建立了一套基于间距优化、协同移位、加权避让、次要舍弃、压盖处理等21 条面向制图符号拓扑冲突的自动处理规则,用于解决处理因不同实体间复杂的空间关系造成的制图符号图面冲突。
2 自动制图过程中符号拓扑冲突处理规则研究
自动制图过程中符号拓扑冲突处理规则研究包括:首先,对地理信息数据进行符号化配置;其次,检测符号化过程中的符号拓扑冲突,针对冲突检测结果分析符号拓扑冲突类型,建立一套符号拓扑冲突处理的规则集;最后,基于处理规则解决图面冲突,实现自动化地图制图。具体方法流程如图1 所示。
图1 自动制图过程中符号拓扑冲突处理规则研究的总体方法流程Fig.1 The overall method flow of research on symbol topological conflict handling rules in automatic cartography
2.1 符号拓扑冲突检测与分析
2.1.1 符号拓扑冲突检测
地图符号间的拓扑冲突检测是在建立的完整拓扑一致性约束条件基础上,通过冲突检测算法判断实体间与其符号间的拓扑关系表达的不一致之处,是自动制图的必要环节。本文采用已有的VW(Voronoi and whole)方法(赵仁亮,2002),进行符号拓扑冲突的检测,该方法能够准确描述和区分多种目标间、不同详细程度的空间拓扑关系,且能克服拓扑定义不一致的问题:
式中,V4 T (A,B) 为空间符号目标A、B之间拓扑关系的四元组计算模型;θ={∪(并),∩(交),(差),/(被差),Δ(对称差)}为由基本算子组成的集合算子;AV、BV分别为A和B的Voronoi区域。依据式(1),为方便计算,将θ集合算子代入函数f,则可表示如下:
符号目标A与B之间的拓扑关系计算结果,取值用对象是否为空、维数及连通数表示:
根据上述方法模型,符号拓扑冲突检测的具体流程如图2 所示。
图2 符号拓扑冲突检测流程Fig.2 Detection process of symbol topological conflict
2.1.2 符号拓扑冲突分析
地图符号包括图形符号与地图注记,根据几何维度图形符号分为点状、线状和面状符号;地图注记包括名称和说明注记(周启,2014)。制图过程中图形符号点、线、面不同程度的压盖和空间占有、地图注记的强一致性与耦合性是造成符号拓扑冲突的主要原因。符号间压盖的完全与不完全,通常会造成相交、覆盖和包含拓扑冲突;符号的空间距离过近或过远易造成相邻、相接和相离拓扑冲突。
1)相离冲突(DISJOINT)
符号间的相离拓扑冲突是符号之间距离过远导致相互分离的拓扑错误。制图符号化表达过程中,因符号自身具有形状、宽度,且一定程度上依赖比例尺的变化,从而地图缩放时导致制图符号显示位置超出一定阈值范围,造成了符号之间的相离拓扑冲突,如注记点与注记面的分离等,这种冲突通常出现在点点、点线、点面符号之间(如表1 中的(a)、(l)、(m))。
表1 点线面符号拓扑冲突类型分析Tab.1 Analysis of topological conflict types of point, line, and surface symbols
2)相交冲突(INTERSECT)
符号间的相交拓扑冲突是由于符号对象之间相互交叠或不合理的空间占位导致的点点、点线、点面、线线、线面、面面符号之间存在相交关系的拓扑错误,直接影响了地图使用者的理解和判断,如两条公路线符号的相交冲突等(如表1 中的(b)、(i)、(n)、(e)、(r)、(w))。
3)覆盖冲突(COVER)
符号间的覆盖拓扑冲突是一个符号压盖另一个符号,使得被压盖的符号无法完整表达地图信息的拓扑错误。点线面地理实体经过一定规则的概括和抽象扩维符号化为点线面状符号,在此过程中原本正确的拓扑关系,因扩维后的符号宽度存在导致了点点、线线、面面的完全压盖拓扑冲突,点线、点面、线面的完全或部分压盖冲突(如表1 中的(c)、(h)、(x)、(k)、(o)、(s))。
4)包含冲突(CONTAIN)
符号间的包含拓扑冲突是面状符号中包含了某个点状、线状符号或者比其面域范围小的其他面状符号的拓扑错误。地图上点符号的宽度由点实体位置点阈值缓冲区内的相对偏移量确定;线面符号的宽度由线面实体外扩缓冲域值确定,这些符号宽度在制图时极大增加了产生拓扑冲突的概率,当面域范围大于点线符号宽度且空间位置占有同一处时就出现了点面、线面、面面等的包含拓扑冲突(如表1 中的(p)、(t)、(y))。
5)相接冲突(TOUCH)
符号间的相接拓扑冲突是符号对象之间的错误衔接,即原则上不应相接的两个符号因符号化时空间距离过近导致的相接拓扑错误。具有形状、大小和位置等特征的点线面符号,在不同比例尺下,地图符号信息表达详尽程度不一致,符号对象间隔也不同,若符号化后图上符号间隔过近则会造成点线、线线、线面符号的错误相接冲突(如表1 中的(j)、(g)、(u))。
6)相邻冲突(ADJACENCY)
符号间的相邻拓扑冲突是符号对象间有连续N个公共点的拓扑错误。为了准确详尽表达地图信息,地图符号往往形式多样,组成点线面状符号的最小图元也存在一定的形状和宽度,故制图符号化时由于符号空间位置距离未合理控制,过近造成了点点、点面、线线、线面、面面符号间存在某一段有连续N个公共点存在的相邻拓扑冲突(如表1 中的(d)、(q)、(f)、(v)、(z))。
2.2 符号拓扑冲突自动处理规则
地图符号的拓扑冲突主要是由于地理实体符号化后所表现出的符号之间的空间重叠、距离不协调等引起的。因此,解决地图符号之间的相离、相交、覆盖、包含、相接、相邻拓扑冲突的关键在于协调符号间距、优化空间占有配比。通过间距优化、协同移位(Wang 等,2017;Wei 等,2018)、加权避让、次要舍弃、压盖处理的拓扑冲突处理规则解决符号拓扑冲突,实现基于处理规则集的自动制图。部分拓扑冲突处理规则,如图3 所示。
图3 部分拓扑冲突处理规则示意Fig.3 Schematic diagram of some topological conflict handling rules
2.2.1 间距优化
不同类型的地理实体符号化后应满足图上最小数值间隔。当点线面状符号未达到相应指标则会造成相离等拓扑冲突,影响毗邻实体符号的正确清晰表达。间距优化处理规则旨在调整相离、相接、相邻拓扑冲突中符号之间的间距。具体规则如下。
1)相离冲突处理规则
(1)点点符号间距必需满足相对偏移量在最大数值间隔范围内。
(2)点线为从属关系时其符号间距需满足点符号在线符号的端点处。
(3)点面为关联关系时其符号间距需满足点符号在面符号的阈面范围内。
?
2)相接冲突处理规则
(1)点线符号间距必需满足相对偏移量在最小数值间隔范围内。
(2)不同类型线线符号间距需满足最小缓冲半径阈值之和;同类型线线符号相接,需进行打断处理。
(3)线面符号相接时打断相接点,优化间距重构线面符号位置关系。
if {(A^B)==TOUCH && (pA ∉lB)}||{(A^B)==TOUCH && (lA^lB==IsSameType)}:f{InSpaDistance[(pA,pB )||(lA,lB)]};else if {(A^B)==TOUCH && (lA^lB== IsNot-SameType)}: f [Interrupt(lA,lB)].注:其中lA、lB 分别为线符号A、B;InSpaDistance和Interrupt 为相接冲突的处理函数;IsSameType、IsNotSameType 分别为判断A 和B 两符号对象是否为同一类型。
3)相邻冲突处理规则
(1)线线符号相邻时增大间距,修改其最小间距为缓冲半径阈值之和。
(2)面面符号相邻时打断邻接点,重构面面间距使其最小间距为两符号面域缓冲半径之和。
?
2.2.2 协同移位
1)相邻冲突处理规则
(1)点点符号相邻时,移动其中的一个点符号或者同时移动两个点符号解决冲突。
(2)点面符号相邻时,移动点符号邻接冲突点位使其避让面符号。
(3)线面符号相邻时,移动线符号邻接冲突点位使其避让面符号。
?
2)相交冲突处理规则
(1)点状符号与线状或面状符号相交时,移动点符号相交点位使其避让线状或面状符号。
(2)线状符号自身或与面状符号相交时,通过聚合、消除、协同置换等方法解决相交冲突(周启,2014)。
(3)面面符号相交时,打断相交处的面符号边界,协同移动两个面符号的空间位置。
?
2.2.3 加权避让
1)覆盖冲突处理规则
(1)点点符号覆盖时,赋两个符号重要性权重值,重要地物点状符号优先显示。
(2)面状符号覆盖线状符号时,虚化线符号被覆盖的部分。
?
2)包含冲突处理规则
(1)点面符号包含时,若点符号为次要等级则舍弃,否则移除压盖部分的面状填充符号避让点符号。
(2)面状符号包含线状符号时,应优先显示面状符号,压盖部分进行避让处理。
(3)面面符号包含时,被包含的面状符号移至包含对象上层并虚化显示。
2.2.4 次要舍弃
点线、点面符号覆盖时,舍弃次要的点状符号。
2.2.5 压盖处理
线线、面面符号覆盖时,被覆盖的部分符号移至上层并虚化覆盖部分的符号。
?
3 实验分析
为验证本方法的有效性,选取了重庆市荣昌区的部分区域,位于 105°17′~105°44′ E、29°15′~29°41′ N,共九幅标准图幅的地理实体数据开展了自动制图实验研究,其地理位置如图4 所示。
图4 实验区地理位置示意Fig.4 Schematic diagram of geographical location of the test area
基于Visual Studio、Acrobat 等平台二次开发的自动制图软件系统,系统界面如图5 所示。实现了实验数据中各类地理实体数据的符号自动配置、拓扑冲突检测与处理、基于冲突处理规则的自动制图,制图成果如图6 所示,符号拓扑冲突自动处理对比示例,如图7 所示。
图5 自动制图软件系统界面Fig.5 Automatic cartography software system interface
图6 基于符号拓扑冲突处理规则的自动制图结果Fig.6 Intelligent cartography results based on symbol topological conflict handling rules
图7 部分图面拓扑冲突处理实例Fig.7 Some examples of surface topological conflict handling
表2 自动制图内业效率统计对比Tab.2 Statistical comparison table of automatic cartography office efficiency
4 结 论
本文对地图自动制图中易出现的图面符号冲突问题进行了具体分析,通过设计了一系列符号拓扑冲突处理规则,探讨了一种面向自动制图的地图符号拓扑冲突处理方法。本方法已用于国家级地图制图建库工程项目实践,经生产实践表明其能够较好地解决自动制图中点线面符号间的拓扑冲突,并能够提高内业作业效率80%左右。
此外,本方法可直接或间接应用于交通信息、自然资源管理、公众地理信息服务等领域的专题图自动制图,支撑国民经济建设。但目前针对复合地理实体符号间的拓扑冲突处理存在一定的局限性,有待后续研究解决。