APP下载

面向要素特征的产生式制图规则表达

2014-08-15赵国成阚映红

测绘通报 2014年5期
关键词:符号化制图语句

赵国成,徐 立,阚映红

(信息工程大学 地理空间信息学院,河南 郑州 450001)

一、引 言

制图规则的形式化表达是地理空间数据符号化机制中不可或缺的一部分[1]。从地理空间数据到地图数据,制图知识影响着地理空间数据符号化过程的各个环节,地理空间数据的选取、地图符号配置及图形效果处理等都离不开制图规则的指导。形式化的制图规则可以表达专家的设计思想及制图规范和标准,在某种程度上实现知识的积累,最终以自动或半自动的方式作用于地理空间数据符号化过程[2],不但能够减轻制图人员的工作强度,也能为地图生产的良性循环提供基础[3]。此时,普通人员也可以依靠强大的规则库或者模板库进行地图制作。在地图制作过程中,普通用户接受制图知识和规则的引导或约束,在一定程度上保证了普通用户制图的科学性。目前,制图知识与经验在规则化表达方面还存在很多困难,一种类型的制图规则仅作用于符号化的特定方面,各种制图规则的表达方式不同,并且缺少表达视觉空间拓扑关系的制图规则。本文依据知识的相关表示方法,结合地图制图自身的特点,将产生式表示法应用于制图规则的表达,以解决目前制图规则表示内容单一的问题。

二、产生式表示法与产生式制图规则

产生式表示法也称产生式规则表示法,是人工智能领域应用最多的一种知识表示方法。美国数学家E.Post于1943年设计了一种Post机的计算模型,在模型中提出了“产生式”的概念,即一个产生式对应一个规则[4]。在此之后,很多学者对“产生式”不断地改进,形成了今天比较成熟的产生式方法。产生式的描述形式为:“条件—>结果”式,即

IF P Then Q CF[0,1]

其中,P是前提条件;Q是结果(分为操作性结果和描述性结果);CF(certainty factor)为置信度,在表示确定的知识时一般不用描述置信度。

一个规则由前件和后件两个部分组成,每个部分都可由规则表达语句构建[5]。前件(antecedent)又称左部或条件部分,是一个规则运行的起点。单独的条件称为一个条件元素或模式。如果条件运行的结果为“真”,则程序进入后件部分运行。后件(consequent)又称右部或执行部分,是满足前件部分所执行的一系列动作。

一个产生式制图规则包括条件语句和执行语句两个部分,条件语句用于描述规则的前件,执行语句用于描述规则的后件。如图1所示,前件是依据数据的几何和属性特征选取符合条件的地理要素或地图要素,后件是对符合条件的地理要素或地图要素进行处理。其中,前件的输入参数在条件语句中体现,输出结果采用统一的数据类型表示。因此,作为后部的输入参数,输出结果的类型是固定的,即执行语句具有确定的输入参数,这在一定程度上降低了执行语句设计和理解的难度。

三、要素特征的规则描述

与地图制图相关的要素特征主要包括几何特征、属性特征和拓扑关系特征,其中几何特征和属性特征主要用于要素的选取,而拓扑关系特征主要用于要素冲突情况的判断。

图1 产生式制图规则的组成

1. 要素几何特征和属性特征的描述

为了采取相同的形式表示要素的特征,要素的几何和属性特征都统一表示为要素的属性特征,即几何特征是一种属性类型。这里定义获取要素属性的操作符为“[ ]”,如一个要素的编码属性表示为:要素[编码],也可以使用“.”作为获取要素属性的操作符,它们之间并无优劣之分。制图规则主要作用于地理空间数据和地图数据中不同层次的对象,包括地理空间数据中的数据集、地理层和地理要素,以及地图数据中的地图、地图层和地图要素。由于只有“要素”类型的对象,因此对于地理空间数据和地图数据中其他更高级别的对象,它们的属性描述也通过“要素[属性]”的形式描述,如地图投影的描述形式为“要素[投影方式]”,并且这些对象的属性大多具有固定的名称,如数据集的投影方式、名称(用“数据集名称”表示)、采集时间、更新时间和制作单位等,地图的投影方式、制作单位和更新时间等,以及图层的名称(用“地理层名称”或“地图层名称”表示)。另外,地理空间数据符号化过程还涉及地理要素和地图要素两种类型,这里也统一通过“要素”的形式表示,可以增加属性“要素类型”进行区分,将属性“要素类型”分为“地理要素”和“地图要素”两种类型。当然,也可以通过其他对象特有的属性区分要素的类型,如描述语句“要素[数据集名称]”的作用主体一定是地理要素,而语句“要素[地图名称]”的作用主体一定是地图要素,这可以通过后台程序判断。

2. 要素空间拓扑关系特征的描述

地理要素的有序集合除了描述地理要素本身,还包含了地理要素的空间关系信息。对于地理要素空间关系的计算,一般以要素的位置信息为基础,利用欧氏空间原理刻画[6],这是常用的空间拓扑关系。与地理要素空间关系判别方式不同的是,地图要素间的空间关系必须通过视觉认知的方式来获取。系列比例尺地图的制图规范根据这种视觉认知的规律对制图表达进行具体量化,使地图要素的空间关系的性质由隐含和渐进转向明确和断然[4]。

在地理空间数据符号化过程中,由于地理要素的位置基本保持不变,因此可以依据人类的视觉特性,将地图要素的拓扑关系分为相交、相切和相离3种。这3种拓扑关系可以在欧氏空间基础上引入容限空间的概念来表达[7-8]。容限空间的基本概念为:集合A中存在仅有反身性和对称性的二元关系δ,称(A,δ)为容限空间。若A为地图上组成某一图形的点集,则A的容限空间可以表示为:δA={b|d(b,a)≤δ,a∈A},其中d(b,a)表示点a到点b的欧氏距离,δ为容限值,这里可以理解为地图的最小分辨率(一般为0.1 mm)。由此可以通过容限空间的概念表示地图上相交、相切和相离3种拓扑关系,如图2所示。设A和B分别是组成两个图形的点集,则有如下判别形式:①若A∩B≠∅,则A和B拓扑相交;②若A∩B=∅∧(δA∩B≠∅∨A∩δB≠∅),则A和B拓扑相切;③若δA∩δB=∅,则A和B拓扑相离。

图2 视觉空间拓扑关系举例

四、产生式制图规则的表达

1. 产生式制图规则的条件语句

制图规则的条件语句主要用来选取规则的作用对象,它由若干条基本语句组成,基本语句之间通过关系运算符(也称为谓词)联接。基本语句由变量、常量、关系运算符和操作函数组成,操作函数主要作用于变量,关系运算符主要用于比较表达式两边的值,作用对象是基本语句或变量。与普通条件语言相似,条件语句中变量的数据类型主要包括布尔型、浮点型、整型和字符串型,这些都是地理要素的常见属性类型,如桥梁的“载重”属性字段以“吨”为单位,类型是浮点型,居民地要素的“人口”属性字段以“人”为单位,类型是整型,各类地理要素的“编码”属性字段为字符型。制图规则的条件语句还有自身特有的变量类型,即几何类型。作为地理要素和地图要素的一个基本特征,几何图形在地理空间数据符号化中具有重要的作用,很多运算都涉及图形运算。因此,按照要素特征的描述方法,可以用“要素[几何]”的形式描述要素的几何对象,通过几何对象又可以描述要素的长度、面积等信息。

操作函数主要用来获取变量的其他信息,如字符是否包含指定的字符、数字的绝对值和余弦值等,通过“函数名(要素[属性])”的形式表示,函数输入参数是要素的属性值和常量。由于几何变量是规则中的一个重要变量,因此这里根据地图制图的特点,针对几何类型的变量设定了一些常用的几何操作函数,主要有3种函数类型:几何构造函数、几何量算函数和拓扑关系运算函数,其中几何构造函数主要用来构造点、线和面3种几何类型的变量,如可以通过语句“点(45,100)”构造横坐标是45,纵坐标是100的点状几何对象,此时的几何对象也可看成一个常量;几何关系运算函数主要包括用于求取几何对象的实际面积和长度,以及图上面积和长度,如语句“实际面积(要素[几何])”表示求取要素的实际面积,单位为m2;拓扑关系运算函数主要是对几何拓扑关系(也称为欧式空间拓扑关系)进行描述,主要包括相交、相切、包含、相离等。符号化后的几何拓扑关系(也称为视觉空间拓扑关系),主要包括相交、包含和相离等。

2. 产生式制图规则的执行语句

执行语句的主要功能是对条件语句执行的结果作进一步处理,它由不同的动作组成,每个动作都对应一个执行函数。动作可以是针对条件语句执行结果的操作,也可以是与执行结果无关的操作,如设置地图投影的动作与执行结果无关。动作也可以接受传入参数,传入参数主要分两种,一是地图指针和条件语句生成的地图要素集合,它是动作默认的传入参数,不需要用户指定;二是用户设置的传入参数,如对于显示数据的动作“显示要素”,用户必须指定显示的颜色,而条件语句生成的地图要素集合是显示数据的动作所要操作的对象,它不需要用户指定。动作大致分为两种类型:“设置”型动作和“方法调用”型动作。“设置”型动作主要用于改变制图对象的属性值,如设置地图的投影、设置图层的地图符号,以及设置地图层的压盖优先级等;“方法调用”型动作主要对条件语句执行结果或对其他地图数据进行修改。对于“设置”型动作,也可以通过赋值表达式实现,但这样需要增加对象的描述规则,将导致执行语句的描述风格不统一,因此这里采用动作的形式描述地图对象的属性赋值。动作的描述形式为

动作名称(参数1,参数2,…,参数n)

执行语句中的动作名称并不是其对应函数的真实名称,它们只是函数的一个别名,在执行语句解析过程中会自动将动作名称替换成函数名称。

随着应用的不断深入,可以对动作库进行扩展,以满足不断增长的应用需求。在实际应用中,也可以对制图规则采用更灵活的组织模式,一条制图规则可以不包含条件语句,而是让用户指定执行语句作用的对象,如通过鼠标选取的方式指定,这种情况下执行语句本身就是一种制图规则。

3. 产生式制图规则的扩展

(1) 条件语句的扩展

在上面的制图规则中,条件语句描述了一个要素集合的选取方法,为了描述方便,本文称这种类型的条件语句为单要素语句。不同要素集合间还可以进行拓扑关系运算,如可以在条件语句中描述选取符合某种拓扑关系的两个要素集合,本文称这种类型的条件语句为双要素语句。在制图规则中,双要素语句的运算主要是指要素间的拓扑关系运算。拓扑关系运算包括要素符号化前的拓扑关系运算和要素符号化的拓扑关系运算,前者指的是欧氏空间拓扑关系,后者指的是视觉空间拓扑关系。双要素语句的特点是有两个要素集合参加运算,它包含两条单要素语句,每条单要素语句负责选取一个要素集合。双要素语句还包括关系运算语句,它也由若干条基本语句组成,负责选取满足某种拓扑关系的要素对。这里的要素对是指满足某种拓扑关系的两个要素,它们是成对出现的。本文对双要素语句采用如下形式描述

A:单要素语句

B:单要素语句

R:关系运算语句

通过语句A和B能够分别生成满足不同条件的要素,它们生成的要素也分别用A和B代替。对于地图数据,双要素语句的主要功能是运用拓扑关系模型描述要素间的图形冲突。与地理要素空间关系不同的是,双要素语句描述的地图要素空间关系通常是视觉空间拓扑关系,运算时的几何数据必须是地图要素符号化后的图形数据。与单要素语句相似,关系运算语句也由若干条基本语句组成,基本语句之间通过谓词“AND”连接,这里对关系运算语句定义如下形式的基本语句

拓扑关系(A,B) =拓扑关系类型

其中“拓扑关系”是指“欧氏空间拓扑关系”或“视觉空间拓扑关系”,拓扑关系类型指的是“相交”、“相离”、“相接”等拓扑关系。为了书写方便,可以用“欧氏”代替“欧氏空间拓扑关系”,用“视觉”代替“视觉空间拓扑关系”,解析规则时只以“欧氏”和“视觉”作为关键字。如对于检测图幅中大车路与圈形居民地的图形冲突,对冲突作出处理,可以通过下面的条件语句描述

A:要素[地图层名称]=“大车路”

B:要素[地图层名称]=“乡村”

R:视觉空间拓扑关系(A,B)=“相交”

(2) 执行语句的扩展

与上面的执行语句相似,它由不同的动作组成,每个动作都对应一个执行函数。执行函数能够接受条件语句传入的两个要素集合,它们是执行函数隐含的传入参数。因此,同时存在3种类型的动作:第1种是针对一个要素集合的动作,第2种是针对两个要素集合的动作,第3种是不对条件语句生成的要素集合进行处理的动作。其中,第1种动作只能出现在面向单要素特征的制图规则中,第2种动作只能出现在面向拓扑关系的制图规则中,第3种动作可以同时出现在两种制图规则中。相应的,在函数库中也有3种类型的函数,这作为函数的一项属性存储在函数库中。当函数库不断扩充后,用户可能不了解函数的适用范围,因此在用户编写不同类型的规则时,可以提示用户函数在本规则中是否有效。

五、试验验证

试验主要以1∶25万军标矢量地理空间数据为例,利用试验系统实现地图符号化控制规则和要素冲突处理规则的建立与应用。

1) 符号化控制规则。地图符号化控制规则是依据地理要素的几何特征、属性信息、与地图符号的对应关系和地图要素的分层而建立的。每类要素都对应了若干条符号化控制规则。符号化控制规则建立完成后,可以选择需要的规则,并加入默认的分层规则,批量运行规则。规则建立界面及规则选取和运行结果如图3所示。

2) 要素冲突处理规则。以黑色居民地注记与黑色单线道路的压盖为例,执行以下规则,执行结果如图4所示。

图3 地图数据的生成显示

图4 注记压盖同色要素

条件语句为

A:要素[地图层名称]=“居民地注记”

B:要素[地图层名称]=“大车路”

R:视觉空间拓扑关系(A,B)=“相交”

执行语句为

设置注记背景(白色)

六、结束语

制图规则在大多数情况下表现为一种图形显示规则,它是将地理空间数据转换为地图数据的知识化工具[9]。由于地图制图涉及很多方法和技术,有些研究成果还难以应用于实际生产,因而具有一定的实用难度。虽然本文研究了面向要素特征的制图规则表达,取得了一定的研究成果,但要真正实现地图制图的自动化,还需进一步研究制图规则的构建和应用。在制图规则构建方面,还需建立大量稳定实用的制图规则,并在生产实践中反复验证,使制图规则更加实用化;在制图规则应用方面,如何为用户提供易于理解的规则操作界面是关系到规则能否有效推广的一个重要方面。

参考文献:

[1] MAGUIRE D, GOODCHILD M, RHIND D, et al. Geographical Information Systems: Principles and Applications[J]. Longman Scientific and Technical, 1991(1): 427-443.

[2] LEDER T. Cartographic Rules and Differences of Natural Data Visualization[J]. KIG, 2002: 41-45.

[3] 潘正强.GIS数据与制图数据一体化建库技术方法探讨[J].测绘通报,2013(5):93-95.

[4] 刘培奇,李增智,赵银亮.扩展产生式规则知识表示法[J].西安交通大学学报,2004(6):40-43.

[5] 庞伟正,金瑞琪,王成武.一种规则引擎的实现方法[J].哈尔滨工程大学学报,2006, 26(3):385-389.

[6] 李霖,朱海红,贺彪,等.基于代数结构的地形图制图模型[J].测绘学报,2011, 40(3):373-377.

[7] CHEN Lin. Gestalt and Tolerance Space[J]. ActaPsychologica Sinica, 1984, 17(3): 32-39.

[8] REDA KTSIYA K. Tolerance Space Theory and Some Apphcations[J]. Acta Applicandae Mathematieae, 1986, 5(2): 137-167.

猜你喜欢

符号化制图语句
小学数学教学中渗透“符号化”思想的实践研究
无声手枪如何消音?
重点:语句衔接
关于一阶逻辑命题符号化的思考
小明巡山记
二向反射模型在土地覆被制图中的应用
现代流行服饰文化视阈下的符号化消费
工程制图课程教学改革探析
如何搞定语句衔接题
从艺术区到艺术节:“蓝顶”的符号化进程