楊 雪
(1.廣東省公路勘察規(guī)劃設(shè)計(jì)院股份有限公司,廣東 廣州 510507)
精密三角高程測(cè)量野外記錄程序開(kāi)發(fā)
楊 雪1
(1.廣東省公路勘察規(guī)劃設(shè)計(jì)院股份有限公司,廣東 廣州 510507)
使用C#語(yǔ)言對(duì)WINCE系統(tǒng)平臺(tái)的掌上電腦進(jìn)行野外觀測(cè)記錄與程序編寫(xiě)。介紹了程序思路,實(shí)現(xiàn)了測(cè)量記錄的要求。
C#;WINCE;掌上電腦;二次開(kāi)發(fā);精密三角高程測(cè)量
根據(jù)潘正風(fēng)提出的全站儀精密三角高程測(cè)量原理,觀測(cè)方法如圖1所示。筆者在PDA上設(shè)計(jì)了精密三角高程測(cè)量野外采集程序,程序界面布置及功能如圖2所示。
圖1 對(duì)向觀測(cè)順序示意圖
每條測(cè)邊需要測(cè)量一次平距用于計(jì)算本測(cè)段限差與需要滿(mǎn)足限差要求的測(cè)回?cái)?shù)目。每半測(cè)回分別觀測(cè)記錄對(duì)面高低棱鏡的斜距、天頂距、高差,一個(gè)測(cè)回結(jié)束后“保存”,重復(fù)觀測(cè)幾個(gè)測(cè)回后進(jìn)行“重新通過(guò)”計(jì)算。重新通過(guò)用于計(jì)算各項(xiàng)指標(biāo)是否超限。以下介紹二等、三等觀測(cè)的限差要求:
圖2 精密三角高程測(cè)量程序功能布置圖
二等觀測(cè)限差:各測(cè)回垂直角和指標(biāo)差不超過(guò) 5",距離不超過(guò) 3 mm。雙棱鏡觀測(cè)時(shí)按高低棱鏡觀測(cè)值分別計(jì)算高差,不符值不超出±4mm,并要在測(cè)站上檢核高低棱鏡觀測(cè)高差之差。
三等觀測(cè)限差:各測(cè)回垂直角和指標(biāo)差不超過(guò) 6",距離不超過(guò) 5 mm。雙棱鏡觀測(cè)時(shí)按高低棱鏡觀測(cè)值分別計(jì)算高差,不符值不超出±12mm(L為測(cè)量線路長(zhǎng),單位: km),并要在測(cè)站上檢核高低棱鏡觀測(cè)高差之差。
觀測(cè)數(shù)據(jù)的解算流程如圖3所示。
圖3 觀測(cè)數(shù)據(jù)解算流程圖
程序開(kāi)發(fā)平臺(tái)為Microsoft Visual Studio 2005(簡(jiǎn)稱(chēng)VS2005),運(yùn)用VS2005的設(shè)備模擬器對(duì)編寫(xiě)的程序進(jìn)行PDA(掌上電腦)上的調(diào)試。程序大致劃分為主界面、創(chuàng)建項(xiàng)目界面、測(cè)段信息設(shè)置界面、數(shù)據(jù)觀測(cè)界面幾個(gè)部分。主要功能函數(shù)語(yǔ)句如下:
1)主界面。
public partial class FormMain : Form
{
public FormMain()…
private void menuItem1_Click(object sender, EventArgs e)…//調(diào)出創(chuàng)建項(xiàng)目窗體
private void menuItem2_Click(object sender, EventArgs e)…//打開(kāi)項(xiàng)目,調(diào)出測(cè)段信息設(shè)置窗體
}
2)創(chuàng)建項(xiàng)目。
public partial class FormCreatpro : Form
{
public FormCreatpro()…
private void ButtonSave_Click(object sender, EventArgs e)…//保存創(chuàng)建的項(xiàng)目
3)測(cè)段信息設(shè)置。
public partial class FormCreatstage : Form
{
public FormCreatstage()…
public TextBox TextBoxlist(int index)…//設(shè)置文本框數(shù)組,寫(xiě)入數(shù)據(jù)文件時(shí)用
private void ButtonSave_Click(object sender, EventArgs e)…//保存新測(cè)段的信息
private void ButtonOpen_Click(object sender, EventArgs e)…//讀取已有測(cè)段文件
private void change_Click(object sender, EventArgs e)…//修改末點(diǎn)名稱(chēng)
private void menuItem2_Click(object sender, EventArgs e)…//起末點(diǎn)觀測(cè)菜單項(xiàng),讀取測(cè)段信息,并調(diào)用起末點(diǎn)觀測(cè)界面
private void menuItem3_Click(object sender, EventArgs e)…//對(duì)邊觀測(cè)菜單項(xiàng),讀取測(cè)段信息,并調(diào)用對(duì)邊觀測(cè)界面
private void menuItem4_Click(object sender, EventArgs e)…//聯(lián)測(cè)點(diǎn)觀測(cè)菜單項(xiàng),讀取測(cè)段信息,并調(diào)用聯(lián)測(cè)點(diǎn)觀測(cè)界面
private void menuItem5_Click(object sender, EventArgs e)…//限差菜單項(xiàng),可以選擇設(shè)置觀測(cè)限差值
private void menuItem6_Click(object sender, EventArgs e)…//查看觀測(cè)菜單項(xiàng),可以查看已經(jīng)觀測(cè)完畢的數(shù)據(jù)。
4)觀測(cè)數(shù)據(jù)。
數(shù)據(jù)觀測(cè)中的對(duì)邊觀測(cè),起末點(diǎn)與聯(lián)測(cè)點(diǎn)觀測(cè)與對(duì)邊觀測(cè)數(shù)據(jù)解算思路基本相同。以對(duì)邊觀測(cè)為例。
public partial class FormFace : Form
{
public FormFace()…
public double constant;
private int conB;
private int conX;
private int conV;
private int conD;//定義各項(xiàng)限差變量
private void button1_Click(object sender, EventArgs e)…//預(yù)檢第一組觀測(cè)數(shù)據(jù)符合限差情況
private void button2_Click(object sender, EventArgs e)…//預(yù)檢第二組觀測(cè)數(shù)據(jù)符合限差情況
private void button3_Click(object sender, EventArgs e)…//第三次計(jì)算檢查符合限差保存到caltemp文件中,不符不保存,結(jié)果顯示到文本框。
private void button4_Click(object sender, EventArgs e)…//重新通過(guò),循環(huán)計(jì)算相應(yīng)等級(jí)滿(mǎn)足限差測(cè)回?cái)?shù)目是否充足,結(jié)果顯示到文本框。
在江門(mén)市江順大橋工程項(xiàng)目中進(jìn)行試驗(yàn),程序主要功能界面如圖4、圖5、圖6所示。
圖4 測(cè)段記錄設(shè)置示意圖
圖4中的觀測(cè)菜單中包含起末點(diǎn)觀測(cè)、對(duì)邊觀測(cè)、聯(lián)測(cè)點(diǎn)觀測(cè)3個(gè)功能選項(xiàng),進(jìn)入即可進(jìn)入數(shù)據(jù)記錄模式。由于測(cè)量過(guò)程每個(gè)測(cè)段需要連貫進(jìn)行,“修改”按鈕用于測(cè)量途中某測(cè)段需要支點(diǎn)或末點(diǎn)名有變時(shí)使用。
圖5 起末點(diǎn)觀測(cè)示意圖
圖6 對(duì)邊觀測(cè)示意圖
每測(cè)回記錄數(shù)據(jù)以后均進(jìn)行了實(shí)時(shí)檢查,生成結(jié)果在下面的文本框?qū)崟r(shí)顯示;設(shè)置了數(shù)字鍵盤(pán),觸及界面上的文本框時(shí)會(huì)自動(dòng)彈出,方便錄入數(shù)字信息;上部狀態(tài)欄顯示工作路徑信息;錄入一組數(shù)據(jù)進(jìn)行保存時(shí)會(huì)自動(dòng)計(jì)算提示是否符合限差;“重新通過(guò)”可以自動(dòng)計(jì)算出觀測(cè)的測(cè)回?cái)?shù)目是否符合要求。
觀測(cè)記錄的數(shù)據(jù)以txt文本格式存在PDA中,格式如下所示。
等級(jí)二等
測(cè)段號(hào)JS1
起點(diǎn)名1
末點(diǎn)名2
對(duì)鏡常數(shù)0.113
起點(diǎn)盤(pán)左1測(cè)回斜距22.235 6天頂距90.448 8
起點(diǎn)盤(pán)右1測(cè)回斜距22.235 9天頂距269.545 2
指標(biāo)差-10.807 800 292 968 8垂直角-0.451 801 300 048 828 平距22.235 058 89
起點(diǎn)盤(pán)左2測(cè)回斜距22.235 7天頂距90.451
起點(diǎn)盤(pán)右2測(cè)回斜距22.235 7天頂距269.545
指標(biāo)差-7.182 312 011 718 75 垂直角-0.452 991 485 595 703 平距22.235 005 66
精密三角高程測(cè)量記錄與測(cè)算應(yīng)用程序不僅可以應(yīng)用于掌上電腦,所有WINCE系統(tǒng)平臺(tái)或Windows系統(tǒng)平臺(tái)的操作系統(tǒng)均可以安裝使用。經(jīng)過(guò)野外實(shí)際應(yīng)用,比起手動(dòng)記錄數(shù)據(jù),用計(jì)算器計(jì)算各項(xiàng)限差否符情況而言,該數(shù)據(jù)記錄與解算程序自動(dòng)化程度和工作效率大大提高,能夠滿(mǎn)足野外實(shí)時(shí)測(cè)量計(jì)算觀測(cè)數(shù)據(jù)的要求。
[1] 韓軍生,顧和和. 短視距精密三角高程測(cè)量代替二等水準(zhǔn)的探討[J] .地理空間信息,2011,9(6):141-143
[2] 潘正風(fēng),程校軍,成樞,等.?dāng)?shù)字測(cè)圖原理與方法[M]. 武漢:武漢大學(xué)出版社,2009
[3] JTG/T C10-2007.公路勘測(cè)細(xì)則[S].
[4] Watson K,Nagel C.C#入門(mén)經(jīng)典(第三版)[M].北京:清華大學(xué)出版社,2006
[5] 張艷,高飛,李曉莉.應(yīng)用精密三角高程測(cè)量實(shí)現(xiàn)跨河水準(zhǔn)的研究[J].合肥工業(yè)大學(xué)學(xué)報(bào),2007,30(10):1 345-1 348
[6] 張正祿.工程測(cè)量學(xué)[M].武漢:武漢大學(xué)出版社,2004
P221.1
B
1672-4623(2014)05-0142-02
10.3969/j.issn.1672-4623.2014.05.052
楊雪,碩士,工程師,主要從事工程測(cè)量與航測(cè)內(nèi)業(yè)工作。
2014-03-17。