周順莉 徐水珍
摘 要:本文基于筆者多年從事工程測量內(nèi)業(yè)的相關(guān)工作經(jīng)驗,以基于CASS的工程測量內(nèi)業(yè)技術(shù)為研究對象,論文首先分析了內(nèi)業(yè)制圖的必要性,進(jìn)而從數(shù)據(jù)格式轉(zhuǎn)換和坐標(biāo)轉(zhuǎn)換二個方面探討了CASS技術(shù)在內(nèi)業(yè)制圖中的應(yīng)用思路,全文是筆者長期工作實踐基礎(chǔ)上的理論升華,相信對從事相關(guān)工作的同行能有所裨益。
關(guān)鍵詞:CASS 內(nèi)業(yè)制圖 坐標(biāo)轉(zhuǎn)換 二次開發(fā)
中圖分類號:TB22 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2014)01(c)-0062-02
CASS地形地籍成圖軟件是基于AutoCAD平臺技術(shù)的數(shù)字化測繪數(shù)據(jù)采集系統(tǒng)。廣泛應(yīng)用于地形成圖、地籍成圖、工程測量應(yīng)用三大領(lǐng)域,且全面面向GIS,徹底打通數(shù)字化成圖系統(tǒng)與GIS接口,使用骨架線實時編輯、簡碼用戶化、GIS無縫接口等先進(jìn)技術(shù)。自CASS軟件推出以來,已經(jīng)成為用戶量最大、升級最快、服務(wù)最好的主流成圖系統(tǒng)。CASS的主要功能有:地形、地籍制圖與建庫一體化處理;土地勘測定界;城市部件調(diào)查;方便實用的土方計算功能。
1 內(nèi)業(yè)制圖的必要性
地形圖的應(yīng)用非常廣泛。特別是在城市建設(shè)規(guī)劃中,既要從整體規(guī)劃,又要考慮到局部開發(fā),這就需要不同比例尺的地形圖。整體規(guī)劃就需要小比例尺的地形圖,而局部開發(fā)又需要相對較大比例尺的地形圖。另外,我們在地形測量中,僅僅測繪出大比例尺地形圖,如果按照常規(guī)方法一點一點的測繪出圖,那將耗費大量的人力、物力、財力,這種方法很不現(xiàn)實。在實際工作中,利用CASS編制大比例尺地形圖是一種很實用的制圖方法。
數(shù)字地圖不像傳統(tǒng)地圖那樣以線劃、顏色、符號注記來表示地形地物,而是以一定的計算機(jī)能識別的數(shù)字代碼系統(tǒng)反映地表各類地理屬性特征。數(shù)字地圖的特點決定了數(shù)字地形圖的編繪不同于傳統(tǒng)的紙質(zhì)地形圖。
近幾年,國家基礎(chǔ)建設(shè)加快了步伐,基礎(chǔ)規(guī)劃建設(shè)所使用的圖形一般都是大比例尺地形圖。目前國內(nèi)使用較多的測圖軟件是南方CASS軟件。軟件本身的一些功能很完善,可以幫助我們解決一些生產(chǎn)中遇到的問題。還有一些問題就需要我們借助CASS的平臺AUTOCAD開發(fā)一些功能來解決,以提高效率。
2 基于CASS二次開發(fā)的數(shù)據(jù)格式轉(zhuǎn)換技術(shù)
2.1 CASS數(shù)據(jù)交換文件結(jié)構(gòu)
CASS的數(shù)據(jù)交換文件(擴(kuò)展名是“.cas”)為用戶的其他數(shù)字化測繪成果進(jìn)入CASS提供了方便之門,CASS的數(shù)據(jù)交換文件與圖形的轉(zhuǎn)換是雙向的。CASS的數(shù)據(jù)交換文件總體格式是:第一行和最后一行固定分別為START和END,第二、三行規(guī)定了圖形的范圍,文件正文從第四行開始,以圖層為單位分成若干獨立的部分,用中括號將層名括起來,作為該圖層區(qū)的開始行,每個層內(nèi)部又以實體類別劃分開來,共有POINT(點狀地物)、LINE(線段)、ARC(弧)、CIRCLE(圓)、PLINE(復(fù)合線)、SPLINE(樣條線)、TEXT(文字)、SPECIAL(特殊地物)等8種實體類型,每個層的每種實體類型部分以實體類型名為開始行,以字符串“nil”為結(jié)束行。
2.2 MapInfo數(shù)據(jù)交換文件結(jié)構(gòu)
MIF是MapInfo用來向外交換數(shù)據(jù)的一種中間交換文件。當(dāng)用戶在MapInfo中將一張地圖表以MIF格式轉(zhuǎn)出來后,MapInfo會同時在用戶指定的保存目錄下生成兩個文件(*.mif,*.mid)。其中*.mif文件保存了該MapInfo表的表結(jié)構(gòu)及表中所有空間對象的空間信息。而*.mid文件則按記錄順序保存了每個空間對象的所有屬性信息。這兩個文件都為文本性質(zhì)的文件,讀者可以通過相應(yīng)的文件讀寫方法實現(xiàn)對文件內(nèi)容的讀寫。
這兩個系統(tǒng)的數(shù)據(jù)交換文件的結(jié)構(gòu)在CASS參考手冊和MapInfo的幫助文件中都有詳細(xì)的說明。
2.3 接口文件的設(shè)計
CASS實體類型與MapInfo圖形對象的對應(yīng)關(guān)系分三種情況,分別敘述如下幾方面。
(1)CASS中的LINE、PLINE、SPLINE對應(yīng)MapInfo中的線圖元。
(2)CASS中的 POINT、ARC、CIRCLE、TEXT分別對應(yīng)MapInfo點圖元、圓弧、橢圓(長半徑與短半徑相等的情形)、文本。
(3)SPECIAL是CASS軟件要用程序控制的復(fù)雜實體,其格式依地物的不同而改變,它們有4種類型,與MapInfo的對應(yīng)關(guān)系如下:①控制點、高程點、水深點對應(yīng)MapInfo的點圖元;②在ASSIST層生成的骨架線對應(yīng)MapInfo的線圖元;③界址線對應(yīng)MapInfo的線圖元;④雙線不規(guī)則地物,包括自然斜坡,不規(guī)則樓梯等對應(yīng)MapInfo的線圖元。對此類實體的圖元要根據(jù)具體的CASS編碼進(jìn)行處理,根據(jù)不同的編碼提取該實體不同的信息。
2.4 程序?qū)崿F(xiàn)過程
在弄清楚轉(zhuǎn)換前后2種不同文件結(jié)構(gòu)之后,就可以編程進(jìn)行數(shù)據(jù)轉(zhuǎn)換,程序結(jié)構(gòu)流程見圖1。
如圖1所示,源文件的讀取是按不同圖層分別讀取的,圖層分為CASS內(nèi)部默認(rèn)圖層和用戶自定義的圖層,這兩種情況都要加以考慮;每個圖層中有可能出現(xiàn)很多不同的實體,我們先讀取CASS文件中每個圖層中的附加屬性,并將其存儲在MID文件中對應(yīng)的位置;CASS實體數(shù)據(jù)讀取是程序讀取源文件中描述實體的數(shù)據(jù),它要針對不同實體類型的數(shù)據(jù)組織特點開發(fā)不同的數(shù)據(jù)讀寫程序;CASS實體數(shù)據(jù)轉(zhuǎn)換就是根據(jù)CASS實體類型與MapInfo圖形對象的對應(yīng)關(guān)系進(jìn)行數(shù)據(jù)轉(zhuǎn)換,將源文件的實體數(shù)據(jù)轉(zhuǎn)換為MapInfo中的點、線實體數(shù)據(jù)及其對應(yīng)的屬性數(shù)據(jù),最后是按CASS中的圖層生成的MIF、MID文件。
在轉(zhuǎn)換過程中需要注意的問題:
(1)復(fù)合線轉(zhuǎn)換的問題:由于GIS的折線和面實體在CASS中都是以PLINE(復(fù)合線)形式存儲的,不同之處就是未閉合折線是以“E”為結(jié)束標(biāo)志,閉合折線是以“C”為結(jié)束標(biāo)志,而折線閉合所形成的圖形就是GIS 中的面域圖形,因此,程序中是根據(jù)折線的結(jié)束標(biāo)志判斷CASS中的折線數(shù)據(jù)在MIF 文件中是以折線形式存儲還是以面域形式存儲。在CASS文件中是沒有封閉區(qū)域質(zhì)心的坐標(biāo),這就要求我們根據(jù)封閉區(qū)域折點坐標(biāo)將質(zhì)心坐標(biāo)計算出來。同時在程序中還要考慮復(fù)合線的特殊寫法,以便把這些特殊寫法中的重要信息提取出來寫進(jìn)MID 文件中。
(2)文本轉(zhuǎn)換問題:文本的創(chuàng)建比較繁瑣,對于少量的文本輸入,最好在轉(zhuǎn)成Tab文件后在地圖窗口中操作,CASS數(shù)據(jù)交換文件中的文本只有文字起點即左下角坐標(biāo),而MapInfo數(shù)據(jù)交換文件中存儲文本時要求有文字的兩組坐標(biāo)值,因此程序中是采用了一個算法將文字另一組坐標(biāo)值求解出來。
利用本文介紹的程序,可以實現(xiàn)以下幾方面的轉(zhuǎn)換目的:
(1)對程序中各項轉(zhuǎn)換參數(shù)的設(shè)置,可以使圖形實體的轉(zhuǎn)換有一定的可操作性,轉(zhuǎn)換后的效果更能滿足主觀的要求,大大減少重新編輯的工作量。(2)實現(xiàn)大中小比例尺圖形數(shù)據(jù)的轉(zhuǎn)換,一般轉(zhuǎn)換后出現(xiàn)的問題主要是字體大小與圖形不對應(yīng),這時就要修改接口文件中相應(yīng)的參數(shù)以達(dá)到字體大小剛好適合圖形的要求;也可以達(dá)到有利于MapInfo各項基于空間信息的分析處理功能的實現(xiàn)。
2.5 實例驗證
為了得到高質(zhì)量的地理空間數(shù)據(jù),我們應(yīng)對轉(zhuǎn)換以前的CASS圖形數(shù)據(jù)作一定的處理。首先檢查基礎(chǔ)數(shù)據(jù)是否按照設(shè)計來嚴(yán)格進(jìn)行分層,分層不明確將導(dǎo)致重要信息的丟失。所以在實體編碼和層對照表的基礎(chǔ)上用程序來批量選取不對應(yīng)的實體,并逐一改正。通過分層檢查后,必須將不符合GIS拓?fù)浣Y(jié)構(gòu)要求的實體挑選出來,再選擇集中過濾掉,將屬于面狀地物的對象都進(jìn)行閉合處理,在CAD中對所有的居民地進(jìn)行封閉以方便轉(zhuǎn)換時進(jìn)行判讀,如未將其閉合,則CASS在生成交換文件的時候是以折線PLINE形式存儲的,變?yōu)榱司€狀地物。圖形數(shù)據(jù)預(yù)處理后利用筆者開發(fā)的數(shù)據(jù)轉(zhuǎn)換程序進(jìn)行轉(zhuǎn)換。
3 坐標(biāo)轉(zhuǎn)換技術(shù)
在進(jìn)行全野外數(shù)字測圖的過程中,經(jīng)常會遇到測站點和定向點的設(shè)站錯誤或獨立坐標(biāo)系轉(zhuǎn)為已知坐標(biāo)系等問題,通常有兩種方法解決:
(1)三維改正;(2)平面改正,利用CASS軟件的功能就可以解決。
三維改正:利用CASS工具欄中的“數(shù)據(jù)”→“數(shù)據(jù)加固定常數(shù)”,選擇處理所有數(shù)據(jù)或處理高程為0的數(shù)據(jù),輸入東方向(Y)改正值,輸入北方向(X)改正值,輸入高程改正值,回車、輸入原始數(shù)據(jù)文件名,輸入更改后文件名并保存。
平面改正:采用“地物編繪”下的“測站改正”功能,輸入改正前測站點即糾正前第一點,改正前定向點即糾正前第二點方向,改正后測站點坐標(biāo)為糾正后第一點,改正后定向點坐標(biāo)為糾正后第二點方向。選擇待糾正圖像,回車,選擇輸入前數(shù)據(jù)文件名,選擇輸入糾正后數(shù)據(jù)文件名,保存。圖形與坐標(biāo)數(shù)據(jù)文件均改為已知坐標(biāo)系下。利用CASS軟件本身的這些功能,省去了其他軟件解決坐標(biāo)轉(zhuǎn)換時平移旋轉(zhuǎn)的繁瑣過程,坐標(biāo)改正變得輕松自如。
4 結(jié)語
全野外數(shù)字化測圖的核心是測圖軟件系統(tǒng),但由于目前數(shù)字化成圖軟件在國內(nèi)發(fā)展迅猛,現(xiàn)流行的測圖軟件系統(tǒng)多由專業(yè)公司開發(fā),它們都能滿足一般的全野外數(shù)字化成圖的要求。但它們的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)組織有很大差別。由于多家公司開發(fā)研制,軟件各有側(cè)重,各有所長,難于做到彼此的完全兼容,形成了百家爭鳴、各自為政的局面,國家也沒有明確規(guī)定數(shù)字化成圖軟件的格式。
本文通過對CASS軟件的認(rèn)識和改進(jìn),解決了實際生產(chǎn)中數(shù)據(jù)格式轉(zhuǎn)換盒坐標(biāo)轉(zhuǎn)換的問題,提高了工作效率。
參考文獻(xiàn)
[1] 劉述春.數(shù)字化測繪在地籍測量中的應(yīng)用[J].科技資訊,2008(21).
[2] 姜法明.數(shù)字化測繪技術(shù)在城鎮(zhèn)地籍測量中的應(yīng)用[J].資源與產(chǎn)業(yè),2007(3).
[3] 王琪.數(shù)字化測繪在地籍測量中的應(yīng)用[J].青海國土經(jīng)略,2007(4).