吳遠忠
(福建省國土測繪院,福建 廈門 361012)
在福建省某市近80 km21∶500的大比例尺數(shù)字化地形圖測量任務(wù)中,由于該市剛好位于國家3°帶的邊緣位置,地理位置經(jīng)度在119°附近。該市以往的工程測量為防止變形過大和測量資料實地方便利用都采取中央子午線為119°。這就和國家的標準3°帶不統(tǒng)一,屬于獨立坐標系。提交給省里的是按國家3°帶的測量成果,而地方國土局需要的是變形比較小的獨立坐標系成果。數(shù)字化地形圖在經(jīng)過換帶到國家3°帶后所有的高程點和控制點由于軟件原因其所對應(yīng)的高程Z值這一塊屬性都變成了0。這個圖如果不處理,將在以后的使用過程會出現(xiàn)明顯的偏差,如縮編后所有的高程值圖面都顯示0值,不能計算土方量,不能做一些斷面圖等一切和高程值有關(guān)系的操作。如何高精度地保證在CASS繪圖軟件下?lián)Q帶后的高程點和控制點代表高程屬性的Z值不丟失,且能保持高程點,控制點注記位置換帶前已經(jīng)整飾好的狀態(tài),將是本文研究的內(nèi)容。由于高程點和控制點處理步驟基本相同,本文將重點就高程點Z值匹配簡介如下。
80 km2的數(shù)字化地形圖主要是通過兩種方式獲得,第一種:由于之前的發(fā)展需要,本測區(qū)已經(jīng)測量過差不多20%左右的零散數(shù)字化地形測量任務(wù),坐標系統(tǒng)中央子午線為119°。為了節(jié)約成本,這部分主要采取的是套用老圖,再外業(yè)巡視對其中變化大的地方進行修補測繪處理。第二種:對以往沒有進行過測繪的區(qū)域投入作業(yè)人員利用全站儀進行全野外數(shù)字化地形圖測繪。
(1)新測地形圖部分
根據(jù)大比例尺數(shù)字化地形圖規(guī)范在CASS成圖軟件中如果比例尺是1∶500則圖面高程文字注記將保留到小數(shù)點后2位,1∶1 000則圖面高程點保留位數(shù)為1位,但是高程點對應(yīng)的內(nèi)部Z值還是外業(yè)操作時儀器所設(shè)置的位數(shù),一般為小數(shù)點后3位。在圖形經(jīng)過換帶后,高程點點位對應(yīng)的特性表中的Z值變成了0。如何將這個Z值恢復(fù)到采點時候的真實值,也就是換帶前的值。有三種方法可以采用。
第一種:換帶前,將高程點輸出到文件,高程點文件進行換帶。將圖形換帶,把換帶后圖形中的高程點刪除掉,然后將換帶后高程點文件導(dǎo)入到圖形中。
第二種:將圖形換帶后利用CASS中自帶的命令“根據(jù)高程點圖面注記”修改高程值,使得高程點對應(yīng)的點位的Z值不為0。
第三種:將換帶前的高程值輸出到文件并換帶,再將圖形換帶,然后利用程序使高程文件和圖形中對應(yīng)高程點位圖元進行匹配。
這三種方法比較:第一種方法雖然可以完整保持高程點原屬性,但高程點重新導(dǎo)入后壓蓋圖面的現(xiàn)象需重新處理,對80 km2的總圖和90幾個街坊圖的圖面美觀處理是需要大量時間。拖動幾千萬個高程點這樣大的工作量如果3個人,少則需要差不多一個月的時間,耗時耗力。第二種方法是在不改變圖面注記的情況下來處理,這種方法雖然可以省去圖面高程點注記壓蓋處理的工作量,但卻存在不可忽視的弊端。①高程點的高程值屬性精度有損失,這種方法主要是靠高程點位和其對應(yīng)的注記文字的編組關(guān)系來恢復(fù)其屬性值,所以恢復(fù)的程度和圖面高程注記的位數(shù)有關(guān)系,1∶500的圖只能恢復(fù)到小數(shù)點后2位。1∶1 000的圖只能恢復(fù)到小數(shù)點后1位。相對于外業(yè)測量采點和換帶前圖形的高程點精度損失有點大。如果該圖用于以后對高程點精度要求嚴格的操作則會有不容忽視的影響。②這種方法主要是利用高程點點位和其對應(yīng)注記的編組關(guān)系來實現(xiàn),如果文字注記和其對應(yīng)點位編組關(guān)系丟失(如很多老圖),則利用該命令不能恢復(fù)高程值。第三種方法則彌補了前兩種方法的缺點,該方法主要是利用高程點文件進行匹配,所以:①不會對原圖面高程注記產(chǎn)生任何移動現(xiàn)象,原封不動地利用了原圖的圖面高程注記文字的整飾效果。②不會損失高程點的高程值位數(shù)精度,保證了換帶后高程點內(nèi)部屬性和原采點精度的統(tǒng)一。③和高程與其對應(yīng)注記文字注記是否編組沒關(guān)系,只要換帶前的圖形中高程點點位的內(nèi)部屬性Z值非異常即可。由此可見第三種方法是一種比較理想的處理方法。
(2)直接套用老圖部分:
由于繪圖軟件,繪圖方式和現(xiàn)在有所不同,在圖形轉(zhuǎn)換到CASS后導(dǎo)致圖形中高程點和控制點點位對應(yīng)的Z值屬性都是0,高程點點位和注記的也沒有編組關(guān)系。經(jīng)過業(yè)主方的認可,這部分單獨處理,根據(jù)其對應(yīng)的文字注記對其Z值進行恢復(fù),高程點Z值精度和圖面注記的位數(shù)有很大關(guān)系,相對于新測部分高程點精度下降了一個等級。對于這一部分高程點處理可以基于以下思路:由于地形圖圖面整飾,每個高程點注記不一定和其對應(yīng)點位的相對位置關(guān)系一成不變。所以在處理過程中需要提取高程點點位的坐標,然后以此坐標為基點,在一定的框選范圍內(nèi)搜索其內(nèi)的注記文字,如果搜索到一個文字則將該文字的內(nèi)容賦值給點位對應(yīng)的Z值屬性,更新圖元;如果沒搜索到或者搜到到2個及以上則該高程不予處理,分色顯示等待手工處理。在這個處理過程中最主要的一個問題就是搜索范圍的選擇,如果選擇不合適則可能導(dǎo)致點位和文字注記的匹配混亂?;谶@樣的考慮,可以縱觀全圖選擇一個合適的尺寸,這個尺寸要保證處理過的高程點100%的正確性。按照規(guī)范1∶500地形圖圖面高程點的整飾要求,一般只要框選尺寸合理,不會造成點位和文字注記的匹配混亂現(xiàn)象。
由于圖形都是在CASS中進行處理的,這個時候我們就需要借助LISP程序來進行程序開發(fā)處理,所以需要了解處理對象對應(yīng)的CASS內(nèi)部編碼組;
高程點位對應(yīng)的內(nèi)部編碼組:
上面高程點的內(nèi)部編碼組屬性表中518143.0 2.86927e+006這兩個數(shù)值代表的就是高程點點位對應(yīng)的平面坐標值,509.2025就是此高程點實際的高程值也就是存儲在該點特性表Z值中對應(yīng)的數(shù)值。
高程文字注記對應(yīng)的內(nèi)部編碼組:
上面內(nèi)部編碼組屬性表中的(1."509.20"),其中509.20為其文字注記對應(yīng)的屬性值,518143.0 2.86927e+006這兩個數(shù)值代表的是文字注記的左下角平面坐標值。
(1)新測地形圖
由于此程序和高程點對應(yīng)的點圖元有關(guān)系,主要是提取高程點對應(yīng)點位的屬性值,和注記沒關(guān)系。這就要求我們必須保證未轉(zhuǎn)換前的圖的高程點位內(nèi)部屬性的正確完整性,也就是要求點位對應(yīng)Z值的正確性。在數(shù)字化地形圖繪制過程中,由于捕捉,移動等操作經(jīng)常會導(dǎo)致高程點對應(yīng)的Z值是0或者負值的現(xiàn)象發(fā)生,而這種現(xiàn)象不會體現(xiàn)在其對應(yīng)的注記上,比較難以發(fā)現(xiàn)。為了避免這種情況,只有在處理前通過編寫程序gcjc.lsp,使得Z值為0的高程分色分層顯示,然后對應(yīng)的去修改其屬性值。
通過2.2中高程點點位內(nèi)部編碼組,由于其中的“(0."INSERT")(8."高程注記層")(2."GC200")“這幾個組合條件可以唯一代表一個高程點點位,我們在這個條件下通過編寫程序在整個總圖中檢索所有高程點的Z值,如果有異常值,則將該高程點點位分色分層顯示,并標記以錯誤標記,便于錯誤整改。
(2)套用老圖部分
這部分圖需要對圖形文件進行檢查,保證整個圖面高程點點位屬性正確,高程點文字注記高度無異常等。
為了保證移動或者換帶后高程點的內(nèi)部屬性不丟失,保證其最重要的表示高程值的Z值不發(fā)生變化,基于2.2中高程點對應(yīng)的屬性編碼組,可以基于這樣思路,只要能夠獲得一個高程點點位未改變以前的Z值,然后再替換其轉(zhuǎn)換后對應(yīng)的Z值編碼組,最后對其圖元進行更新就可以了。基于上邊的思路可以通過下列方法進行實現(xiàn)。
(1)新測地形圖
①在數(shù)字化地形圖未移動或者換帶前,先將數(shù)字化地形圖導(dǎo)入到CASS軟件中,利用2.2中編寫的程序生成一個高程點DAT文件,這個文件中保存著圖面高程點信息,包括每個高程點的序號,平面坐標,高程值。如圖1所示。
圖1 高程點數(shù)據(jù)文件
②接下來要做的就是利用CASS軟件中數(shù)據(jù)菜單中的換帶命令將剛才生成的高程點數(shù)據(jù)文件進行換帶。再用同樣的方法將地形圖進行換帶。選中控制點對應(yīng)的點位顯示特性發(fā)現(xiàn)其中的Z值變成了0,如圖2所示。
圖2 高程點點位特性表
最后以換帶后的高程點數(shù)據(jù)文件和數(shù)字化地形圖為基礎(chǔ),利用編寫好的xcgcd.lsp程序從高程點數(shù)據(jù)文件的第一行開始,提取其平面坐標、高程值。然后利用此平面值在CASS圖面內(nèi)以一定的容差范圍內(nèi)進行搜索。搜索到匹配的高程點點位后,利用文件中的高程值替換高程點點位對應(yīng)的編碼組中的高程部分。然后更新此高程點,即可完成Z值的匹配工作。
(2)套用老圖部分
①高程點點位和其對應(yīng)的文字注記相對關(guān)系
圖3 高程點點位和其對應(yīng)注記
如上圖所示經(jīng)過圖面整飾后圖形高程點點位和其對應(yīng)注記相對位置關(guān)系非一成不變。由于通過LISP的ssget命令進行框選文字,只要該文字的左下角坐標在框選的范圍即可選中該文字。由此可見框選范圍的選擇和點位位置以及注記文字的左下角坐標有很大關(guān)系。
②關(guān)于框選范圍的確定,可以縱觀全圖取一個比較合理的范圍。如圖3所示的注記和點位的相對關(guān)系,可以看出當(dāng)注記位于點位的左上角,左下角的時候點位和注記的左下角相對距離最遠。所以框選范圍的左下角,左上角坐標可以參照注記位于點位左下角和左上角時候其對應(yīng)的文字左下角坐標,右上角坐標的確定可以縱觀總圖從高程點點位向右偏移一定距離。主要是要綜合全圖考慮,選擇一個最佳的框選范圍尺寸。
③在框選范圍確定了以后,可以編制程序ttgcd.lsp對套圖部分整個圖面中的高程點進行處理。在處理過程中,對于處理過的高程點程序會自動將其剪切到GCD層,如果搜索框內(nèi)出現(xiàn)兩個及以上的文字注記或者搜索不到文字則不做處理,保留在原層。
④處理完畢后關(guān)掉GCD層,圖面上剩下零散的幾個高程點及注記的就是程序沒辦法處理掉的,這些高程點可以通過手工進行手動處理。
把總圖高程點分新測地形圖和套用老圖部分來進行處理。對于分開的兩部分高程點按3.1中的要求進行基礎(chǔ)圖件的檢查和整理。
利用CASS軟件“工程應(yīng)用”菜單下的“高程點生成數(shù)據(jù)文件”命令對圖面的高程點生成對應(yīng)的高程點數(shù)據(jù)文件。對生成的文件利用CASS中的“數(shù)據(jù)”菜單下的“坐標換帶功能”對高程點數(shù)據(jù)文件進行換帶處理。
逐個對新測部分和套圖部分的總圖,街坊圖利用CASS中的“坐標換帶”功能對圖形進行換帶處理。
對于新測圖形Z值匹配:
在CASS中加載xcgcd.lsp程序,程序會提示選擇圖形對應(yīng)的高程點坐標文件,選擇其對應(yīng)的數(shù)據(jù)文件后程序會自動從文件的第一行開始在一定的容差范圍內(nèi)對圖面進行搜索,搜索到匹配的高程點圖元后對其內(nèi)部編碼組中的Z值部分進行修改,然后更新圖元達到點位Z值的恢復(fù)。
對于套圖圖形Z值匹配:
縱觀全圖確定一個相對于高程點點位的框選范圍,利用ttgcd.lsp對整個圖進行處理。剩余零星的高程點由于缺少注記或者注記點位置太過特殊程序無法自動處理則需要進行手動逐個處理。本次15 km2的老圖高程點利用程序處理后,剩下不到30個點由于沒有注記或者點位和其對應(yīng)文字注記位置太過懸殊需要進行手動處理。由此可見處理效果很好。
利用編寫好的gcjc.lsp程序?qū)μ幚砗蟮母叱厅c進行一次全面檢查,確保結(jié)果萬無一失。
把處理后的新測圖的高程點和套合圖高程點進行合并和圖層整合。
控制點的處理主要包括圖根點、GPS點的處理,處理方法和高程點處理步驟和方法基本一致。需要注意的問題主要是:①套圖部分控制點處理的時候框選范圍要根據(jù)控制點高程注記的位置進行設(shè)置。②處理之前高程點需要和控制點分離進行單獨處理,防止和誤用高程點對應(yīng)的注記。
通過以上步驟既檢查了原圖的高程點異常值情況,又可以在保證高程點精度的前提下輕松地對總圖和街坊圖中幾千萬個高程點進行處理,免去了高程點注記一個個拖動修飾圖面的繁瑣工作。
[1]黎新懿,趙景亮.Visual LISP開發(fā)AutoCAD 2004應(yīng)用程序[M].北京:科學(xué)出版社,2003.
[2]周明.Visual LISP程序設(shè)計及其應(yīng)用教程[M].上海:上??茖W(xué)技術(shù)文獻出版社,2008.
[3]蔣輝,潘慶林,劉三枝.數(shù)字化測圖技術(shù)及應(yīng)用[M].北京:國防工業(yè)出版社,2006.
[4]中國國家標準化管理委員會發(fā)布.國家基本比例尺地圖編繪規(guī)范[S].2008.
[5]FCB001-2005.福建省1∶500 1∶1000 1∶2000基本比例尺數(shù)字地形圖測繪技術(shù)規(guī)定[S].