平面和高程控制測(cè)量實(shí)訓(xùn)總結(jié)
《工程測(cè)量2》實(shí)訓(xùn)總結(jié)
轉(zhuǎn)眼間一周的工程測(cè)量實(shí)訓(xùn)就結(jié)束啦!從這周實(shí)習(xí)的日子中,我從中得到很
多更寶貴的東西:首先,通過(guò)實(shí)習(xí),讓我發(fā)現(xiàn)我在平時(shí)學(xué)習(xí)中存在的很多知識(shí)漏洞。課本上介紹儀器使用的知識(shí)都比較抽象,到了真正實(shí)踐中的時(shí)候,我們未能很好把書(shū)本知識(shí)應(yīng)用到實(shí)踐中,還需要老師再次進(jìn)行指導(dǎo)。在近距離的接觸這些實(shí)物,能我更牢固的掌握相關(guān)的知識(shí)點(diǎn);也能令我提高對(duì)儀器的操作的熟練、精準(zhǔn)程度(比如能夠迅速對(duì)中整平)。
其次,通過(guò)這次實(shí)訓(xùn),有利于培養(yǎng)我做事嚴(yán)謹(jǐn)、認(rèn)真、不畏艱難困苦的作風(fēng)。不論是對(duì)中整平時(shí)的重復(fù)精確瞄準(zhǔn)還是在放樣計(jì)算時(shí)反復(fù)檢驗(yàn)計(jì)算數(shù)據(jù)(以確保放樣時(shí)的原數(shù)據(jù)正確),每個(gè)步驟都盡量做到腳踏實(shí)地、一絲不茍,使誤差盡可能的減小,及時(shí)發(fā)現(xiàn)錯(cuò)誤及時(shí)檢查;不論外界的環(huán)境的惡劣,克服一下就算不了什么;正確面對(duì)困難,學(xué)會(huì)靜下來(lái)耐心的思考分析問(wèn)題,能夠獨(dú)立借助書(shū)本找出解決途徑。做事要又負(fù)責(zé)的態(tài)度,若因?yàn)樽约憾斐闪隋e(cuò)誤要主動(dòng)承擔(dān)并積極補(bǔ)救。
第三,通過(guò)實(shí)習(xí)對(duì)培養(yǎng)我們團(tuán)隊(duì)協(xié)作精神有促進(jìn)作用。它增進(jìn)了同學(xué)們之間的交流和團(tuán)結(jié),互幫互補(bǔ),分工合作,共同面對(duì)、解決困難,共同尋求如何更快更好地完成任務(wù)的方法,提高小組工作效率,確保進(jìn)度的完成。
這次測(cè)量?jī)x器的使用和實(shí)地的測(cè)量實(shí)訓(xùn)工作的開(kāi)展,讓我們更直觀(guān)接觸到了土木工程測(cè)量這個(gè)學(xué)科,也為我們今后走上工作崗位后,更好更快地使用儀器、控制測(cè)量發(fā)放奠定了堅(jiān)實(shí)的基礎(chǔ)。大學(xué)生成長(zhǎng),就要勤于實(shí)踐,將所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合一起,在實(shí)踐中繼續(xù)學(xué)習(xí),不斷總結(jié),逐步完善,有所創(chuàng)新,并在實(shí)踐中提高自己由知識(shí)、能力、智慧等因素融合成的綜合素質(zhì)和能力。以后我會(huì)珍惜每次的實(shí)習(xí)機(jī)會(huì),多去挖掘課堂上無(wú)法獲及的東西,為自己事業(yè)的成功打下良好的基礎(chǔ)。
這周的測(cè)量實(shí)習(xí)結(jié)束了,雖然開(kāi)始時(shí)大家都感到好累,儀器有一小點(diǎn)兒的損壞,但看到我們的收獲我們大家還是很高興的。我覺(jué)得自己學(xué)到了很多的東西。對(duì)以前零零碎碎學(xué)的測(cè)量知識(shí)有了綜合應(yīng)用的機(jī)會(huì)。具體實(shí)訓(xùn)內(nèi)容如下:一、每組配備的儀器和工具
全站儀1臺(tái),對(duì)中桿1個(gè),腳架2個(gè),基座1個(gè),棱鏡1個(gè),鋼尺2把。有關(guān)記錄手簿、計(jì)算紙,橡皮及鉛筆等自備。(儀器要好好的保管)二、建立施工平面控制網(wǎng)和高程控制網(wǎng)
在測(cè)區(qū)實(shí)地踏勘,布設(shè)一條三級(jí)閉合導(dǎo)線(xiàn),經(jīng)過(guò)觀(guān)測(cè)、計(jì)算獲得控制點(diǎn)平面坐標(biāo),并在CAD中畫(huà)出閉合導(dǎo)線(xiàn),標(biāo)注每個(gè)控制點(diǎn)的坐標(biāo)。我們組在指定測(cè)區(qū)進(jìn)行踏勘,根據(jù)測(cè)區(qū)范圍及測(cè)圖要求確定布網(wǎng)方案進(jìn)行選點(diǎn)。每個(gè)一百米選一個(gè)點(diǎn),點(diǎn)的個(gè)數(shù)為5個(gè)。所選控制點(diǎn)包括一個(gè)已知點(diǎn)。點(diǎn)位選定之后,我們組立即作好標(biāo)志。然后根據(jù)水平角觀(guān)測(cè)、邊長(zhǎng)測(cè)量的要求進(jìn)行成果整理、平面坐標(biāo)計(jì)算。在踏勘的同時(shí)布設(shè)高程控制網(wǎng),高程控制點(diǎn)可設(shè)在平面控制點(diǎn)上,網(wǎng)內(nèi)應(yīng)包括原有水準(zhǔn)點(diǎn),采用全站儀三角高程測(cè)量的方法進(jìn)行四等水準(zhǔn)測(cè)量。布網(wǎng)形式為閉合路線(xiàn)。在踏勘的同時(shí)布設(shè)高程控制網(wǎng),高程控制點(diǎn)可設(shè)在平面控制點(diǎn)上,網(wǎng)內(nèi)包括原有水準(zhǔn)點(diǎn),采用全站儀三角高程測(cè)量的方法進(jìn)行四等水準(zhǔn)測(cè)量。布網(wǎng)形式為閉合路線(xiàn)。然后根據(jù)四等水準(zhǔn)測(cè)量,用三角高程測(cè)量法進(jìn)行觀(guān)測(cè)的要求進(jìn)行成果整理及高程計(jì)算。三、施工放線(xiàn)
(1)、建筑物定位放線(xiàn):
(1)我們組根據(jù)自己的控制區(qū)域,在CAD中設(shè)計(jì)了一個(gè)正方形建筑物的平面圖;
(2)根據(jù)設(shè)計(jì)的平面圖在地面上進(jìn)行建筑定位放線(xiàn)、軸線(xiàn)測(cè)設(shè)及設(shè)置軸線(xiàn)控制樁(軸線(xiàn)控制樁距軸線(xiàn)的距離為5米左右);
(3)對(duì)所放建筑物平面位置進(jìn)行檢查。其中,建筑物定位時(shí),距離誤差允許為1/5000,角度誤差允許為±30″。軸線(xiàn)測(cè)設(shè)時(shí)相鄰軸線(xiàn)的間距誤差為1/3000。
(4)最后我們組的成員站在放的軸線(xiàn)點(diǎn)上照相。
(2)、圓曲線(xiàn)測(cè)設(shè)
每組在自己的控制區(qū)域設(shè)計(jì)了一條R=50,α=45°的圓曲線(xiàn),用切線(xiàn)支距法在地面上測(cè)設(shè)出該圓曲線(xiàn)。最后小組成員也在點(diǎn)上照了一張圖片。
擴(kuò)展閱讀:平面和高程控制測(cè)量VB程序設(shè)計(jì)報(bào)告
測(cè)繪程序編制實(shí)習(xí)報(bào)告
題目:習(xí)題7.1平面和高程控制網(wǎng)平差
測(cè)繪C101蒲軒106684習(xí)題7.1蒲軒
測(cè)繪C101班
106684
余數(shù)7
17測(cè)繪程序編制實(shí)習(xí)報(bào)告
一、設(shè)計(jì)思路
題目為:平面控制網(wǎng)和高程控制網(wǎng)的平差
1、流程圖
啟動(dòng)軟件選擇控制網(wǎng)默認(rèn)平面控制高程控制網(wǎng)平面控制網(wǎng)返回打開(kāi)高程數(shù)據(jù)點(diǎn)擊“文件”菜單高程計(jì)算輸入數(shù)據(jù)結(jié)果保存是是否保存清除運(yùn)算平面控制網(wǎng)平差計(jì)算否啟動(dòng)CommonDialogControl控件保存結(jié)果清除txtShow保存數(shù)據(jù)
2測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告
2、界面設(shè)計(jì)
上面為開(kāi)始主程序,在該頁(yè)面進(jìn)行高程控制網(wǎng)平差,點(diǎn)擊平面控制啟動(dòng)下面的程序頁(yè)面進(jìn)行平面控制網(wǎng)平差。
2、功能設(shè)計(jì)
通過(guò)菜單實(shí)現(xiàn)程序的各個(gè)功能,通過(guò)菜單啟動(dòng)CommonDialogControl控件輸入txt文檔,讀取txt里面的高程或平面控制網(wǎng)數(shù)據(jù),然后點(diǎn)擊各個(gè)計(jì)算菜單進(jìn)行平差計(jì)算
二、算法及代碼實(shí)現(xiàn)
3測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告
1、Form1代碼:
DimstrFileNameAsString
Dimnn%,un%,tn%,hn%"已知點(diǎn)個(gè)數(shù),未知點(diǎn)個(gè)數(shù),總點(diǎn)數(shù),觀(guān)測(cè)值個(gè)數(shù)
DimPname()AsString"點(diǎn)名數(shù)組
DimHknown()AsDouble"已知高程數(shù)組,存放已知點(diǎn)高程和高程近似值
DimbE%(),en%()"觀(guān)測(cè)值的起點(diǎn)和終點(diǎn)編號(hào)數(shù)組,存儲(chǔ)的是點(diǎn)序號(hào)
Dimh#(),s#()"高差觀(guān)測(cè)值數(shù)組和距離觀(guān)測(cè)值數(shù)組Dima#(),x#(),P#(),L#()"間接平差的系數(shù)陣、解向量、權(quán)陣和常數(shù)向量
"高程平差計(jì)算
PrivateSubmnuAdj_Click()Dimi%,j%
ReDimx(1Toun)
InAdjusta,P,L,x"調(diào)用間接平差的通用過(guò)程求解
"計(jì)算并顯示高程平差結(jié)果
txtShow.Text=txtShow.Text&"平差計(jì)算結(jié)果:"&vbCrLf
txtShow.Text=txtShow.Text&"點(diǎn)號(hào)初始高程(m)高程改正數(shù)(m)平差后高程(m)"&vbCrLfFori=1Toun
txtShow.Text=txtShow.Text&Pname(nn+i)&""&Format(Hknown(nn+i),"0.0000")
Hknown(nn+i)=Hknown(nn+i)+x(i)
txtShow.Text=txtShow.Text&""&Format(x(i),"0.0000")&""&Format(Hknown(nn+i),"0.0000")&vbCrLfNexti
txtShow.Text=txtShow.Text&vbCrLf
"計(jì)算并顯示單位權(quán)中誤差--------->>精度評(píng)定部分應(yīng)該也包含在間接平差模塊里,一起來(lái)調(diào)用"DimdblTAsDouble"dblT=0
"Fori=1Toun"
"NextiEndSub
4測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告
PrivateSubmnuCalc_Click(IndexAsInteger)Form1.Visible=FalsefrmMain.Visible=True
EndSub
"誤差方程
PrivateSubmnuEqu_Click()Dimi%,j%
ReDima(1Tohn,1Toun),L(1Tohn),P(1Tohn,1Tohn)
"對(duì)每個(gè)觀(guān)測(cè)值列誤差方程Fori=1Tohn
Ifen(i)>nnThena(i,en(i)-nn)=1"若終點(diǎn)未知,則給終點(diǎn)對(duì)應(yīng)的系數(shù)矩陣元素賦值
IfbE(i)>nnThena(i,bE(i)-nn)=-1"若起點(diǎn)未知,則給起點(diǎn)對(duì)應(yīng)的系數(shù)矩陣元素賦值
L(i)=-(Hknown(en(i))-Hknown(bE(i))-h(i))"根據(jù)起終點(diǎn)計(jì)算常數(shù)項(xiàng)
P(i,i)=1/s(i)"以距離的倒數(shù)為權(quán)Nexti
"顯示誤差方程
txtShow.Text=txtShow.Text&"列立的誤差方程:"&vbCrLfFori=1TohnForj=1Toun
txtShow.Text=txtShow.Text&a(i,j)&""Nextj
txtShow.Text=txtShow.Text&""&Format(L(i),"0.0000")&vbCrLfNexti
txtShow.Text=txtShow.Text&"權(quán)矩陣:"&vbCrLfFori=1TohnForj=1Tohn
txtShow.Text=txtShow.Text&P(i,j)&""Nextj
txtShow.Text=txtShow.Text&vbCrLfNextiEndSub
PrivateSubmnuHeight_Click()"計(jì)算近似高程
5測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告
Dimi%,j%
Fori=1TounForj=1Tohn
IfbE(j)=nn+iAnden(j) Hknown(nn+i)=Hknown(en(j))-h(j)ExitForEndIf Ifen(j)=nn+iAndbE(j) Hknown(nn+i)=Hknown(bE(j))+h(j)ExitForEndIfNextjNexti "顯示近似高程計(jì)算結(jié)果 txtShow.Text=txtShow.Text&"近似高程計(jì)算結(jié)果:"&vbCrLfFori=1Toun txtShow.Text=txtShow.Text&Pname(i+nn)&":"&Format(Hknown(i+nn),"0.000")&vbCrLfNextiEndSub "打開(kāi)高程文件 PrivateSubmnuHOpen_Click() DimiAsInteger"循環(huán)變量DimstrT1AsString,strT2AsString CDg1.Filter="文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"CDg1.ShowOpen"打開(kāi)對(duì)話(huà)框 strFileName=CDg1.FileName"獲得選中的文件名和路徑 OpenstrFileNameForInputAs#1"打開(kāi)文件 Input#1,nn,un,hn"讀入已知點(diǎn)個(gè)數(shù),未知點(diǎn)個(gè)數(shù),觀(guān)測(cè)值個(gè)數(shù) tn=nn+un ReDimPname(1Totn),Hknown(1Totn) ReDimh(1Tohn),s(1Tohn),bE(1Tohn),en(1Tohn)Fori=1Totn"讀入點(diǎn)名Input#1,Pname(i)Nexti 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 Fori=1Tonn"讀入已知高程Input#1,Hknown(i)Nexti Fori=1Tohn"讀入各觀(guān)測(cè)值Input#1,strT1,strT2,h(i),s(i) bE(i)=Order(strT1):en(i)=Order(strT2)"給起終點(diǎn)數(shù)組排序 Nexti "顯示讀入的數(shù)據(jù) txtShow.Text=txtShow.Text&"讀入的水準(zhǔn)網(wǎng)數(shù)據(jù):"&vbCrLftxtShow.Text=txtShow.Text&"已知點(diǎn)"&nn&"個(gè),未知點(diǎn)"&un&"個(gè),觀(guān)測(cè)值"&hn&"個(gè)。"&vbCrLf txtShow.Text=txtShow.Text&"網(wǎng)中涉及的點(diǎn)名有:"Fori=1Totn txtShow.Text=txtShow.Text&Pname(i)&","Nexti txtShow.Text=txtShow.Text&vbCrLf txtShow.Text=txtShow.Text&"已知點(diǎn)高程為:"&vbCrLfFori=1Tonn txtShow.Text=txtShow.Text&Pname(i)&"的高程為:"&Hknown(i)&vbCrLfNexti txtShow.Text=txtShow.Text&"各觀(guān)測(cè)值分別為:"&vbCrLftxtShow.Text=txtShow.Text&"起點(diǎn)"&""&"終點(diǎn)"&""&"高差觀(guān)測(cè)值"&"距離觀(guān)測(cè)值"&vbCrLfFori=1Tohn txtShow.Text=txtShow.Text&Pname(bE(i))&""&Pname(en(i))&""&Format(h(i),"0.000")&""&Format(s(i),"0.000")&vbCrLfNexti Close#1"不要忘記關(guān)閉文件EndSub "點(diǎn)名-序號(hào)轉(zhuǎn)換函數(shù) PublicFunctionOrder(strAsString)AsIntegerDimi% Fori=1Totn Ifstr=Pname(i)ThenOrder=iExitForEndIfNexti 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 EndFunction "程序退出時(shí)檢查是否已保存結(jié)果 PrivateSubForm_Unload(CancelAsInteger)IftxtShow.Text""ThenDimiMsg% iMsg=MsgBox("是否保存計(jì)算結(jié)果?",vbYesNoCancel,"注意保存!") IfiMsg=vbYesThenmnuSave_ClickIfiMsg=vbCancelThenCancel=TrueEndIfEndSub "保存計(jì)算結(jié)果 PrivateSubmnuSave_Click()DimiMsg%reSave: CDg1.FileName="":CDg1.Filter="TextFiles(*.TXT)|*.txt"CDg1.Action=2 strFileName=CDg1.FileName IfstrFileName=""Then iMsg=MsgBox("請(qǐng)選擇文件名!",vbYesNoCancel,"注意!")IfiMsg=vbYesThenGoToreSave:Else txtShow.Text=""ExitSubEndIfEndIf OpenstrFileNameForOutputAs#1Print#1,txtShow.TextClose#1 txtShow.Text=""EndSub 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 3、frmMain代碼: OptionExplicit ConstPI=3.14159265358979ConstRU=206264.8 DimNet%,nn%,un%,tn%"網(wǎng)的類(lèi)型,已知點(diǎn)個(gè)數(shù),未知點(diǎn)個(gè)數(shù),總點(diǎn)數(shù) DimPname()AsString"點(diǎn)名數(shù)組,大小為tn DimX0#(),Y0#()"已知點(diǎn)坐標(biāo)及未知點(diǎn)近似坐標(biāo),大小為tn Dimx#(),Y#()"已知點(diǎn)坐標(biāo)及未知點(diǎn)平差坐標(biāo),大小為tn DimN500%"記錄Y坐標(biāo)的帶號(hào),讀入數(shù)據(jù)時(shí)減該常數(shù),輸出數(shù)據(jù)時(shí)加 DimNe%,Nd%"邊長(zhǎng)觀(guān)測(cè)值個(gè)數(shù),方向觀(guān)測(cè)值個(gè)數(shù)DimmM#,pP#"邊長(zhǎng)觀(guān)測(cè)值的固定誤差和比例誤差,單位為mm和ppm DimbE%(),eE%(),s#()"邊長(zhǎng)觀(guān)測(cè)值的起點(diǎn)、終點(diǎn)、邊長(zhǎng)DimmD#,Dir0#(),Dir#()"方向中誤差,原始方向數(shù)組和排序后的方向數(shù)組 DimbD0%(),eD0%(),bD%(),eD%()"方向起終點(diǎn)原始數(shù)組和排序后的數(shù)組DimSi%(),Ni%()"統(tǒng)計(jì)總的方向數(shù)和每個(gè)測(cè)站的方向數(shù)Dimaa%(),bb%(),cc%()"近似坐標(biāo)的計(jì)算路線(xiàn),個(gè)數(shù)與未知點(diǎn)個(gè)數(shù)相同 DimPa#(700,9),Pa3#(200,40),W#(400)"誤差方程系數(shù)(壓縮方式存放)和常數(shù)向量DimqL#(700),qLS#(200)"誤差方程權(quán)和虛擬誤差方程的權(quán)DimQ(100,100)AsDouble"協(xié)方差陣,Q=N^(-1)DimuW0#"單位權(quán)中誤差 DimstrFileNameAsString "檢查數(shù)據(jù)并將點(diǎn)名轉(zhuǎn)換為序號(hào) "第一個(gè)參數(shù)是要檢查的點(diǎn)名,第二個(gè)參數(shù)是得到的序號(hào);返回值是錯(cuò)誤號(hào)PublicFunctionChkData(strPAsString,Order%)AsIntegerDimi%,bFoundAsBoolean Order=0 bFound=False Fori=1Totn IfstrP=Pname(i)ThenbFound=TrueOrder=i 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 ChkData=0ExitForEndIfNexti IfNotbFoundThen OpenApp.Path&"\\err.log"ForOutputAs#1Print#1,"未找到的點(diǎn)號(hào):"&strP&vbCrLfClose#1ChkData=1 MsgBox"有未找到的點(diǎn)號(hào)",1,"輸入錯(cuò)誤"EndIfEndFunction "文本框大小隨窗口大小的改變而改變PrivateSubForm_Resize() txtShow.Width=frmMain.Width-330 IffrmMain.Height>1030ThentxtShow.Height=frmMain.Height-1030txtShow.Left=120txtShow.Top=120EndSub "退出程序 PrivateSubmnuExit_Click()EndEndSub "計(jì)算近似坐標(biāo) PrivateSubmnuCalcCoor_Click()Screen.MousePointer=13 Dimi%,j%,k%"循環(huán)變量 IfNet=1Then"按邊長(zhǎng)計(jì)算近似坐標(biāo):使用前方交會(huì)方法DimSa#,Sb#,Sc#,al#,bl#,cl#"三角形邊長(zhǎng)和三個(gè)內(nèi)角 Fori=1Toun Sc=DistAB(X0(aa(i)),Y0(aa(i)),X0(bb(i)),Y0(bb(i)))Forj=1ToNe If(bE(j)=bb(i)AndeE(j)=cc(i))Or(bE(j)=cc(i)AndeE(j)=bb(i))ThenSa=s(j) If(bE(j)=aa(i)AndeE(j)=cc(i))Or(bE(j)=cc(i)AndeE(j)=aa(i))ThenSb=s(j) Nextj CallGetInnerAngleS(Sa,Sb,Sc,al,bl,cl)"求三角形三個(gè)內(nèi)角 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 "調(diào)用前方交會(huì)程序計(jì)算待定點(diǎn)坐標(biāo) ForIntersecX0(aa(i)),Y0(aa(i)),X0(bb(i)),Y0(bb(i)),al,bl,X0(cc(i)),Y0(cc(i))Nexti "顯示計(jì)算結(jié)果 OpenApp.Path&"\\按邊長(zhǎng)計(jì)算近似坐標(biāo).txt"ForOutputAs#1Print#1,"按邊長(zhǎng)計(jì)算近似坐標(biāo):" txtShow.Text=txtShow.Text&"按邊長(zhǎng)計(jì)算近似坐標(biāo):"&vbCrLfFori=nn+1Totn Print#1,Pname(i),Format(X0(i),"0.0000"),Format(Y0(i),"0.0000") txtShow.Text=txtShow.Text&Pname(i)&","&Format(X0(i),"0.0000")&","&Format(Y0(i),"0.0000")&vbCrLfNextiClose#1EndIf IfNet=2Then"根據(jù)方向觀(guān)測(cè)值計(jì)算近似坐標(biāo):使用前方交會(huì)方法 DimTa#,Tb#"用于交會(huì)的兩個(gè)角 Fori=1Toun Ta=GetBeta(bb(i),aa(i),cc(i),j)"求角ATb=GetBeta(aa(i),bb(i),cc(i),j)"求角B"調(diào)用前方交會(huì)程序計(jì)算待定點(diǎn)坐標(biāo) ForIntersecX0(aa(i)),Y0(aa(i)),X0(bb(i)),Y0(bb(i)),Ta,Tb,X0(cc(i)),Y0(cc(i))Nexti OpenApp.Path&"\\按方向計(jì)算近似坐標(biāo).txt"ForOutputAs#1Print#1,"按方向計(jì)算近似坐標(biāo):" txtShow.Text=txtShow.Text&"按方向計(jì)算近似坐標(biāo):"&vbCrLfFori=nn+1Totn Print#1,Pname(i),Format(X0(i),"0.0000"),Format(Y0(i),"0.0000") txtShow.Text=txtShow.Text&Pname(i)&","&Format(X0(i),"0.0000")&","&Format(Y0(i),"0.0000")&vbCrLfNextiClose#1EndIf IfNet>2Then"根據(jù)邊角條件計(jì)算近似坐標(biāo):使用極坐標(biāo)方法 DimdblS#,dblA#,dblD#"極坐標(biāo)方法中的邊長(zhǎng)、夾角、方位角Dimdir1#,dir2#,bFAsBoolean"兩個(gè)臨時(shí)的方向,一個(gè)邏輯開(kāi)關(guān)Fori=nn+1Totn Forj=Si(i)ToSi(i)+Ni(i)-1IfeD(j) "如果搜索要用到的邊長(zhǎng)和方向值,則根據(jù)極坐標(biāo)法計(jì)算待丁點(diǎn)坐 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 IfFoundSid(eD(j),i,dblS)AndFoundDir1(eD(j),i,dir1)ThenbF=False Fork=Si(eD(j))ToSi(eD(j))+Ni(eD(j))-1IfeD(k) dir2=Dir(k):bF=True dblA=dir1-dir2:IfdblA<0ThendblA=dblA+2*PI "調(diào)用極坐標(biāo)方法求點(diǎn)的坐標(biāo) PolarPositioningX0(eD(k)),Y0(eD(k)),X0(eD(j)),Y0(eD(j)),dblS,dblA,X0(i),Y0(i) ExitForEndIfNextk IfbFThenExitForEndIfEndIfNextjNexti txtShow.Text=txtShow.Text&"按全邊角網(wǎng)計(jì)算近似坐標(biāo)(m):"&vbCrLfOpenApp.Path&"\\按全邊角網(wǎng)計(jì)算近似坐標(biāo).txt"ForOutputAs#1Print#1,"按全邊角網(wǎng)計(jì)算近似坐標(biāo)(m):"Fori=nn+1Totn Print#1,Pname(i),Format(X0(i),"0.0000"),Format(Y0(i),"0.0000") txtShow.Text=txtShow.Text&str(Pname(i))&""&Format(X0(i),"0.0000")&","&Format(Y0(i),"0.0000")&vbCrLfNextiClose#1EndIf Screen.MousePointer=0EndSub "搜索已知起點(diǎn)和終點(diǎn)的邊 PublicFunctionFoundSid(beNode%,enNode%,dblS#)AsBooleanDimk%"循環(huán)變量FoundSid=FalseFork=1ToNe If(bE(k)=beNodeAndeE(k)=enNode)Or(bE(k)=enNodeAndeE(k)=beNode)Then dblS=s(k) FoundSid=TrueExitFunction 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 EndIfNextkEndFunction "搜索已知起點(diǎn)和終點(diǎn)的起始方向值 PublicFunctionFoundDir1(beNode%,enNode%,dblDir#)AsBooleanDimk%"循環(huán)變量FoundDir1=False Fork=Si(beNode)ToSi(beNode)+Ni(beNode)-1IfeD(k)=enNodeThendblDir=Dir(k)FoundDir1=TrueExitFunctionEndIfNextkEndFunction "搜索已知起點(diǎn)和終點(diǎn)的終止方向值 PublicFunctionFoundDir2(beNode%,enNode%,dblDir#)AsBooleanDimk%"循環(huán)變量FoundDir2=False Fork=Si(beNode)ToSi(beNode)+Ni(beNode)-1IfeD(k) "輸入觀(guān)測(cè)數(shù)據(jù) PrivateSubmnuInput_Click()Screen.MousePointer=13 CDg1.Filter="TextFiles(*.TXT)|*.txt"CDg1.Action=1 strFileName=CDg1.FileNameIfstrFileName=""ThenExitSub Dimi%,j%"循環(huán)變量DimstrT1$,strT2$,strT3$"臨時(shí)字符串 DimErr1%,Err2%,Err3%,Err4%"錯(cuò)誤號(hào),分別表示找不到起點(diǎn)、終點(diǎn)編號(hào)和起末點(diǎn)相同的錯(cuò)誤 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 txtShow.Text=txtShow.Text&"數(shù)據(jù)文件:"&vbCrLfOpenstrFileNameForInputAs#1 Input#1,Net"讀入網(wǎng)形參數(shù)txtShow.Text=txtShow.Text&"Net="&str(Net)&vbCrLf Input#1,nn,un"讀入點(diǎn)數(shù)tn=nn+un ReDimPname(tn),X0(tn),Y0(tn),x(tn),Y(tn)"聲明點(diǎn)名、初始坐標(biāo)數(shù)組和坐標(biāo)平差值大小 txtShow.Text=txtShow.Text&"已知點(diǎn)"&str(nn)&"個(gè),未知點(diǎn)"&str(un)&"個(gè)"&vbCrLf Fori=1Totn"讀入各點(diǎn)名Input#1,Pname(i) txtShow.Text=txtShow.Text&"Pname("&i&")="&Pname(i)&","Nexti txtShow.Text=txtShow.Text&vbCrLf Fori=1Tonn"讀入已知點(diǎn)坐標(biāo)Input#1,X0(i),Y0(i)"去掉帶號(hào)和500公里 N500=Val(Left(Trim(str(Y0(i))),2))"得到帶號(hào)N500=N500*10+5 Y0(i)=Y0(i)-N500*100000"給Y坐標(biāo)去掉帶號(hào)和500Km txtShow.Text=txtShow.Text&"x0("&i&")="&str(X0(i))&","&"y0("&i&")="&str(Y0(i))&vbCrLfNexti Input#1,Ne,Nd"讀入邊長(zhǎng)、角度觀(guān)測(cè)值、方位角觀(guān)測(cè)值的個(gè)數(shù) txtShow.Text=txtShow.Text&"邊長(zhǎng)觀(guān)測(cè)值"&str(Ne)&"個(gè),角度觀(guān)測(cè)值"&str(Nd)&"個(gè)。"&vbCrLf IfNe>0Then"如果有邊長(zhǎng)觀(guān)測(cè)值,那么讀入邊長(zhǎng)觀(guān)測(cè)值 Input#1,mM,pP"輸入邊長(zhǎng)精度:固定誤差和比例誤差txtShow.Text=txtShow.Text&"邊長(zhǎng)固定誤差"&Format(mM,"0.00")&"mm,比例誤差"&str(pP)&"ppm。"&vbCrLf ReDimbE(Ne),eE(Ne),s(Ne)"聲明邊數(shù)組大小Fori=1ToNe"輸入邊長(zhǎng)有關(guān)信息Input#1,strT1,strT2,s(i) Err1=ChkData(strT1,bE(i))"檢查起點(diǎn)并計(jì)算起點(diǎn)序號(hào)Err2=ChkData(strT2,eE(i))"檢查終點(diǎn)并計(jì)算終點(diǎn)序號(hào) txtShow=txtShow&"be("&i&")="&Pname(bE(i))&","&"eE("&i&")="&Pname(eE(i))&","&"s("&i&")="&str(s(i))&","&vbCrLfNexti 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 "讀入的邊長(zhǎng)數(shù)據(jù)寫(xiě)入文件,并做檢查 OpenApp.Path&"\\邊長(zhǎng)觀(guān)測(cè)值數(shù)據(jù).txt"ForOutputAs#2Print#2,"邊長(zhǎng)觀(guān)測(cè)值:"Print#2,"mm="&mMPrint#2,"pp="&pPFori=1ToNe Print#2,"bE("&i&")=";Pname(bE(i));",eE("&i&")=";Pname(eE(i));",s("&i&")=";s(i)NextiClose#2 "檢查邊的起點(diǎn)與終點(diǎn)是否相同Err3=0 Fori=1ToNe IfbE(i)=eE(i)ThenErr3=1 OpenApp.Path&"\\err.log"ForOutputAs#2 Print#2,"s("&i&")","bE("&i&")="&Pname(bE(i)),"eE("&i&")="&Pname(eE(i)) Close#2EndIfNexti IfErr1+Err2+Err30ThenMsgBox"邊長(zhǎng)輸入錯(cuò)誤",1,"出錯(cuò)"EndIf IfNd>0Then"如果有方向觀(guān)測(cè)值,那么讀入方向觀(guān)測(cè)值 Dimii%,ik%"輔助循環(huán)變量Input#1,mD"讀入方向中誤差txtShow.Text=txtShow.Text&"方向中誤差:"&str(mD)&vbCrLf ReDimbD(1ToNd),eD(1ToNd),Dir(Nd)"聲明方向數(shù)組大小 ReDimSi(Nd),Ni(Nd)"聲明測(cè)站測(cè)回?cái)?shù)數(shù)組的大小ReDimbD0(Nd),eD0(Nd),Dir0(Nd)"聲明輔助方向數(shù)組大小Fori=1ToNd Input#1,strT1,strT2,Dir(i) Err1=ChkData(strT1,bD(i))"檢查起點(diǎn)并計(jì)算起點(diǎn)序號(hào)Err2=ChkData(strT2,eD(i))"檢查終點(diǎn)并計(jì)算終點(diǎn)序號(hào) txtShow=txtShow&"bD("&i&")="&Pname(bD(i))&";eD("&i&")="&Pname(eD(i))&";dir("&i&")="&Dir(i)&vbCrLfNexti "讀入的方向數(shù)據(jù)寫(xiě)入文件并檢查 OpenApp.Path&"\\方向觀(guān)測(cè)值數(shù)據(jù).txt"ForOutputAs#2Print#2,"方向觀(guān)測(cè)值中誤差md="&mD 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 Fori=1ToNd bD0(i)=bD(i):eD0(i)=eD(i):Dir0(i)=Dir(i):Dir(i)=DoToHu(Dir(i))Nexti Err3=0 Fori=1ToNd IfbD0(i)=eD0(i)ThenErr3=1 OpenApp.Path&"\\err.log"ForOutputAs#3 Print#3,"dir("&i&")","bD("&i&")="&Pname(bD0(i)),"eD("&i&")="&Pname(eD0(i)) Close#3EndIfNexti IfErr1+Err2+Err30ThenMsgBox"方向輸入錯(cuò)誤",1,"輸入出錯(cuò)""統(tǒng)計(jì)每個(gè)測(cè)站的方向數(shù)ik=1:Si(1)=1Fori=1Totnii=0 Forj=1ToNd IfbD0(j)=iThenii=ii+1 bD(ik)=bD0(j)eD(ik)=eD0(j) Dir(ik)=DoToHu(Dir0(j))ik=ik+1EndIfNextjNi(i)=ii Si(i+1)=Si(i)+Ni(i)Nexti Fori=1ToNd Print#2,"bD("&i&")="&bD(i)Print#2,"eD("&i&")="&eD(i) Print#2,"dir("&i&")="&Format(Dir0(i),"0.00000") Print#2,"dir("&i&")="&Format(DoToHu(Dir0(i)),"0.00000")NextiClose#2EndIf IfNet=1OrNet=2Then"讀取近似坐標(biāo)的計(jì)算路線(xiàn)Fori=1Toun Input#1,aa(i),bb(i),cc(i) Err1=ChkData(strT1,aa(i))"檢查起點(diǎn)并計(jì)算起點(diǎn)序號(hào) 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 Err2=ChkData(strT2,bb(i))"檢查中點(diǎn)并計(jì)算終點(diǎn)序號(hào)Err3=ChkData(strT3,cc(i))"檢查終點(diǎn)并計(jì)算終點(diǎn)序號(hào)Nexti OpenApp.Path&"\\近似坐標(biāo)計(jì)算路線(xiàn).txt"ForOutputAs#2Print#1,"近似坐標(biāo)計(jì)算路線(xiàn):"Fori=1Toun Print#1,aa(i),bb(i),cc(i)NextiClose#1 Fori=1TounErr4=0 Ifaa(i)=bb(i)Orbb(i)=cc(i)Orcc(i)=aa(i)ThenErr4=1 OpenApp.Path&"\\err.log"ForOutputAs#1 Print#1,"點(diǎn)號(hào)相同的計(jì)算路線(xiàn)" Print#1,"aa("&i&")","bb("&i&")","cc("&i&")"Close#1EndIf IfErr1+Err2+Err3+Err40ThenMsgBox"計(jì)算路線(xiàn)有誤",1,"錯(cuò)誤"NextiEndIfClose#1 Screen.MousePointer=0EndSub "計(jì)算點(diǎn)位誤差橢圓 PrivateSubmnuPointElli_Click()Screen.MousePointer=13 Dimi%,ii%"循環(huán)變量,輔助記數(shù)DimQ1#,Q2#,Q3#,T1#,T2#,T3#,tt#"臨時(shí)變量 DimMx#,My#,m#"x、y坐標(biāo)的誤差以及總的點(diǎn)位誤差DimFai#,Fa#,Fb#"誤差橢圓的偏心率、長(zhǎng)軸、短軸 OpenApp.Path&"\\點(diǎn)位誤差橢圓.txt"ForOutputAs#1Print#1,"點(diǎn)位誤差橢圓:"Fori=1Toun Q1=Q(2*i-1,2*i-1):Q2=Q(2*i,2*i):Q3=Q(2*i-1,2*i)T1=Q1-Q2:T2=2*Q3:T3=Q1+Q2Mx=Sqr(Q1):My=Sqr(Q2):m=Sqr(T3) "求Fai:這里是角度值 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 IfAbs(T1)<1E-16Then IfQ3>=0ThenFai=90ElseFai=-90Else Fai=Atn(T2/T1)*57.2958EndIf IfT1>=0AndT2>=0ThenFai=Fai/2Else IfT1>=0AndT2測(cè)繪程序編制實(shí)習(xí)報(bào)告 IfiMsg=vbCancelThenCancel=TrueEndIfEndSub "保存計(jì)算結(jié)果 PrivateSubmnuSave_Click()DimiMsg%reSave: CDg1.FileName="":CDg1.Filter="TextFiles(*.TXT)|*.txt"CDg1.Action=2 strFileName=CDg1.FileName IfstrFileName=""Then iMsg=MsgBox("請(qǐng)選擇文件名!",vbYesNoCancel,"注意!")IfiMsg=vbYesThenGoToreSave:Else txtShow.Text=""ExitSubEndIfEndIf OpenstrFileNameForOutputAs#1Print#1,txtShow.TextClose#1 txtShow.Text=""EndSub "平差計(jì)算 PrivateSubmnuAdjust_Click()Screen.MousePointer=13 "列立誤差方程=================================================================================== DimstrRAsString,S3$"用于顯示內(nèi)容的字符串Dimi%,j%,k%"循環(huán)變量Dimii%,jj%,kk%"輔助記數(shù)變量 DimdX#,dY#,ss#,cosa#,sinA#"列邊長(zhǎng)誤差方程所需中間變量DimZ0#,Z1#,a0#"列方向誤差方程所需中間變量Dimai#,bi#,P3(300)AsSingle"一些輔助變量和數(shù)組Dimk1%,k2%,pPp(300)AsInteger"一些輔助變量和數(shù)組 IfNe>0Then"按邊長(zhǎng)計(jì)算方程系數(shù) 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 strR="邊長(zhǎng)誤差方程:"&vbCrLfFori=1ToNe dX=X0(eE(i))-X0(bE(i)):dY=Y0(eE(i))-Y0(bE(i)) ss=Sqr(dX^2+dY^2):cosa=dX/ss:sinA=dY/ss "系數(shù)陣及常數(shù)項(xiàng) Pa(i,1)=2*(bE(i)-nn)-1:Pa(i,2)=-cosa:Pa(i,3)=Pa(i,1)+1 Pa(i,4)=-sinA:Pa(i,5)=2*(eE(i)-nn)-1:Pa(i,6)=cosa Pa(i,7)=Pa(i,5)+1:Pa(i,8)=sinA:Pa(i,9)=100*(ss-s(i))"權(quán) qL(i)=mM^2+(ss*pP*0.0001)^2 S3="V("&i&")="&Format(Pa(i,2),"0.000")&"X("&Pname(bE(i))S3=S3&")+"&Format(Pa(i,4),"0.000")&"Y("&Pname(bE(i))&")+"S3=S3&Format(Pa(i,6),"0.000")&"X("&Pname(eE(i))&")+" S3=S3&Format(Pa(i,8),"0.000")&"Y("&Pname(eE(i))&")"&"+"&Format(Pa(i,9),"0.00")&","Forj=1ToLen(S3) IfMid(S3,j,1)="+"AndMid(S3,j+1,1)="-"ThenS3=Left$(S3,j-1)&Right(S3,Len(S3)-j)Nextj strR=strR&S3&"權(quán)為:"&Format(qL(i),"0.000000")&vbCrLf&vbCrLfNextiEndIf IfNd>0Then"按方向計(jì)算方程系數(shù)Fori=1Totnjj=5 Z0=0"統(tǒng)計(jì)虛擬方程的常數(shù)項(xiàng)Forj=Si(i)ToSi(i)+Ni(i)-1 a0=DirectAB(X0(eD(j)),Y0(eD(j)),X0(bD(j)),Y0(bD(j)))Z1=a0-Dir(j) IfZ1<0ThenZ1=Z1+2*PIZ0=Z0+Z1Nextj Z0=Z0/Ni(i) k2=1P3(i)=0 strR=strR&vbCrLf&"方向誤差方程:"&vbCrLfForj=Si(i)ToSi(i)+Ni(i)-1 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 dX=X0(eD(j))-X0(bD(j)):dY=Y0(eD(j))-Y0(bD(j)) a0=DirectAB(X0(eD(j)),Y0(eD(j)),X0(bD(j)),Y0(bD(j))) ss=Sqr((X0(eD(j))-X0(bD(j)))^2+(Y0(eD(j))-Y0(bD(j)))^2)ai=dY/(ss^2)*RU/100bi=-dX/(ss^2)*RU/100 ii=Ne+j Pa(ii,1)=2*(bD(j)-nn)-1:Pa(ii,2)=aiPa(ii,3)=Pa(ii,1)+1:Pa(ii,4)=biPa(ii,5)=2*(eD(j)-nn)-1:Pa(ii,6)=-aiPa(ii,7)=Pa(ii,5)+1:Pa(ii,8)=-biqL(ii)=mD^2 ss=Dir(j)+Z0:Ifss>=2*PIThenss=ss-2*PI Pa(ii,9)=(a0-ss)*RU Pa3(i,jj)=Pa(ii,5):Pa3(i,jj+1)=Pa(ii,6)/qL(ii) Pa3(i,jj+2)=Pa(ii,7):Pa3(i,jj+3)=Pa(ii,8)/qL(ii) Pa3(i,2)=Pa3(i,2)+Pa(ii,2)/qL(ii):Pa3(i,4)=Pa3(i,4)+Pa(ii,4)/qL(ii) P3(i)=P3(i)+Pa(ii,9)/qL(ii) jj=jj+4 S3=vbCrLf&"V("&ii&")=-"&Format(Z0,"0.000")&"+"&Format(Pa(ii,2),"0.000")&"X("&Pname(bD(j))&")+" S3=S3&Format(Pa(ii,4),"0.000")&"Y("&Pname(bD(j))&")+"&Format(Pa(ii,6),"0.000")&"X("&Pname(eD(j))&")+" S3=S3&Format(Pa(ii,8),"0.000")&"Y("&Pname(eD(j))&")"&"+"&Format(Pa(ii,9),"0.000") S3=S3&",權(quán)為:"&Format(qL(ii),"0.000000")&vbCrLfFork=1ToLen(S3) IfMid(S3,k,1)="+"AndMid(S3,k+1,1)="-"ThenS3=Left$(S3,k-1)&Right(S3,Len(S3)-k)Nextk strR=strR&S3pPp(k2)=eD(j)k2=k2+1Nextj 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 "列虛擬誤差方程k2=k2-1 Pa3(i,1)=Pa(ii,1):Pa3(i,3)=Pa(ii,3):qLS(i)=-Ni(i)/(mD^2) "顯示虛擬誤差方程 strR=strR&"虛擬誤差方程(測(cè)站號(hào)"&Pname(i)&"):"&vbCrLf S3="V("&Pname(i)&")="&Format(Pa3(i,2),"0.000")&"X("&Pname(i)&")+"&Format(Pa3(i,4),"0.000")&"Y("&Pname(i)&")+"Fork=6TojjStep4 S3=S3&Format(Pa3(i,k),"0.000")&"X("&Pname(pPp((k-2)\\4))&")+" S3=S3&Format(Pa3(i,4),"0.000")&"Y("&Pname(pPp((k-2)\\4))&")+" Nextk S3=S3&Format(P3(i),"0.000")Fork=1ToLen(S3) IfMid(S3,k,1)="+"AndMid(S3,k+1,1)="-"ThenS3=Left$(S3,k-1)&Right(S3,Len(S3)-k)Nextk strR=strR&S3&",權(quán)為:"&Format(qL(i),"0.000000")&vbCrLfNextiEndIf OpenApp.Path&"\\誤差方程.txt"ForOutputAs#1Print#1,strRClose#1 txtShow.Text=txtShow.Text&vbCrLf&strR&vbCrLf "解算法方程:由系數(shù)矩陣Pa、Pa3,常數(shù)向量qL、qLS,求解============================ Dimm%,n%,st%"誤差方程總數(shù),未知數(shù)總數(shù),定向角參數(shù)個(gè)數(shù) DimPvv#,sigma#(100)"用于統(tǒng)計(jì)單位權(quán)中誤差的誤差累計(jì)量DimdetS,detDir"邊長(zhǎng)改正數(shù)、方向改正數(shù) Dimt#(800,800),R#(100,100),c#(100,100)"臨時(shí)的數(shù)組,輔助進(jìn)行平差解算 "形成法方程 m=Ne+Nd"誤差方程總數(shù)Fori=1TomForj=1To4 jj=Int(Pa(i,2*j-1))Ifjj>0Then W(jj)=W(jj)+Pa(i,2*j)*Pa(i,9)/qL(i)Fork=1To4 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 kk=Int(Pa(i,2*k-1)) Ifkk>0Andjj測(cè)繪程序編制實(shí)習(xí)報(bào)告 Fori=1Ton Forj=i+1TonR(i,j)=0 Fork=iToj-1 R(i,j)=R(i,j)-R(i,k)*t(k,j)/t(j,j)NextkNextjNexti Fori=1TonForj=iTon Fork=jTon Q(i,j)=t(k,k)*R(i,k)*R(j,k)+Q(i,j)Nextk Q(j,i)=Q(i,j)NextjNexti "求改正數(shù)Fori=1TonForj=1Ton sigma(i)=sigma(i)-Q(i,j)*W(j)NextjNexti"改化坐標(biāo) Fori=nn+1Totn x(i)=X0(i)+sigma((i-nn)*2-1)/100Y(i)=Y0(i)+sigma((i-nn)*2)/100Nexti "求單位權(quán)中誤差Fori=1Ton Pvv=Pvv+sigma(i)*W(i)Nexti Fori=1Tom Pvv=Pvv+Pa(i,9)*Pa(i,9)/qL(i)Nexti uW0=Sqr(Pvv/(m-n-st)) "顯示計(jì)算結(jié)果 txtShow.Text=txtShow.Text&vbCrLf OpenApp.Path&"\\平差結(jié)果.txt"ForOutputAs#1Print#1,"坐標(biāo)計(jì)算結(jié)果(m):" Print#1,"點(diǎn)號(hào)原X坐標(biāo)X坐標(biāo)平差值Y坐標(biāo)平差值Vy" 測(cè)繪C101蒲軒106684習(xí)題7.17 Vx原Y坐標(biāo)測(cè)繪程序編制實(shí)習(xí)報(bào)告 txtShow.Text=txtShow.Text&"坐標(biāo)計(jì)算結(jié)果(m):"&vbCrLf txtShow=txtShow&"點(diǎn)號(hào)原X坐標(biāo)X坐標(biāo)平差值Vx原Y坐標(biāo)Y坐標(biāo)平差值Vy"&vbCrLfFori=nn+1Totn "給Y坐標(biāo)加上帶號(hào)和500KmY(i)=Y(i)+N500*100000Y0(i)=Y0(i)+N500*100000 Print#1,Pname(i),Format(x(i),"0.0000"),Format(Y(i),"0.0000") txtShow=txtShow&Pname(i)&""&Format(X0(i),"0.0000")&""&Format(x(i),"0.0000")&""&Format(X0(i)-x(i),"0.0000") txtShow=txtShow&""&Format(Y0(i),"0.0000")&""&Format(Y(i),"0.0000")&""&Format(Y0(i)-Y(i),"0.0000")&vbCrLfNexti Print#1,"σ0="&Format(uW0,"0.00");"厘米" txtShow.Text=txtShow.Text&"σ0="&Format(uW0,"0.00")&"厘米"&vbCrLfClose#1 Screen.MousePointer=0EndSub "由方向值求夾角值:夾角的三個(gè)點(diǎn),角頂點(diǎn)在中間,返回夾角值;參數(shù)PublicFunctionGetBeta(i1%,i2%,i3%,k%)AsDoubleDimk1%,k2%,dir1#,dir2#,i%k=0:k1=0:k2=0 Fori=Si(i2)ToSi(i2)+Ni(i2)-1IfeD(i)=i1Thenk1=1 dir1=Dir(i)EndIf IfeD(i)=i3Thenk2=1 dir2=Dir(i)EndIfNexti Ifk1=1Andk2=1Thenk=1 GetBeta=dir2-dir1 IfGetBeta<0ThenGetBeta=GetBeta+2*PIIfGetBeta>PIThenGetBeta=2*PI-GetBetaEndIfEndFunction PrivateSubmnuReturn_Click() 測(cè)繪C101蒲軒106684習(xí)題7.1測(cè)繪程序編制實(shí)習(xí)報(bào)告 frmMain.Visible=FalseForm1.Visible=TrueEndSub 測(cè)繪C101蒲軒106684習(xí)題7.126 友情提示:本文中關(guān)于《平面和高程控制測(cè)量實(shí)訓(xùn)總結(jié)》給出的范例僅供您參考拓展思維使用,平面和高程控制測(cè)量實(shí)訓(xùn)總結(jié):該篇文章建議您自主創(chuàng)作。 來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。
《平面和高程控制測(cè)量實(shí)訓(xùn)總結(jié)》由互聯(lián)網(wǎng)用戶(hù)整理提供,轉(zhuǎn)載分享請(qǐng)保留原作者信息,謝謝!
鏈接地址:http://www.seogis.com/gongwen/446141.html