王慶,林海,戴相喜,張進華
(南京市測繪勘察研究院有限公司,江蘇南京 210019)
圖面注記一般是由要素的一個或多個屬性值組合生成,如建筑物的圖面標注內(nèi)容“磚2”即由建筑物的結(jié)構(gòu)和層數(shù)兩個屬性組成。在一般情況下注記實體與要素屬性未建立關(guān)聯(lián),我們稱為“游離注記”,注記可能在要素內(nèi)部也可能在要素外部,注記離要素距離也或近或遠。當要素屬性發(fā)生變化時,如房屋層數(shù)由2層變?yōu)?層時,需要改變要素屬性,同時更新對應(yīng)注記。若由于某些原因,僅修改了要素屬性而圖面注記未同步更新,或僅修改圖面注記而要素屬性未同步更新,則會造成注記與要素屬性不一致的情況發(fā)生。這種情況通過程序檢查不易發(fā)現(xiàn)錯誤,要靠人工檢查,工作量大。如果此種情況發(fā)生在地下管線上,危害更大。當一根電信光纜實際埋深 0.5 m而圖面標注為 1 m時,依據(jù)圖紙上標注信息進行開挖,就會造成挖斷電纜的情況,給社會生產(chǎn)、生活帶來不小的損失。
本文基于EPS2008平臺的符號化技術(shù),通過模板定制和程序開發(fā),研究一種能夠?qū)⒐芫€注記和管線要素進行關(guān)聯(lián)的“屬性注記”技術(shù),把由管線要素生成的重要注記作為管線要素的一部分,進行聯(lián)動修改,可以避免管線要素屬性和圖面注記不一致的情況發(fā)生,從而提高管線數(shù)據(jù)質(zhì)量,有效減少因為這種原因造成的管線施工事故發(fā)生。
國內(nèi)常用的管線數(shù)據(jù)編輯平臺有AutoCAD、Microstation、EPS2008、ArcGIS 等,而 AutoCAD 因其廣泛的用戶基礎(chǔ)、便捷的操作和良好的用戶體驗,在測繪產(chǎn)品編輯平臺中占據(jù)了重要位置。國內(nèi)也有學(xué)者研究了基于AutoCAD平臺的要素屬性和注記的聯(lián)動技術(shù),如文獻[1],該方法的思路是首先將管線要素在擴展屬性中存儲一個全圖唯一的ID值,然后按照管線注記的規(guī)則(注記與管線要素值一致、注記方向與管線走向相關(guān)等)在圖內(nèi)進行搜索,找到能匹配成功的管線要素及其注記,匹配成功后將管線要素的ID值存儲到注記的Thickness值中,進而建立關(guān)聯(lián)關(guān)系,當要素屬性發(fā)生改變時,通過開發(fā)的程序在修改要素屬性的同時將其關(guān)聯(lián)的注記進行修改。這種方法在一定程度上實現(xiàn)了圖面注記與要素屬性的聯(lián)動,但是仍然存在一定的缺陷:①如果將Thickness值進行修改,則破壞了關(guān)聯(lián)關(guān)系,從而導(dǎo)致聯(lián)動失敗,而Thickness值是AutoCAD軟件暴露在外面的一個值,很容易被用戶修改;②只有使用程序提供的專門屬性修改功能才可以在修改要素屬性的同時將圖面注記一并修改,使用其他方法修改均不行;③圖面注記仍然可以單獨的添加、刪除和修改,而管線屬性不會同步改變。
通常意義上的關(guān)聯(lián)注記,不論平臺是AutoCAD、Microstation、EPS2008還是ArcGIS,其思路均與上述類似,本文研究了一種基于EPS2008符號化功能的屬性注記技術(shù),使注記成為要素的一個部分,能夠克服上述缺陷,是一種比較理想的關(guān)聯(lián)注記技術(shù)。
EPS2008符號化組件是一套跨軟件平臺的組件,可以支持EPS2008、ArcGIS等平臺,具有豐富的符號化功能,本文研究使用該技術(shù)實現(xiàn)管線要素注記聯(lián)動,即“屬性注記”。根據(jù)管線編輯軟件的功能需求,屬性注記應(yīng)實現(xiàn)下列功能:
(1)適用于管點和管段;
管點和管段的圖面注記同樣重要,因此屬性注記必須同時支持管點和管段。
(2)不同方法修改要素屬性,其圖面注記也聯(lián)動變化;
EPS2008平臺的數(shù)據(jù)提供了多種編輯方式,如:①直接使用Access軟件打開edb文件,在相應(yīng)表文件中修改要素屬性;②利用系統(tǒng)提供的屬性編輯界面修改要素屬性;③通過二次開發(fā)方式修改要素屬性。這些方法在數(shù)據(jù)生產(chǎn)過程中均可能被用到,為避免意外發(fā)生,這些方法對要素屬性進行修改后,圖面注記必須同步更新。
(3)注記不能單獨修改或者任何方法修改注記后要素屬性也同步更新;
如果注記可以單獨選中、修改而要素屬性不被同步更新,則該方法存在漏洞,所以注記不能單獨修改或任何方法修改注記后要素屬性也同步更新。
(4)管線要素挪動后,其關(guān)聯(lián)的注記跟著移動;
管點或者管段被移動后,其關(guān)聯(lián)的注記需按照一定規(guī)則同步移動,方便用戶編輯,減少作業(yè)時間,提高工作效率。
(5)選擇要素,其關(guān)聯(lián)注記同時被選中;
要素選中后,其關(guān)聯(lián)注記應(yīng)同時選中,可以方便查看注記位置,判斷是否需要移位處理。
(6)注記能靈活的添加、刪除和移動;
注記需像普通注記一樣,能靈活的添加、刪除和移動。
(7)注記字頭朝向要符合“陽光法則”;
管線注記字頭朝向要滿足“陽光法則”的要求。
EPS2008符號化技術(shù)可將要素屬性作為要素的一部分進行符號化,而符號化是實時的,即在要素渲染時,實時讀取要素屬性,保證圖面注記與屬性的一致。通過模板定制和二次開發(fā),可以實現(xiàn)上述功能。
模板是EPS2008中一個十分重要的概念,模板即是數(shù)據(jù)生產(chǎn)的“技術(shù)規(guī)則”,包括要素代碼體系、符號化描述、分層、設(shè)色、擴展屬性等,所以模板定制是EPS2008軟件進行數(shù)據(jù)生產(chǎn)的第一步。
管線要素分為管點和管段兩種要素,其對注記要求是有區(qū)別的:
管點要素一般只標注明顯點地面高,如窨井地面高,隱蔽點地面高一般不標注,管點注記一般標注在管點附近,角度為水平。
管段注記一般標注管段的起點高程、終點高程和管徑材質(zhì)。起點高程標注在管段起點處,終點高程標注在管段終點處,管徑材質(zhì)標注在管段中間位置,它們的字符串角度與管線走向一致或者相反,根據(jù)管線類型不同,起點高程、終點高程、管徑材質(zhì)是有選擇的進行標注,不一定全部標注。
因此,需要對管點和管段根據(jù)其類型分別定制不同的符號化方案,本文以我院管線注記規(guī)則為例,選擇有代表性的管點和管段進行模板定制,對符號化的模板定制加以說明。
(1)管點注記
①有屬性注記
以電信人孔為例,如圖1所示,由于該點是明顯點,需要標注人孔的地面高,所以其在模板中的符號描述為:
②無屬性注記
以電信探測點為例,如圖2所示,由于該點是隱蔽點,無需標注,所以其在模板中的符號描述為:4 0.5,0 0,0.5-0.50,0。無需使用G嵌套其他圖形符號也不需使用T嵌套其他注記。
圖1 電信人孔屬性注記
圖2 電信探測點
(2)管段注記
①僅管徑材質(zhì)
以給水線為例,這類管線只需標注管段的管徑和材質(zhì),并且放置在管段中間位置,如圖3所示。其模板符號描述為:
圖3 給水線屬性注記
②起點高程和管徑材質(zhì)
以雨水線為例,這類管線需同時標注管段起點高程和管徑材質(zhì),分別放置在管段起點和中間位置附近,如圖4所示。其模板符號描述為:
其語句說明與上述相同,此處起點高程注記的定位點位置(百分比)設(shè)為0,說明注記在起點位置,左右偏移值為3.5,表示向管線正方向偏移3.5個單位,目的是為了防止壓蓋管線端點的管點符號。
圖4 雨水線屬性注記
③起點高程、終點高程和管徑材質(zhì)
以電信線為例,這類管線需同時標注管段起點高程、終點高程和管徑材質(zhì),分別放置在管段起點、終點和中間位置附近,如圖5所示。
管點和管段的屬性注記大致分為上述幾種類型,在此均作了設(shè)計說明。
圖5 電信線屬性注記
若原管線數(shù)據(jù)中的注記是游離注記,則首先需要將原游離注記與管點或管段建立關(guān)聯(lián)。由于管線的注記是有規(guī)則的,即層符合規(guī)則、屬性值相同、角度相關(guān)聯(lián)(管線注記方向與管線走向相關(guān))等,據(jù)此可對管線圖中注記進行搜索,并完成匹配,使其成為管線的屬性注記。匹配工作可使用VBScript腳本進行二次開發(fā)完成,其匹配流程如圖6所示。
匹配的基本原理為:管點或管段按照模板中定制,有其缺省的注記及位置,通過搜索,若找到匹配的注記,則將缺省的注記移到匹配注記位置上,并將匹配的游離注記刪除,若未找到,則說明該要素的游離注記已被刪除,故將缺省注記也一并刪除。
通過注記匹配,建立了原管線數(shù)據(jù)的屬性注記,新繪管線要素會自動根據(jù)模板定制規(guī)則生成屬性注記。若仍有部分游離注記未能匹配成功,則說明這部分注記在標注的過程中存在一些問題,如數(shù)值不匹配,角度不正確等,這部分注記若要成為屬性注記,則需人工干預(yù)。
圖6 注記匹配流程
通過上述的設(shè)計和開發(fā),基本實現(xiàn)了基于EPS2008平臺的管線屬性注記功能,其達到效果如下:
(1)管點和管段要素均實現(xiàn)了屬性注記。
(2)多種修改方式修改屬性,注記均聯(lián)動。
通過測試,使用平臺擴展屬性修改方式、二次開發(fā)方式和Access數(shù)據(jù)庫直接修改方式修改屬性,屬性注記均可聯(lián)動。
(3)注記作為要素的一部分,不能直接修改。
由于屬性注記是利用EPS2008符號化技術(shù)實現(xiàn)的,故其作為要素的一部分,不像游離注記那樣能直接被選中并修改,并且在選中管線要素時,其對應(yīng)屬性注記也同時選中。
(4)管線要素挪動時,屬性注記跟著移動。
管線要素分為管點和管段,當管點要素移動時,屬性注記始終保持著與管點相同的位置關(guān)系;當管段要素移動時,管段起終點處的屬性注記始終保持著與起終點相同的位置關(guān)系,角度隨管線走向變化而變化,管段中間的注記在管段移動時,其位置會隨著管線長短變化依照原距起終點的距離比例關(guān)系自動變化。
(5)通過系統(tǒng)提供的工具,可以實現(xiàn)屬性注記的添加、刪除、移動操作。
如圖7所示,EPS2008平臺提供了屬性注記的編輯功能,可以實現(xiàn)注記的添加、刪除、移動操作。
圖7 屬性注記操作
(6)屬性注記字頭朝向符合“陽光法則”。
本文基于EPS2008平臺符號化設(shè)計實現(xiàn)了管線要素屬性與注記聯(lián)動的“屬性注記”技術(shù),通過該技術(shù)可以將重要的注記與管線要素進行關(guān)聯(lián),進而實現(xiàn)了管線圖面注記與管線要素屬性嚴格一致,防止由于人為因素造成的不一致情況發(fā)生,對提高管線數(shù)據(jù)質(zhì)量有重要意義。雖然目前實現(xiàn)了該技術(shù),但在實際使用過程中發(fā)現(xiàn)還存在一些不足,如屬性注記壓蓋技術(shù)尚未完善,目前仍受圖層順序影響,不能做到游離注記那樣可以壓蓋所有點線要素。
屬性注記技術(shù)不僅可以運用于管線數(shù)據(jù),對于地形圖數(shù)據(jù)及其他數(shù)據(jù)也均適用,可在此基礎(chǔ)上進一步研究應(yīng)用。本技術(shù)已經(jīng)成功應(yīng)用在“南京市地下管線信息系統(tǒng)”中,并在南京市地下管線探測、更新、建庫過程中發(fā)揮了重要作用,提高了管線探測的生產(chǎn)效率和管線數(shù)據(jù)成果的可靠性。
[1]鮑其勝,林海,何立恒.城市地下管線圖點線聯(lián)動編輯探討[J].江蘇城市規(guī)劃,2006(9):44~46.
[2]王棋,王帥,趙海洋.基于EPS中VBScript二次開發(fā)在地籍處理中的應(yīng)用[J].測繪與空間地理信息,2011,34(6):191~193.
[3]常洲,戴相喜,王華峰.地下管線內(nèi)外業(yè)一體化探測技術(shù)研究及實現(xiàn)[J].測繪通報,2011(7):50~53.
[4]李向東,王鈞強,軒會敏等.用AutoLISP自動繪制綜合管線圖[J].城市勘測,2008(2):129~132.
[5]熊偉,武舫,范建永.GIS中地圖符號化研究及實現(xiàn)[J].測繪與空間地理信息,2006,29(5).
[6]陳亮.簡述EPS2008平臺中符號的制作[J].黑龍江科技信息,2012(17).