龙空技术网

运用 AI专业制图软件探讨地图注记智能化配置方式

奇思妙想书籍小说读后 143

前言:

此刻我们对“蚁群算法图像处理代码”可能比较关切,小伙伴们都想要学习一些“蚁群算法图像处理代码”的相关知识。那么小编在网摘上收集了一些对于“蚁群算法图像处理代码””的相关资讯,希望小伙伴们能喜欢,大家一起来了解一下吧!

摘要:针对AdobeIllustrator环境下地图制图中的地图注记配置非常复杂,需要大量人机交互操作,难以满足快速出图需求的问题。该文提出了一种基于开放式地图注记规则库的智能化地图注记配置方法。该方法将用户设定的地图注记规则库以及基于Adobe文本引擎的注记配置算法,通过二次开发技术嵌入到制图软件中,实现了GIS数据中点、线、面要素地图注记在制图软件中的智能化配置。该方法解决了注记冲突问题,极大地减少了人工交互操作,缩短了制图周期。研究成果应用于研发的自动化地图制图插件系统中,取得较好的效果。

关键词: AdobeIllustrator Adobe文本处理引擎 注记配置 测绘学 规则库

基于GIS软件的地图制图工艺因其制图能力偏弱,难以达到公开出版地图的标准,已逐渐被基于专业制图软件的地图制图工艺所替代。使用AI等专业的制图软件能够制作出形式复杂、色彩丰富的符号与注记,极大地丰富地图的表现形式,提高地图的精美程度[1,2]。然而这种制图工艺主要依靠人工方式进行地图符号配置、注记配置、要素关系处理等,导致地图设计制作效率低,且更新困难。其中,注记配置问题通常是制图过程中最为费时费力的环节之一[3],是实现自动化制图必须解决的难题。

对于地图注记配置的研究,有基于蚁群算法[4]、遗传算法[5]、包络回溯算法[6]、禁忌搜索算法[7]实现注记自动配置,但这些算法大多应用于GIS软件环境,配置的注记艺术性较差。对制图软件中地图注记配置的研究,国外研究者提出将AI及其插件MAPublisher与GIS软件结合用户制作高品质地图产品,在一定程度上具有注记自动配置功能[8]。国内有基于CorelDRAW二次开发技术的地图注记自动化配置方法研究[9],AI方面研究则相对缓慢,研究多集中于对MAPublisher插件的应用[10,11]。鉴于此,本文提出了一种AI环境下的基于开放式地图注记规则库的地图注记智能化配置方法。该方法在Adobe文本引擎基础上进行二次开发,将注记配置规则与注记配置算法嵌入到制图软件中,实现了GIS数据中点、线、面要素地图注记的智能化配置,基本上解决了注记冲突问题。此方法结合GIS软件和制图软件的优势,既能充分利用GIS数据资源,又能保证地图注记质量,极大地减少了人工交互操作,缩短了制图周期。

1、地图注记规则库

地图注记作为地图语言三大要素之一,和地图符号相辅相成,恰当的地图注记能够加强地图的表现能力和可读性[12]。地图注记规则是在地图制图过程中指导注记配置和解决冲突的重要约束[13],是实现注记智能化自动配置的基础。在地图要素注记配置规则中,根据要素的种类可分为点、线、面3种要素注记规则。点状、线状要素可以根据要素的位置或走向定义相关注记规则。面状要素由于形状不规则、面积差异较大,不能基于单一的标注方法对所有面状要素进行统一标注。本文根据面状要素的特点将其分为两种方法分别注记[14]:①面状要素几何中心标注法,将面要素转化为点要素的注记配置;②面状要素骨架线标注法,将面要素转化为线要素的注记配置。

地图注记规则库是开放式制图规则库中重要的组成部分,而开放式制图规则库是地理信息系统(geographicinformationsystem,GIS)数据转换到制图软件进行制图的规则集合,包含了符号配置规则及地图注记配置规则等。通过AI软件的二次开发功能,读取GIS数据及数据对应制图规则,在AI中自动绘制出相应图形,是GIS数据模型到制图模型的转换过程。开放式制图规则库可根据实际需求,由用户进行调整。地图注记规则库将注记的配置从代码中抽离出来,按照一定的形式进行组织和存储。注记配置规则制定不用考虑注记配置程序的实现,而注记配置程序在设计时也不用考虑注记规则的变化。本文从地图注记本质和实际制图需要出发,结合Adobe文本引擎特点,归纳了相应的注记规则库,其规则内容如图1所示。开放式地图注记规则库基于注记信息、样式特征、布局特征、和用户配置4个方面去满足实际制图中对注记配置的要求。

图1开放式地图注记规则库内容

2、Adobe文本引擎的注记配置算法

2.1Adobe文本引擎概述

Adobe文本引擎(Adobetextengine,ATE)是AdobeIllustratorCS6SDK提供的文本处理接口,用于解决AI环境下与文本相关功能的二次开发问题。Adobe文本引擎主要由suites和封装类等组件构成,具体的组件如表1所示。基于这些组件,ATE可以方便灵活地设置注记的样式特征和文本特征。

表1关键suites和封装类说明

2.2点状要素注记配置算法

点状要素注记配置算法主要包括注记位置计算和冲突处理算法。点状要素注记位置相对固定,分布在点状要素四周。算法将点状要素八方位方向上的候选位置赋予不同的优先级,依据优先级从高到低寻找到最先不发生注记冲突的位置,该位置即为最终注记位置[15]。图2为八方位方向注记候选位置优先级,根据实际情况可对八方向上的优先级进行调整。

图2八方位向候选位置优先级

点状要素注记配置算法流程如图3所示,关键步骤如下。

图3点状要素注记配置算法流程

1)选取八方位方向优先级最高的可标注位置作为注记候选位置,利用空间索引判断注记的外接矩形与AI环境下已绘制的要素是否存在冲突。若存在冲突,则记录冲突类型,进入下一个方位的冲突判断;若不存在冲突,则该方位为最佳注记位置。

2)若该要素八方位方向上都存在冲突,则依据优先级在八方向上依次判断点状注记是否存在仅与线要素冲突的位置,若存在则该方向为注记最佳位置。

3)若不存在仅与线状要素冲突的位置,则判断是否强制绘制;若是则绘制该点要素标记,若否则将该点要素及注记加入AI的隐藏图层,其流程如图3所示。

2.3线状要素注记配置算法

线状要素注记位置不固定,配置相对复杂,线状要素长度、倾斜程度等都会影响注记的标注。其配置算法包括注记文本路径、注记走向、注记位置计算以及注记冲突处理算法。

1)注记文本路径计算。

线状要素注记在AI中不是独立的文本对象,它的标注必须依附于线对象。本文采用ATE提供的on-pathtext文本放置方式,将文本沿着线要素转换来的路径进行排列。

2)注记走向计算。

线状要素倾斜程度决定注记走向,为了提高计算效率本文采用纵横比tanα反映曲线的倾斜程度。曲线L横纵坐标的最大值和最小值分别为xmax、xmin、ymax、ymin,则曲线纵横比为式(1)。

当tanα∈[0,1)∪(1,0]时,注记自左向右配置,优先选择放置在线状要素上方;当tanα∈[1,+∞)∪(∞,-1]时,注记自上而下配置,优先选择放置在线状要素右侧。

3)注记位置计算。

根据图1注记规则库中的线布局特征所设置的约束规则,确定字体大小s,单次注记长l,注记重复次数m,注记首末两字到线要素两端的距离d,读取线要素长度L以及单次注记字符数量n,由式(2)、式(3)可推导出单次注记内字符间隔d1,重复注记之间的间隔d2。实际情况中根据线要素长L与单次注记长度l的关系,可调整重复次数m重新计算获得d1、d2。最后将这些参数赋值给ATE段落样式封装类IParaFeatures相应的字符间隔、重复注记之间间隔、前缩进、后缩进参数,由ATE计算得到注记字符的位置进行标绘。

l=(n−1)d1+ns(2)

L=ml+(m−1)d2+2d(3)

4)冲突处理算法。

为地图中线状要素及注记建立空间索引,如果在注记的外接矩形中检测到其他注记或要素,则通过线状注记冲突处理方案进行调整,计算新的注记位置。检测新的注记位置是否存在冲突,若存在,则继续调整,直至不存在冲突(图4)。

图4线状要素注记冲突处理算法流程

2.4面状要素注记配置算法

针对面状要素注记配置,根据面状要素特征分为几何中心标注法和骨架线标注法。基于面状要素几何中心标注方法根据面状要素几何中心配置注记,适用于面积较小的面状要素,如小面积的湖泊等,其注记配置算法可归类于点状注记配置算法。而基于面状要素骨架线的标注方法沿骨架线配置注记,适用于面积较大的面状要素,如县级行政区划等,其注记配置方法可归类于线状注记配置方法。有关计算面状要素骨架线的算法已较为成熟,如数学形态法、Delaunay三角网剖分、平行线法、重心法等。

3、地图注记智能化配置方法

方法的主要思路为:在地图注记规则库驱动下,结合ATE注记配置算法,根据要素绘制优先级对单个要素的注记进行冲突判断,计算其最佳注记位置,然后利用ATE按照注记规则对待注记要素进行标注,具体的注记配置流程如图5所示。

图5地图注记智能化配置流程

1)从地理空间数据库中依照注记配置优先级对要素进行排序。对于优先级高的注记优先放置标注,可以有效地减少次要注记对重要注记的干扰。

2)判断待注记要素类型,对于面状要素依据配置规则获取中心点或者骨架线转换为点状要素或线状要素。

3)在注记规则库的驱动下,结合不同类型要素的配置算法计算注记的候选位置。

4)对注记进行冲突检测,若存在冲突则依据相应类型冲突处理算法调整注记配置参数生成新的候选位置。

5)选出最佳注记位置后进行注记要素绘制。对于点要素,若不存在最佳注记位置,则将该要素加入隐藏图层。

4、实验分析

本文基于AI环境下的DBTOMAP制图插件平台对上述思想进行了实践,选择VisualStudio2012作为主要开发工具,采用C++进行二次开发,插件界面设计开发选择QT技术,构建与AI软件风格相似的插件外观和界面。

本文分别以国家1∶1000000公开数据以及某市城区大比例尺数据作为实验数据,在AI环境下对注记配置效果进行验证。不同比例尺数据所体现的内容详实程度不同,但注记配置方法基本一致,可通过对注记规则库的设置满足不同比例尺数据下注记配置的要求。小比例尺环境下,注记多为不同等级行政区的点注记,实验效果对比如图6所示。

图6地图注记智能化配置结果对比

如图7所示,随机绘制的注记结果没有解决冲突问题,压盖严重,人工筛选要素与注记的操作不仅费时费力,也有一定的难度。而智能化注记配置结果各要素的注记摆放合理,注记与要素,注记与注记之间不存在冲突,突出了地图所表达的信息,美化了地图效果。

大比例尺环境下城市街区包含大量兴趣点注记以及道路注记,注记配置更为复杂。图7为该环境下的实验效果。

图7大比例尺下地图注记智能化配置效果

图7中,点状注记默认配置在要素的左侧。若存在冲突,则根据八方向位置优先级寻找合适的位置。如图中矩形框所示,该注记在冲突处理后放置在点要素的右侧。图中线要素注记间隔合理,并与道路两端保持相应距离。对于不同道路等级,注记采用了不同样式,体现了道路的层次性。在道路交叉口,根据冲突处理过程的调整避免了注记压盖的现象,如上方正方形框所示。道路注记整体上疏密合宜、层次分明,注记效果良好。

5、结束语

针对AI环境下注记配置繁琐的问题,本文提出了基于开放式地图注记规则库的地图注记智能化配置方法,该方法设计了基于Adobe文本引擎的不同要素类型注记配置算法,结合用户配置的注记规则库,利用二次开发技术实现AI环境下注记智能化快速配置。本文研究成果在大、中、小比例尺地图制图中得以应用,使制图软件能充分利用GIS数据,在保证注记质量的同时,减少了大量的人工交互操作,提高了地图制图的效率,缩短了制图周期。

标签: #蚁群算法图像处理代码