趙國成,徐 立,闞映紅
(信息工程大學(xué) 地理空間信息學(xué)院,河南 鄭州 450001)
制圖規(guī)則的形式化表達是地理空間數(shù)據(jù)符號化機制中不可或缺的一部分[1]。從地理空間數(shù)據(jù)到地圖數(shù)據(jù),制圖知識影響著地理空間數(shù)據(jù)符號化過程的各個環(huán)節(jié),地理空間數(shù)據(jù)的選取、地圖符號配置及圖形效果處理等都離不開制圖規(guī)則的指導(dǎo)。形式化的制圖規(guī)則可以表達專家的設(shè)計思想及制圖規(guī)范和標準,在某種程度上實現(xiàn)知識的積累,最終以自動或半自動的方式作用于地理空間數(shù)據(jù)符號化過程[2],不但能夠減輕制圖人員的工作強度,也能為地圖生產(chǎn)的良性循環(huán)提供基礎(chǔ)[3]。此時,普通人員也可以依靠強大的規(guī)則庫或者模板庫進行地圖制作。在地圖制作過程中,普通用戶接受制圖知識和規(guī)則的引導(dǎo)或約束,在一定程度上保證了普通用戶制圖的科學(xué)性。目前,制圖知識與經(jīng)驗在規(guī)則化表達方面還存在很多困難,一種類型的制圖規(guī)則僅作用于符號化的特定方面,各種制圖規(guī)則的表達方式不同,并且缺少表達視覺空間拓撲關(guān)系的制圖規(guī)則。本文依據(jù)知識的相關(guān)表示方法,結(jié)合地圖制圖自身的特點,將產(chǎn)生式表示法應(yīng)用于制圖規(guī)則的表達,以解決目前制圖規(guī)則表示內(nèi)容單一的問題。
產(chǎn)生式表示法也稱產(chǎn)生式規(guī)則表示法,是人工智能領(lǐng)域應(yīng)用最多的一種知識表示方法。美國數(shù)學(xué)家E.Post于1943年設(shè)計了一種Post機的計算模型,在模型中提出了“產(chǎn)生式”的概念,即一個產(chǎn)生式對應(yīng)一個規(guī)則[4]。在此之后,很多學(xué)者對“產(chǎn)生式”不斷地改進,形成了今天比較成熟的產(chǎn)生式方法。產(chǎn)生式的描述形式為:“條件—>結(jié)果”式,即
IF P Then Q CF[0,1]
其中,P是前提條件;Q是結(jié)果(分為操作性結(jié)果和描述性結(jié)果);CF(certainty factor)為置信度,在表示確定的知識時一般不用描述置信度。
一個規(guī)則由前件和后件兩個部分組成,每個部分都可由規(guī)則表達語句構(gòu)建[5]。前件(antecedent)又稱左部或條件部分,是一個規(guī)則運行的起點。單獨的條件稱為一個條件元素或模式。如果條件運行的結(jié)果為“真”,則程序進入后件部分運行。后件(consequent)又稱右部或執(zhí)行部分,是滿足前件部分所執(zhí)行的一系列動作。
一個產(chǎn)生式制圖規(guī)則包括條件語句和執(zhí)行語句兩個部分,條件語句用于描述規(guī)則的前件,執(zhí)行語句用于描述規(guī)則的后件。如圖1所示,前件是依據(jù)數(shù)據(jù)的幾何和屬性特征選取符合條件的地理要素或地圖要素,后件是對符合條件的地理要素或地圖要素進行處理。其中,前件的輸入?yún)?shù)在條件語句中體現(xiàn),輸出結(jié)果采用統(tǒng)一的數(shù)據(jù)類型表示。因此,作為后部的輸入?yún)?shù),輸出結(jié)果的類型是固定的,即執(zhí)行語句具有確定的輸入?yún)?shù),這在一定程度上降低了執(zhí)行語句設(shè)計和理解的難度。
與地圖制圖相關(guān)的要素特征主要包括幾何特征、屬性特征和拓撲關(guān)系特征,其中幾何特征和屬性特征主要用于要素的選取,而拓撲關(guān)系特征主要用于要素沖突情況的判斷。
圖1 產(chǎn)生式制圖規(guī)則的組成
為了采取相同的形式表示要素的特征,要素的幾何和屬性特征都統(tǒng)一表示為要素的屬性特征,即幾何特征是一種屬性類型。這里定義獲取要素屬性的操作符為“[ ]”,如一個要素的編碼屬性表示為:要素[編碼],也可以使用“.”作為獲取要素屬性的操作符,它們之間并無優(yōu)劣之分。制圖規(guī)則主要作用于地理空間數(shù)據(jù)和地圖數(shù)據(jù)中不同層次的對象,包括地理空間數(shù)據(jù)中的數(shù)據(jù)集、地理層和地理要素,以及地圖數(shù)據(jù)中的地圖、地圖層和地圖要素。由于只有“要素”類型的對象,因此對于地理空間數(shù)據(jù)和地圖數(shù)據(jù)中其他更高級別的對象,它們的屬性描述也通過“要素[屬性]”的形式描述,如地圖投影的描述形式為“要素[投影方式]”,并且這些對象的屬性大多具有固定的名稱,如數(shù)據(jù)集的投影方式、名稱(用“數(shù)據(jù)集名稱”表示)、采集時間、更新時間和制作單位等,地圖的投影方式、制作單位和更新時間等,以及圖層的名稱(用“地理層名稱”或“地圖層名稱”表示)。另外,地理空間數(shù)據(jù)符號化過程還涉及地理要素和地圖要素兩種類型,這里也統(tǒng)一通過“要素”的形式表示,可以增加屬性“要素類型”進行區(qū)分,將屬性“要素類型”分為“地理要素”和“地圖要素”兩種類型。當(dāng)然,也可以通過其他對象特有的屬性區(qū)分要素的類型,如描述語句“要素[數(shù)據(jù)集名稱]”的作用主體一定是地理要素,而語句“要素[地圖名稱]”的作用主體一定是地圖要素,這可以通過后臺程序判斷。
地理要素的有序集合除了描述地理要素本身,還包含了地理要素的空間關(guān)系信息。對于地理要素空間關(guān)系的計算,一般以要素的位置信息為基礎(chǔ),利用歐氏空間原理刻畫[6],這是常用的空間拓撲關(guān)系。與地理要素空間關(guān)系判別方式不同的是,地圖要素間的空間關(guān)系必須通過視覺認知的方式來獲取。系列比例尺地圖的制圖規(guī)范根據(jù)這種視覺認知的規(guī)律對制圖表達進行具體量化,使地圖要素的空間關(guān)系的性質(zhì)由隱含和漸進轉(zhuǎn)向明確和斷然[4]。
在地理空間數(shù)據(jù)符號化過程中,由于地理要素的位置基本保持不變,因此可以依據(jù)人類的視覺特性,將地圖要素的拓撲關(guān)系分為相交、相切和相離3種。這3種拓撲關(guān)系可以在歐氏空間基礎(chǔ)上引入容限空間的概念來表達[7-8]。容限空間的基本概念為:集合A中存在僅有反身性和對稱性的二元關(guān)系δ,稱(A,δ)為容限空間。若A為地圖上組成某一圖形的點集,則A的容限空間可以表示為:δA={b|d(b,a)≤δ,a∈A},其中d(b,a)表示點a到點b的歐氏距離,δ為容限值,這里可以理解為地圖的最小分辨率(一般為0.1 mm)。由此可以通過容限空間的概念表示地圖上相交、相切和相離3種拓撲關(guān)系,如圖2所示。設(shè)A和B分別是組成兩個圖形的點集,則有如下判別形式:①若A∩B≠?,則A和B拓撲相交;②若A∩B=?∧(δA∩B≠?∨A∩δB≠?),則A和B拓撲相切;③若δA∩δB=?,則A和B拓撲相離。
圖2 視覺空間拓撲關(guān)系舉例
制圖規(guī)則的條件語句主要用來選取規(guī)則的作用對象,它由若干條基本語句組成,基本語句之間通過關(guān)系運算符(也稱為謂詞)聯(lián)接?;菊Z句由變量、常量、關(guān)系運算符和操作函數(shù)組成,操作函數(shù)主要作用于變量,關(guān)系運算符主要用于比較表達式兩邊的值,作用對象是基本語句或變量。與普通條件語言相似,條件語句中變量的數(shù)據(jù)類型主要包括布爾型、浮點型、整型和字符串型,這些都是地理要素的常見屬性類型,如橋梁的“載重”屬性字段以“噸”為單位,類型是浮點型,居民地要素的“人口”屬性字段以“人”為單位,類型是整型,各類地理要素的“編碼”屬性字段為字符型。制圖規(guī)則的條件語句還有自身特有的變量類型,即幾何類型。作為地理要素和地圖要素的一個基本特征,幾何圖形在地理空間數(shù)據(jù)符號化中具有重要的作用,很多運算都涉及圖形運算。因此,按照要素特征的描述方法,可以用“要素[幾何]”的形式描述要素的幾何對象,通過幾何對象又可以描述要素的長度、面積等信息。
操作函數(shù)主要用來獲取變量的其他信息,如字符是否包含指定的字符、數(shù)字的絕對值和余弦值等,通過“函數(shù)名(要素[屬性])”的形式表示,函數(shù)輸入?yún)?shù)是要素的屬性值和常量。由于幾何變量是規(guī)則中的一個重要變量,因此這里根據(jù)地圖制圖的特點,針對幾何類型的變量設(shè)定了一些常用的幾何操作函數(shù),主要有3種函數(shù)類型:幾何構(gòu)造函數(shù)、幾何量算函數(shù)和拓撲關(guān)系運算函數(shù),其中幾何構(gòu)造函數(shù)主要用來構(gòu)造點、線和面3種幾何類型的變量,如可以通過語句“點(45,100)”構(gòu)造橫坐標是45,縱坐標是100的點狀幾何對象,此時的幾何對象也可看成一個常量;幾何關(guān)系運算函數(shù)主要包括用于求取幾何對象的實際面積和長度,以及圖上面積和長度,如語句“實際面積(要素[幾何])”表示求取要素的實際面積,單位為m2;拓撲關(guān)系運算函數(shù)主要是對幾何拓撲關(guān)系(也稱為歐式空間拓撲關(guān)系)進行描述,主要包括相交、相切、包含、相離等。符號化后的幾何拓撲關(guān)系(也稱為視覺空間拓撲關(guān)系),主要包括相交、包含和相離等。
執(zhí)行語句的主要功能是對條件語句執(zhí)行的結(jié)果作進一步處理,它由不同的動作組成,每個動作都對應(yīng)一個執(zhí)行函數(shù)。動作可以是針對條件語句執(zhí)行結(jié)果的操作,也可以是與執(zhí)行結(jié)果無關(guān)的操作,如設(shè)置地圖投影的動作與執(zhí)行結(jié)果無關(guān)。動作也可以接受傳入?yún)?shù),傳入?yún)?shù)主要分兩種,一是地圖指針和條件語句生成的地圖要素集合,它是動作默認的傳入?yún)?shù),不需要用戶指定;二是用戶設(shè)置的傳入?yún)?shù),如對于顯示數(shù)據(jù)的動作“顯示要素”,用戶必須指定顯示的顏色,而條件語句生成的地圖要素集合是顯示數(shù)據(jù)的動作所要操作的對象,它不需要用戶指定。動作大致分為兩種類型:“設(shè)置”型動作和“方法調(diào)用”型動作?!霸O(shè)置”型動作主要用于改變制圖對象的屬性值,如設(shè)置地圖的投影、設(shè)置圖層的地圖符號,以及設(shè)置地圖層的壓蓋優(yōu)先級等;“方法調(diào)用”型動作主要對條件語句執(zhí)行結(jié)果或?qū)ζ渌貓D數(shù)據(jù)進行修改。對于“設(shè)置”型動作,也可以通過賦值表達式實現(xiàn),但這樣需要增加對象的描述規(guī)則,將導(dǎo)致執(zhí)行語句的描述風(fēng)格不統(tǒng)一,因此這里采用動作的形式描述地圖對象的屬性賦值。動作的描述形式為
動作名稱(參數(shù)1,參數(shù)2,…,參數(shù)n)
執(zhí)行語句中的動作名稱并不是其對應(yīng)函數(shù)的真實名稱,它們只是函數(shù)的一個別名,在執(zhí)行語句解析過程中會自動將動作名稱替換成函數(shù)名稱。
隨著應(yīng)用的不斷深入,可以對動作庫進行擴展,以滿足不斷增長的應(yīng)用需求。在實際應(yīng)用中,也可以對制圖規(guī)則采用更靈活的組織模式,一條制圖規(guī)則可以不包含條件語句,而是讓用戶指定執(zhí)行語句作用的對象,如通過鼠標選取的方式指定,這種情況下執(zhí)行語句本身就是一種制圖規(guī)則。
(1) 條件語句的擴展
在上面的制圖規(guī)則中,條件語句描述了一個要素集合的選取方法,為了描述方便,本文稱這種類型的條件語句為單要素語句。不同要素集合間還可以進行拓撲關(guān)系運算,如可以在條件語句中描述選取符合某種拓撲關(guān)系的兩個要素集合,本文稱這種類型的條件語句為雙要素語句。在制圖規(guī)則中,雙要素語句的運算主要是指要素間的拓撲關(guān)系運算。拓撲關(guān)系運算包括要素符號化前的拓撲關(guān)系運算和要素符號化的拓撲關(guān)系運算,前者指的是歐氏空間拓撲關(guān)系,后者指的是視覺空間拓撲關(guān)系。雙要素語句的特點是有兩個要素集合參加運算,它包含兩條單要素語句,每條單要素語句負責(zé)選取一個要素集合。雙要素語句還包括關(guān)系運算語句,它也由若干條基本語句組成,負責(zé)選取滿足某種拓撲關(guān)系的要素對。這里的要素對是指滿足某種拓撲關(guān)系的兩個要素,它們是成對出現(xiàn)的。本文對雙要素語句采用如下形式描述
A:單要素語句
B:單要素語句
R:關(guān)系運算語句
通過語句A和B能夠分別生成滿足不同條件的要素,它們生成的要素也分別用A和B代替。對于地圖數(shù)據(jù),雙要素語句的主要功能是運用拓撲關(guān)系模型描述要素間的圖形沖突。與地理要素空間關(guān)系不同的是,雙要素語句描述的地圖要素空間關(guān)系通常是視覺空間拓撲關(guān)系,運算時的幾何數(shù)據(jù)必須是地圖要素符號化后的圖形數(shù)據(jù)。與單要素語句相似,關(guān)系運算語句也由若干條基本語句組成,基本語句之間通過謂詞“AND”連接,這里對關(guān)系運算語句定義如下形式的基本語句
拓撲關(guān)系(A,B) =拓撲關(guān)系類型
其中“拓撲關(guān)系”是指“歐氏空間拓撲關(guān)系”或“視覺空間拓撲關(guān)系”,拓撲關(guān)系類型指的是“相交”、“相離”、“相接”等拓撲關(guān)系。為了書寫方便,可以用“歐氏”代替“歐氏空間拓撲關(guān)系”,用“視覺”代替“視覺空間拓撲關(guān)系”,解析規(guī)則時只以“歐氏”和“視覺”作為關(guān)鍵字。如對于檢測圖幅中大車路與圈形居民地的圖形沖突,對沖突作出處理,可以通過下面的條件語句描述
A:要素[地圖層名稱]=“大車路”
B:要素[地圖層名稱]=“鄉(xiāng)村”
R:視覺空間拓撲關(guān)系(A,B)=“相交”
(2) 執(zhí)行語句的擴展
與上面的執(zhí)行語句相似,它由不同的動作組成,每個動作都對應(yīng)一個執(zhí)行函數(shù)。執(zhí)行函數(shù)能夠接受條件語句傳入的兩個要素集合,它們是執(zhí)行函數(shù)隱含的傳入?yún)?shù)。因此,同時存在3種類型的動作:第1種是針對一個要素集合的動作,第2種是針對兩個要素集合的動作,第3種是不對條件語句生成的要素集合進行處理的動作。其中,第1種動作只能出現(xiàn)在面向單要素特征的制圖規(guī)則中,第2種動作只能出現(xiàn)在面向拓撲關(guān)系的制圖規(guī)則中,第3種動作可以同時出現(xiàn)在兩種制圖規(guī)則中。相應(yīng)的,在函數(shù)庫中也有3種類型的函數(shù),這作為函數(shù)的一項屬性存儲在函數(shù)庫中。當(dāng)函數(shù)庫不斷擴充后,用戶可能不了解函數(shù)的適用范圍,因此在用戶編寫不同類型的規(guī)則時,可以提示用戶函數(shù)在本規(guī)則中是否有效。
試驗主要以1∶25萬軍標矢量地理空間數(shù)據(jù)為例,利用試驗系統(tǒng)實現(xiàn)地圖符號化控制規(guī)則和要素沖突處理規(guī)則的建立與應(yīng)用。
1) 符號化控制規(guī)則。地圖符號化控制規(guī)則是依據(jù)地理要素的幾何特征、屬性信息、與地圖符號的對應(yīng)關(guān)系和地圖要素的分層而建立的。每類要素都對應(yīng)了若干條符號化控制規(guī)則。符號化控制規(guī)則建立完成后,可以選擇需要的規(guī)則,并加入默認的分層規(guī)則,批量運行規(guī)則。規(guī)則建立界面及規(guī)則選取和運行結(jié)果如圖3所示。
2) 要素沖突處理規(guī)則。以黑色居民地注記與黑色單線道路的壓蓋為例,執(zhí)行以下規(guī)則,執(zhí)行結(jié)果如圖4所示。
圖3 地圖數(shù)據(jù)的生成顯示
圖4 注記壓蓋同色要素
條件語句為
A:要素[地圖層名稱]=“居民地注記”
B:要素[地圖層名稱]=“大車路”
R:視覺空間拓撲關(guān)系(A,B)=“相交”
執(zhí)行語句為
設(shè)置注記背景(白色)
制圖規(guī)則在大多數(shù)情況下表現(xiàn)為一種圖形顯示規(guī)則,它是將地理空間數(shù)據(jù)轉(zhuǎn)換為地圖數(shù)據(jù)的知識化工具[9]。由于地圖制圖涉及很多方法和技術(shù),有些研究成果還難以應(yīng)用于實際生產(chǎn),因而具有一定的實用難度。雖然本文研究了面向要素特征的制圖規(guī)則表達,取得了一定的研究成果,但要真正實現(xiàn)地圖制圖的自動化,還需進一步研究制圖規(guī)則的構(gòu)建和應(yīng)用。在制圖規(guī)則構(gòu)建方面,還需建立大量穩(wěn)定實用的制圖規(guī)則,并在生產(chǎn)實踐中反復(fù)驗證,使制圖規(guī)則更加實用化;在制圖規(guī)則應(yīng)用方面,如何為用戶提供易于理解的規(guī)則操作界面是關(guān)系到規(guī)則能否有效推廣的一個重要方面。
參考文獻:
[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數(shù)據(jù)與制圖數(shù)據(jù)一體化建庫技術(shù)方法探討[J].測繪通報,2013(5):93-95.
[4] 劉培奇,李增智,趙銀亮.?dāng)U展產(chǎn)生式規(guī)則知識表示法[J].西安交通大學(xué)學(xué)報,2004(6):40-43.
[5] 龐偉正,金瑞琪,王成武.一種規(guī)則引擎的實現(xiàn)方法[J].哈爾濱工程大學(xué)學(xué)報,2006, 26(3):385-389.
[6] 李霖,朱海紅,賀彪,等.基于代數(shù)結(jié)構(gòu)的地形圖制圖模型[J].測繪學(xué)報,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.