提要 本篇根據GIS具體應用實例,詳細闡述了GIS的基本數學模型,深入分析了非地理屬性數據的本質特性及組織方法,并提出了繪圖即編碼的新觀點。
關鍵詞 GIS 非地理屬性數據 圖形編碼
0. 引言
近年來,GIS數據處理技術正以前所未有的速度,滲透到社會的各個部門。各行各業的GIS開發應用急劇增加,專業GIS平臺種類繁多,新技術、新理念層出不窮,給人以目不暇接的感覺。作為一名業余GIS從業人員,根據行業應用具體例子,闡述GIS數據處理技術的基本原理及其應用方法。所述觀點有偏薄之處,還請GIS行家斧正。
1. 現行GIS數學模型
GIS處理的數據對象不僅僅局限于地理測繪部門,基于地理信息基礎上的規劃、市政、土管、電力、電訊、自來水等相關行業,同樣適用于GIS數據處理技術,這是無庸置疑的客觀事實。值得探討的是:各相關部門該如何利用測繪部門提供的基礎地理信息?他們又該如何組織各自的專業數據?
現行的GIS數據處理模型,都是在海量級數字地理背景圖上,疊加各自專業圖符布置圖,然后利用內置或外掛的關系型數據庫,查詢統計圖形符號所屬的參數記錄。這樣的數學模型,實際應用效果并不理想:操作人員在圖形、表格之間煞費苦心,但始終不得要領;應用單位除了承擔昂貴的專業GIS平臺外,還得承擔同樣昂貴的關系型數據庫平臺。筆者以為,現行GIS數學模型的基本原理有待探討。
2. GIS數據的基本結構
海量級數字地圖本來是按一定比例尺度、一定投影帶度(地理坐標系),分幅保存在地理測繪部門。以前都是以圖紙形式,現在通行數字地圖格式。大概是計算機圖形處理技術太易于拼接疊加,程序設計人員很容易將數量眾多的地理分幅圖,拼接成海量級數字地圖,作為各GIS相關行業的地理背景。這樣的系統設計方法,違背了模塊化設計這一信息處理技術的基本原則。
就單純的地理信息而言,最小的、能夠獨立使用的基本數據模塊,就是每張一定比例、一定投影帶度的地理分幅圖。單張地理分幅圖的信息數據量相當有限,數量眾多的地理分幅圖疊加起來,才形成海量級地理背景圖。在很小的電腦屏幕上,調集海量級圖形數據,顯示效果如同印象派畫家的杰作,不知所云。實際應用當中,操作人員為了保持畫面的清晰,常常關閉地理背景圖層。早知今日,何必當初。
GIS相關行業在數據初始化階段,確實應該盡可能搜集所有地理分幅圖,包括不同坐標體系的地理圖,這樣可以在圖紙或電子地圖上,轉錄各自行業圖符布置圖,不必花費大量的人力、物力,到現場進行實地勘測,系統開發周期可以大大縮短。轉錄過程是必不可少的,因為測繪部門的圖符規范與各行業規范不盡相同,圖符之間的邏輯關系更是隔行如隔山。關于這一點,各相關行業部門并無異議,實際應用也是這樣操作的。但無論從數據處理的基本原理,還是實際應用角度,都沒有理由疊加海量級地理圖作為基礎背景。
也許有人要問,轉錄后的行業圖符地理布置圖,仍常常需要基本地理信息作為參考背景,那該如何處置?實際上這很容易解決,你只需將所有地理分幅圖保存在指定的硬盤目錄,需要時逐一調入疊加。很顯然,這樣的應用模式,更符合數據處理的基本原理,計算機系統資源也可大大節約。
這里想強調一點,無論是基礎地理信息圖,或是行業圖符布置圖,必須遵循測繪部門的地理坐標系。地理坐標系不僅具有嚴密的數學投影公式,而且是法定的標準規范。常常碰到一些非地理專業的設計人員,任意假定自己的地理坐標。這樣的設計方法,能夠應用一時,但給日后的數據維護運行帶來無窮的后患。你的所有數據將成為“信息孤島”:無法被別人共享,也無法共享別人信息?!暗貓D永遠跟不上建設”,你搜集到的最新版式的地圖,很可能是五年甚至是十年前的地形地貌。動態變化的地理信息,是按照固定的坐標體系不斷修測更新。地理坐標體系實際上是地理信息數據的基本編碼字典,設計人員怎能憑自己的意愿,各自假定編碼字典。筆者并非地理專業人員,認識地理坐標的重要性,完全是經驗之談。
3. 非地理屬性數據的組織方法
筆者認同這樣的觀點:從內部結構上講,計算機數據處理技術可以概括為邏輯上的關系型數據庫處理模型;所有信息數據,無論是文本、數字、圖形、圖象、聲音等等,都是以抽象的表格記錄形式存貯在計算機內部。這是專業級系統開發商探討的技術問題,筆者根本沒有能力深入剖析。從具體應用角度出發,抽象的或者說是邏輯上的關系型表格數據庫,是否都得影射成外觀的表格數據記錄,這就值得應用開發人員仔細推敲。就最常用的DXF格式的圖形交換文件(數據)而言,其內部形式就是標準ASCII碼表格數據,但它們的外部表現形式,則是具體形象的幾何實體。對應用開發人員猶其是應用操作人員來講,表格記錄與圖形數據是完全不同的數據類型,它們的組織方法、查詢手段也是完全不同的。
單純的圖形數據組織方法與單純的表格數據組織方法,誰也不會混淆?,F行GIS相關行業的非地理屬性數據的組織方法,筆者不敢茍同。絕大多數應用開發人員,都將它們整合成結構嚴謹的表格記錄,并在表格數據庫中進行相關的查詢、統計。表面看來,似乎符合這些屬性數據的管理模式。在未有計算機圖形處理技術以前,這些屬性數據無一例外地集中存貯在表格簿冊之中。但這是不得已而為之。它們本該分散標注在圖形符號的背后,只是在手工繪圖階段,根本無法實現。在計算機圖形技術日臻完善的今天,可以利用隱含顯示、透明疊加等計算機圖形處理技術,方便準確地將屬性記錄標注在圖形符號背后,直觀形象地進行查詢統計,應用效果如同“看圖識字”。那只是還非地理屬性數據以本來面目,從本質上講,它們本來就屬于圖形數據,并非一般意義上的表格數據。它們的組織方法如同繪圖一樣,必須將一條條屬性記錄(類似于幾何實體),分散標注在它們本該出現的位置。方便靈活的分散標注過程只是人機對話的表面形式,集中存貯仍是屬性數據計算機內部結構。對編程人員來講,面對的仍是整齊劃一的DXF格式的數據表格,這與普通表格數據沒有兩樣(實際上DXF格式數據只是應用開發人員的數據組碼,低層的數據代碼更為整齊劃一,但這是專業級開發商面對的數據格式)。對具體應用人員來講,直觀形象地進行查詢統計,是他們最大的愿望。
4. 圖形編碼法
普通表格數據庫中的數字編碼,我們已經運用得駕輕就熟,對圖形編碼[1]可能還比較陌生。但“信息技術工作者,逐步意識到用地理位置來檢索數據,是組織和使用數字式數據的基本方法”[2]。講得通俗點,使用圖形編碼是組織和運用圖形數據(包括非地理屬性數據)的基本方法。所謂圖形編碼法,就是以圖形符號為基本工程語言,依照行業設計規范,繪制或標注圖符、屬性的全過程,就是圖形編碼法。簡而言之,繪圖即編碼。
圖形編碼在未有計算機圖形處理技術以前就已存在,手工繪圖的全過程,運用的就是圖形編碼法,但使用范圍局限于狹義的圖形符號。隨著計算機技術的迅猛發展,圖形編碼的使用范圍早已超出狹義的制圖設計過程。司空見慣的條形碼技術,就是典型的圖形編碼在表格數據庫中的具體應用。DOS操作系統與Windows操作系統最本質的區別,前者采用的是數字編碼命令體系,后者采用是圖形編碼命令體系。
遺憾的是,由于不了解非地理屬性數據的實質就是圖形數據,沒有認識到繪圖標注過程就是編碼過程,也可能是關系型數據庫技術過于流行,GIS相關行業的程序設計人員,都將非地理屬性數據分門別類,集中存貯在內置或外掛的關系型數據庫中,并人為添加一條編碼字段,進行日常的查詢統計。這從數學原理上講是不成立的,簡單的圖形符號,比如條形碼,尚能用一串數碼來描述;復雜的圖形符號及其相互間的邏輯關系,根本無法用數碼來表示,否則就不存在各行業的工程設計語言。實際應用當中,非地理屬性數據在關系型數據庫中的查詢統計效果,差強人意,操作人員始終處在云里霧里。更為煩惱的是,管理人員為了維護程序設計人員外加的編碼體系,費盡心機,但始終不得要領。非地理屬性數據的編碼字典,就是管理人員熟知的行業設計規范。程序設計人員必須首先掌握GIS及相關行業的工程設計規范,然后才能進行應用系統的組織、設計。
非地理屬性數據采用圖形編碼法,才能滿足數據模塊化設計的原則。GIS相關行業的基本數據模塊,就是每張專業圖符(屬性)地理布置圖,它們是由不同類型的圖符實體,依據各自的行業規范,準確連接而成的、可以獨立使用的基本數據模塊。這在關系型表格數據庫中是無法實現的,表格數據庫采用的是分門別類方法,不同類型的屬性數據無法整合在同一表格簿冊中。這既是它的優點,也是它的不足。數據處理技術并非只有關系型數據庫一種,程序設計人員首先考慮的就是根據不同行業數據特性,選擇不同的數據處理技術。
5. GIS應用實例
圖例是筆者利用最普通的ACAD(R14)作為GIS平臺(Autodesk公司提供專業GIS平臺,如AutoCAD Map、MapGuide等系列),引用當地最常用的寧波獨立坐標系,依據圖形編碼法,準確繪制的配網地理接線圖。沒有任何地理背景,需要時可以隨時疊加任何已有的或者今后再版的地理分幅圖。沒有外掛任何關系型數據庫(ACAD支持多種關系型數據庫),你用鼠標就可直接點取任一電氣設備的全部屬性參數。為了保持畫面的清晰,只顯示一、二項屬性參數,其余均被隱含在圖形符號的背后。你當然可以根據不同的統計口徑,編制小段管理程序,匯總統計各種參數,編程過程并不復雜。應用人員幾乎可以不經任何培訓,就能上機查詢,真正體現“所見即所得”設計目標。
根據模塊化設計原則,剝離了海量級地理背景圖,配網地理接線圖也是按饋線分別存貯在指定的硬盤目錄,需要時逐一調用,這樣的GIS應用模型可以在P/100/40M普通微機上流暢運行。采用更高檔的系統機型,選擇更專業的GIS平臺,應該根據系統的綜合性能價格比,由用戶作出最終抉擇。作為程序設計人員,必須確保信息處理的數學模型科學規范,維護運行的人機界面簡單明了。