周嵩山,李紅波,夏淑芳,楊曉明
(1.江西省基礎地理信息中心,江西 南昌 330046;2.昆明理工大學 建筑工程學院,云南 昆明 650093;3.云南師范大學 旅游與地理科學學院,云南 昆明 650092)
隨著航天航空技術、計算機技術、網絡技術及通信技術的快速發展,測繪成果不斷取得突破性進展[1]。因此,工作效率在測繪行業中顯得極為重要。對于如何快速、高效地進行數字化成圖各位學者提出了不同的方法[2-3],目前,內業成圖軟件主要有清華山維公司與清華大學土木系聯合開發的測霸EPSW、武漢瑞得測繪自動化公司的RDMS系列及廣州南方測繪儀器公司的CASS系列。其中南方公司的CASS系列使用最為廣泛。因此,本文結合CASS成圖系統提出一種簡單、實用、高效的測圖方法——簡碼法。該方法減少了大量的內業工作量及測量成本,大大提高工作效率。
所謂簡碼法[4]就是指在野外將采集的地物點坐標數據附加屬性簡碼,內業處理軟件根據簡碼與成圖軟件內部編碼對照文件,將外業采集的數據轉換為成圖軟件能夠識別的圖形數據文件,從而實現“外業直接成圖”,減輕了測繪工作者勞動強度,提高工作效率及成圖質量。
在實際測圖中,測繪工作者可以采用CASS系統提供的編碼法進行測圖,內業實現自動成圖,但在外業測量中,每測一個地物點都須輸入6位數字編碼或2~3位的地物編碼[5],這些工作將導致外業數據采集速度極慢,并且每測一地物要輸入與其對應的編碼,如不小心輸錯編碼將導致內業成圖出錯,因此該方法在實際測量中不太現實。本文提出的簡碼法很好地解決了這個問題,簡碼法要求將野外所需測的地物點使用簡單且易于記憶的簡碼對其附值,具體做法是采用地物點的每個字拼音的第一個字母,如“路燈”對應的簡碼為“LD”、“旗桿”對應的簡碼為“QG”,“陡坎”對應的簡碼為“DK”等,為了使野外測量簡碼輸入更為簡便,本文中的簡碼一般設置成2~3位盡量不超過3位,如“內部道路”對應的簡碼為“NBL”、“加固斜坡”對應的簡碼為“GXP”等。對于極不常見的地物本文提倡使用萬能簡碼“*”表示[6],并記下該點為何地物,然后內業進行相應繪圖處理。
簡碼法測圖工作流程如圖1所示。

圖1 簡碼法測圖工作流程
在進行野外測量時,測量員最好隨身攜帶一份簡碼表,以防在測量過程中對某些地物的簡碼忘記或者記錯,而導致內業自動成圖出錯,這種錯誤一般是很難發現的。具體的野外數據采集方法為對于點狀地物,在測量時只要輸入其相應簡碼即行,對于線、面狀地物,在測第一點時輸入其相應簡碼,如下一點還是該線、面狀地物,則輸入連接碼“+”即可,如果第三點不是該線、面狀地物而第四點又是該線、面狀地物,則應輸入“2+”,具體野外操作碼原則[7-9]如表1所示。

表1 描述連接關系的符號及含義
在進行野外數據采集后,就應該對其進行轉換。要在CASS成圖系統中實現自動成圖,必須將所采集的數據的簡碼轉換成CASS系統默認的編碼,對應關系如表2所示。本文基于C#語言編程實現,程序主要包括數據輸入、數據轉換及數據輸出3部分,其中進行數據轉換的具體思路是先對需測量地物點所設置的簡碼與CASS系統里的編碼進行匹配,建立一個簡碼與編碼一一對應的數據庫,然后利用程序調用野外所測得的*.dat文件,通過建立的數據庫將簡碼轉換成其對應的CASS系統默認的編碼,最后將轉換后的*.dat文件輸出,如“路燈”的外業測量簡碼是“LD”,轉換后其編碼是“A70”,“旗桿”的外業測量簡碼是“QG”,轉換后其編碼是“L66”等等。其軟件的操作界面如圖2所示,轉換前后的數據對比如圖3所示。數據轉換的主要參考代碼如下:

圖2 野外數據轉換軟件

圖3 數據轉換前后對比

表2 本文設置的簡碼與CASS系統編碼對照表
string[]cells=new string[codecell.Length];//定義一個數組,存儲之后分解的數據
int aerryvalue=codecell[1].Split(‘,’).Length;
OleDbConnection con=new OleDbConnection(myConn);
MessageBox.Show(“代碼對照數據庫打開失敗!”);
}
for(int i=0;i<codecell.Length;i++)
{
cells[i]=codecell[i].ToString().Split(‘,’)[1];
}
for(int j=0;j<cells.Length;j++)
{
if(cells[j]==“+”)
{
cells[j]=“+”;
}
else
{
commandsql=“SELECT*FROM code2code WHERE EasyCode LIKE”“+cells[j]+”“;”;
OleDbCommand comm=new OleDbCommand(commandsql,con);
OleDbDataReader reader=comm.ExecuteReader();
while(reader.Read())
{
cells[j]=reader[2].ToString();
}
reader.Close();
}
}
con.Close();
string[,]begincode=new string[codecell.Length,aerryvalue];//定義一個二維數組存儲轉碼后的數據
for(int i=0;i<codecell.Length;i++)
{
for(int h=0;h<aerryvalue;h++)
{
string[]test1=codecell[i].ToString().Split(‘,’);
begincode[i,h]=test1[h].To-String();
if(h==1)
{
begincode[i,h]=cells[i];
}
}
}
本文對昆明理工大學校園進行了1∶500大比例尺簡碼法數字化測圖,具體儀器設備有:南方全站儀1臺、棱鏡1個、筆記本1臺(用于內業成圖)、簡碼表一份以及一些相關設備,人員只需要觀測員1名、立尺員1名兩名即可。根據簡碼法野外數據采集的原理及步驟,將所采集的數據文件設為KG.dat,通過作者開發的野外數據轉換軟件(其界面如圖2所示)轉換后的數據文件設為KGZ.dat(其轉換前與轉換后的數據對比如圖3所示),在計算機中運行南方CASS7.0成圖軟件,將轉換后的數據導入到軟件中開始進行內業成圖,具體操作只需要兩步即可,即先進行[繪圖處理]命令下的[編碼引導]再進行[簡碼識別]兩步即可完成內業自動成圖。圖4是運用簡碼法數字化測圖實現內業自動成圖的部分校園地形圖。

圖4 部分校園地形圖
簡碼法數字化測圖是一種全自動成圖方法,減少了大量的內業工作量并避免了一些人為出錯因素,大大提高了成圖質量。同時在外業測量中,由于所設置的簡碼簡單且易于記憶,因此提高了外業數據采集速度。另外,利用簡碼法測圖可以由原來的3個人一組減至為2個人一組,因此測量成本大大降低。但其缺點為在觀測員看不到立尺員的情況下,立尺員必須時刻與觀測員保持聯系,告訴觀測員所測地物以便觀測員及時更換簡碼,另外在野外如有簡碼增補,內業處理數據之前要打開簡碼對照文件作相應的增補[10]。再者在外業測圖中如果某一地物簡碼輸入錯誤,內業自動成圖時也將出錯,并且這種錯誤不容易發現。
簡碼法測圖是一種簡單、實用、高效的測圖方法,很大程度上提高了測繪工作效率,并且該方法彌補了其他測圖方法的不足。在多次大比例尺野外測圖實踐中,該方法都取得較好的效果。若采用RTK快速動態測量采集碎部測量點,簡碼同樣可以使用,在電子手簿上輸入非常方便[11]。因此,該方法值得在測繪行業中推廣。
[1]國家測繪局.測繪科技發展“十二五”規劃(征求意見稿),2010.
[2]倪少華.大比例尺數字化測圖的新方法——草圖編碼法[J].城市勘測,2006(2):58-61.
[3]王學春,尚繼宏.一種新型數據編碼方案——簡拼編碼法[J].測繪科學,2009,34(4):218-221.
[4]安立新.簡碼測圖在測量中的應用[J].礦山測量,2004(3):47-48.
[5]史長鰲,劉秀格.大比例尺數字化測繪新方法——簡碼法[J].測繪通報,2003(8):64-65.
[6]聶宗齋,郭立新.簡碼在全野外數字化地形測量中的應用[J].河南水利與南水北調,2009(8):138-140.
[7]潘正風,楊正堯,程效軍,等.數字測圖原理與方法[M].武漢:武漢大學出版社,2005.
[8]南方測繪儀器公司.CASS7.0使用說明書[M].廣州:南方測繪儀器公司,2006.
[9]Joseph Smith Rusty Gesner,著.AutoCAD 12.0定制大全[M].北京:學苑出版社,1994.
[10]姚茂金,和春燕.簡碼法數字化測圖[J].中州煤炭,2005(3):46-47.
[11]張國平,譚校山.一種實用的地面數字化成圖方法——簡別碼法[J].測繪通報,2008(4):29-41.