久久久久综合给合狠狠狠,人人干人人模,大陆一级黄色毛片免费在线观看,亚洲人人视频,欧美在线观看一区二区,国产成人啪精品午夜在线观看,午夜免费体验

薈聚奇文、博采眾長、見賢思齊
當前位置:公文素材庫 > 計劃總結(jié) > 工作總結(jié) > 平面和高程控制測量實訓總結(jié)

平面和高程控制測量實訓總結(jié)

網(wǎng)站:公文素材庫 | 時間:2019-05-26 21:08:55 | 移動端:平面和高程控制測量實訓總結(jié)

平面和高程控制測量實訓總結(jié)

《工程測量2》實訓總結(jié)

轉(zhuǎn)眼間一周的工程測量實訓就結(jié)束啦!從這周實習的日子中,我從中得到很

多更寶貴的東西:首先,通過實習,讓我發(fā)現(xiàn)我在平時學習中存在的很多知識漏洞。課本上介紹儀器使用的知識都比較抽象,到了真正實踐中的時候,我們未能很好把書本知識應用到實踐中,還需要老師再次進行指導。在近距離的接觸這些實物,能我更牢固的掌握相關(guān)的知識點;也能令我提高對儀器的操作的熟練、精準程度(比如能夠迅速對中整平)。

其次,通過這次實訓,有利于培養(yǎng)我做事嚴謹、認真、不畏艱難困苦的作風。不論是對中整平時的重復精確瞄準還是在放樣計算時反復檢驗計算數(shù)據(jù)(以確保放樣時的原數(shù)據(jù)正確),每個步驟都盡量做到腳踏實地、一絲不茍,使誤差盡可能的減小,及時發(fā)現(xiàn)錯誤及時檢查;不論外界的環(huán)境的惡劣,克服一下就算不了什么;正確面對困難,學會靜下來耐心的思考分析問題,能夠獨立借助書本找出解決途徑。做事要又負責的態(tài)度,若因為自己而造成了錯誤要主動承擔并積極補救。

第三,通過實習對培養(yǎng)我們團隊協(xié)作精神有促進作用。它增進了同學們之間的交流和團結(jié),互幫互補,分工合作,共同面對、解決困難,共同尋求如何更快更好地完成任務的方法,提高小組工作效率,確保進度的完成。

這次測量儀器的使用和實地的測量實訓工作的開展,讓我們更直觀接觸到了土木工程測量這個學科,也為我們今后走上工作崗位后,更好更快地使用儀器、控制測量發(fā)放奠定了堅實的基礎。大學生成長,就要勤于實踐,將所學的理論知識與實踐相結(jié)合一起,在實踐中繼續(xù)學習,不斷總結(jié),逐步完善,有所創(chuàng)新,并在實踐中提高自己由知識、能力、智慧等因素融合成的綜合素質(zhì)和能力。以后我會珍惜每次的實習機會,多去挖掘課堂上無法獲及的東西,為自己事業(yè)的成功打下良好的基礎。

這周的測量實習結(jié)束了,雖然開始時大家都感到好累,儀器有一小點兒的損壞,但看到我們的收獲我們大家還是很高興的。我覺得自己學到了很多的東西。對以前零零碎碎學的測量知識有了綜合應用的機會。具體實訓內(nèi)容如下:一、每組配備的儀器和工具

全站儀1臺,對中桿1個,腳架2個,基座1個,棱鏡1個,鋼尺2把。有關(guān)記錄手簿、計算紙,橡皮及鉛筆等自備。(儀器要好好的保管)二、建立施工平面控制網(wǎng)和高程控制網(wǎng)

在測區(qū)實地踏勘,布設一條三級閉合導線,經(jīng)過觀測、計算獲得控制點平面坐標,并在CAD中畫出閉合導線,標注每個控制點的坐標。我們組在指定測區(qū)進行踏勘,根據(jù)測區(qū)范圍及測圖要求確定布網(wǎng)方案進行選點。每個一百米選一個點,點的個數(shù)為5個。所選控制點包括一個已知點。點位選定之后,我們組立即作好標志。然后根據(jù)水平角觀測、邊長測量的要求進行成果整理、平面坐標計算。在踏勘的同時布設高程控制網(wǎng),高程控制點可設在平面控制點上,網(wǎng)內(nèi)應包括原有水準點,采用全站儀三角高程測量的方法進行四等水準測量。布網(wǎng)形式為閉合路線。在踏勘的同時布設高程控制網(wǎng),高程控制點可設在平面控制點上,網(wǎng)內(nèi)包括原有水準點,采用全站儀三角高程測量的方法進行四等水準測量。布網(wǎng)形式為閉合路線。然后根據(jù)四等水準測量,用三角高程測量法進行觀測的要求進行成果整理及高程計算。三、施工放線

(1)、建筑物定位放線:

(1)我們組根據(jù)自己的控制區(qū)域,在CAD中設計了一個正方形建筑物的平面圖;

(2)根據(jù)設計的平面圖在地面上進行建筑定位放線、軸線測設及設置軸線控制樁(軸線控制樁距軸線的距離為5米左右);

(3)對所放建筑物平面位置進行檢查。其中,建筑物定位時,距離誤差允許為1/5000,角度誤差允許為±30″。軸線測設時相鄰軸線的間距誤差為1/3000。

(4)最后我們組的成員站在放的軸線點上照相。

(2)、圓曲線測設

每組在自己的控制區(qū)域設計了一條R=50,α=45°的圓曲線,用切線支距法在地面上測設出該圓曲線。最后小組成員也在點上照了一張圖片。

擴展閱讀:平面和高程控制測量VB程序設計報告

測繪程序編制實習報告

題目:習題7.1平面和高程控制網(wǎng)平差

測繪C101蒲軒106684習題7.1蒲軒

測繪C101班

106684

余數(shù)7

17

測繪程序編制實習報告

一、設計思路

題目為:平面控制網(wǎng)和高程控制網(wǎng)的平差

1、流程圖

啟動軟件選擇控制網(wǎng)默認平面控制高程控制網(wǎng)平面控制網(wǎng)返回打開高程數(shù)據(jù)點擊“文件”菜單高程計算輸入數(shù)據(jù)結(jié)果保存是是否保存清除運算平面控制網(wǎng)平差計算否啟動CommonDialogControl控件保存結(jié)果清除txtShow保存數(shù)據(jù)

2

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

2、界面設計

上面為開始主程序,在該頁面進行高程控制網(wǎng)平差,點擊平面控制啟動下面的程序頁面進行平面控制網(wǎng)平差。

2、功能設計

通過菜單實現(xiàn)程序的各個功能,通過菜單啟動CommonDialogControl控件輸入txt文檔,讀取txt里面的高程或平面控制網(wǎng)數(shù)據(jù),然后點擊各個計算菜單進行平差計算

二、算法及代碼實現(xiàn)

3

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

1、Form1代碼:

DimstrFileNameAsString

Dimnn%,un%,tn%,hn%"已知點個數(shù),未知點個數(shù),總點數(shù),觀測值個數(shù)

DimPname()AsString"點名數(shù)組

DimHknown()AsDouble"已知高程數(shù)組,存放已知點高程和高程近似值

DimbE%(),en%()"觀測值的起點和終點編號數(shù)組,存儲的是點序號

Dimh#(),s#()"高差觀測值數(shù)組和距離觀測值數(shù)組Dima#(),x#(),P#(),L#()"間接平差的系數(shù)陣、解向量、權(quán)陣和常數(shù)向量

"高程平差計算

PrivateSubmnuAdj_Click()Dimi%,j%

ReDimx(1Toun)

InAdjusta,P,L,x"調(diào)用間接平差的通用過程求解

"計算并顯示高程平差結(jié)果

txtShow.Text=txtShow.Text&"平差計算結(jié)果:"&vbCrLf

txtShow.Text=txtShow.Text&"點號初始高程(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

"計算并顯示單位權(quán)中誤差--------->>精度評定部分應該也包含在間接平差模塊里,一起來調(diào)用"DimdblTAsDouble"dblT=0

"Fori=1Toun"

"NextiEndSub

4

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

PrivateSubmnuCalc_Click(IndexAsInteger)Form1.Visible=FalsefrmMain.Visible=True

EndSub

"誤差方程

PrivateSubmnuEqu_Click()Dimi%,j%

ReDima(1Tohn,1Toun),L(1Tohn),P(1Tohn,1Tohn)

"對每個觀測值列誤差方程Fori=1Tohn

Ifen(i)>nnThena(i,en(i)-nn)=1"若終點未知,則給終點對應的系數(shù)矩陣元素賦值

IfbE(i)>nnThena(i,bE(i)-nn)=-1"若起點未知,則給起點對應的系數(shù)矩陣元素賦值

L(i)=-(Hknown(en(i))-Hknown(bE(i))-h(i))"根據(jù)起終點計算常數(shù)項

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()"計算近似高程

5

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

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

"顯示近似高程計算結(jié)果

txtShow.Text=txtShow.Text&"近似高程計算結(jié)果:"&vbCrLfFori=1Toun

txtShow.Text=txtShow.Text&Pname(i+nn)&":"&Format(Hknown(i+nn),"0.000")&vbCrLfNextiEndSub

"打開高程文件

PrivateSubmnuHOpen_Click()

DimiAsInteger"循環(huán)變量DimstrT1AsString,strT2AsString

CDg1.Filter="文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"CDg1.ShowOpen"打開對話框

strFileName=CDg1.FileName"獲得選中的文件名和路徑

OpenstrFileNameForInputAs#1"打開文件

Input#1,nn,un,hn"讀入已知點個數(shù),未知點個數(shù),觀測值個數(shù)

tn=nn+un

ReDimPname(1Totn),Hknown(1Totn)

ReDimh(1Tohn),s(1Tohn),bE(1Tohn),en(1Tohn)Fori=1Totn"讀入點名Input#1,Pname(i)Nexti

6

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

Fori=1Tonn"讀入已知高程Input#1,Hknown(i)Nexti

Fori=1Tohn"讀入各觀測值Input#1,strT1,strT2,h(i),s(i)

bE(i)=Order(strT1):en(i)=Order(strT2)"給起終點數(shù)組排序

Nexti

"顯示讀入的數(shù)據(jù)

txtShow.Text=txtShow.Text&"讀入的水準網(wǎng)數(shù)據(jù):"&vbCrLftxtShow.Text=txtShow.Text&"已知點"&nn&"個,未知點"&un&"個,觀測值"&hn&"個。"&vbCrLf

txtShow.Text=txtShow.Text&"網(wǎng)中涉及的點名有:"Fori=1Totn

txtShow.Text=txtShow.Text&Pname(i)&","Nexti

txtShow.Text=txtShow.Text&vbCrLf

txtShow.Text=txtShow.Text&"已知點高程為:"&vbCrLfFori=1Tonn

txtShow.Text=txtShow.Text&Pname(i)&"的高程為:"&Hknown(i)&vbCrLfNexti

txtShow.Text=txtShow.Text&"各觀測值分別為:"&vbCrLftxtShow.Text=txtShow.Text&"起點"&""&"終點"&""&"高差觀測值"&"距離觀測值"&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

"點名-序號轉(zhuǎn)換函數(shù)

PublicFunctionOrder(strAsString)AsIntegerDimi%

Fori=1Totn

Ifstr=Pname(i)ThenOrder=iExitForEndIfNexti

7

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

EndFunction

"程序退出時檢查是否已保存結(jié)果

PrivateSubForm_Unload(CancelAsInteger)IftxtShow.Text""ThenDimiMsg%

iMsg=MsgBox("是否保存計算結(jié)果?",vbYesNoCancel,"注意保存!")

IfiMsg=vbYesThenmnuSave_ClickIfiMsg=vbCancelThenCancel=TrueEndIfEndSub

"保存計算結(jié)果

PrivateSubmnuSave_Click()DimiMsg%reSave:

CDg1.FileName="":CDg1.Filter="TextFiles(*.TXT)|*.txt"CDg1.Action=2

strFileName=CDg1.FileName

IfstrFileName=""Then

iMsg=MsgBox("請選擇文件名!",vbYesNoCancel,"注意!")IfiMsg=vbYesThenGoToreSave:Else

txtShow.Text=""ExitSubEndIfEndIf

OpenstrFileNameForOutputAs#1Print#1,txtShow.TextClose#1

txtShow.Text=""EndSub

8

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

3、frmMain代碼:

OptionExplicit

ConstPI=3.14159265358979ConstRU=206264.8

DimNet%,nn%,un%,tn%"網(wǎng)的類型,已知點個數(shù),未知點個數(shù),總點數(shù)

DimPname()AsString"點名數(shù)組,大小為tn

DimX0#(),Y0#()"已知點坐標及未知點近似坐標,大小為tn

Dimx#(),Y#()"已知點坐標及未知點平差坐標,大小為tn

DimN500%"記錄Y坐標的帶號,讀入數(shù)據(jù)時減該常數(shù),輸出數(shù)據(jù)時加

DimNe%,Nd%"邊長觀測值個數(shù),方向觀測值個數(shù)DimmM#,pP#"邊長觀測值的固定誤差和比例誤差,單位為mm和ppm

DimbE%(),eE%(),s#()"邊長觀測值的起點、終點、邊長DimmD#,Dir0#(),Dir#()"方向中誤差,原始方向數(shù)組和排序后的方向數(shù)組

DimbD0%(),eD0%(),bD%(),eD%()"方向起終點原始數(shù)組和排序后的數(shù)組DimSi%(),Ni%()"統(tǒng)計總的方向數(shù)和每個測站的方向數(shù)Dimaa%(),bb%(),cc%()"近似坐標的計算路線,個數(shù)與未知點個數(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ù)并將點名轉(zhuǎn)換為序號

"第一個參數(shù)是要檢查的點名,第二個參數(shù)是得到的序號;返回值是錯誤號PublicFunctionChkData(strPAsString,Order%)AsIntegerDimi%,bFoundAsBoolean

Order=0

bFound=False

Fori=1Totn

IfstrP=Pname(i)ThenbFound=TrueOrder=i

9

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

ChkData=0ExitForEndIfNexti

IfNotbFoundThen

OpenApp.Path&"\\err.log"ForOutputAs#1Print#1,"未找到的點號:"&strP&vbCrLfClose#1ChkData=1

MsgBox"有未找到的點號",1,"輸入錯誤"EndIfEndFunction

"文本框大小隨窗口大小的改變而改變PrivateSubForm_Resize()

txtShow.Width=frmMain.Width-330

IffrmMain.Height>1030ThentxtShow.Height=frmMain.Height-1030txtShow.Left=120txtShow.Top=120EndSub

"退出程序

PrivateSubmnuExit_Click()EndEndSub

"計算近似坐標

PrivateSubmnuCalcCoor_Click()Screen.MousePointer=13

Dimi%,j%,k%"循環(huán)變量

IfNet=1Then"按邊長計算近似坐標:使用前方交會方法DimSa#,Sb#,Sc#,al#,bl#,cl#"三角形邊長和三個內(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)"求三角形三個內(nèi)角

10

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

"調(diào)用前方交會程序計算待定點坐標

ForIntersecX0(aa(i)),Y0(aa(i)),X0(bb(i)),Y0(bb(i)),al,bl,X0(cc(i)),Y0(cc(i))Nexti

"顯示計算結(jié)果

OpenApp.Path&"\\按邊長計算近似坐標.txt"ForOutputAs#1Print#1,"按邊長計算近似坐標:"

txtShow.Text=txtShow.Text&"按邊長計算近似坐標:"&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ù)方向觀測值計算近似坐標:使用前方交會方法

DimTa#,Tb#"用于交會的兩個角

Fori=1Toun

Ta=GetBeta(bb(i),aa(i),cc(i),j)"求角ATb=GetBeta(aa(i),bb(i),cc(i),j)"求角B"調(diào)用前方交會程序計算待定點坐標

ForIntersecX0(aa(i)),Y0(aa(i)),X0(bb(i)),Y0(bb(i)),Ta,Tb,X0(cc(i)),Y0(cc(i))Nexti

OpenApp.Path&"\\按方向計算近似坐標.txt"ForOutputAs#1Print#1,"按方向計算近似坐標:"

txtShow.Text=txtShow.Text&"按方向計算近似坐標:"&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ù)邊角條件計算近似坐標:使用極坐標方法

DimdblS#,dblA#,dblD#"極坐標方法中的邊長、夾角、方位角Dimdir1#,dir2#,bFAsBoolean"兩個臨時的方向,一個邏輯開關(guān)Fori=nn+1Totn

Forj=Si(i)ToSi(i)+Ni(i)-1IfeD(j)

"如果搜索要用到的邊長和方向值,則根據(jù)極坐標法計算待丁點坐

11

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

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)用極坐標方法求點的坐標

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)計算近似坐標(m):"&vbCrLfOpenApp.Path&"\\按全邊角網(wǎng)計算近似坐標.txt"ForOutputAs#1Print#1,"按全邊角網(wǎng)計算近似坐標(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

"搜索已知起點和終點的邊

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

12

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

EndIfNextkEndFunction

"搜索已知起點和終點的起始方向值

PublicFunctionFoundDir1(beNode%,enNode%,dblDir#)AsBooleanDimk%"循環(huán)變量FoundDir1=False

Fork=Si(beNode)ToSi(beNode)+Ni(beNode)-1IfeD(k)=enNodeThendblDir=Dir(k)FoundDir1=TrueExitFunctionEndIfNextkEndFunction

"搜索已知起點和終點的終止方向值

PublicFunctionFoundDir2(beNode%,enNode%,dblDir#)AsBooleanDimk%"循環(huán)變量FoundDir2=False

Fork=Si(beNode)ToSi(beNode)+Ni(beNode)-1IfeD(k)

"輸入觀測數(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$"臨時字符串

DimErr1%,Err2%,Err3%,Err4%"錯誤號,分別表示找不到起點、終點編號和起末點相同的錯誤

13

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

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"讀入點數(shù)tn=nn+un

ReDimPname(tn),X0(tn),Y0(tn),x(tn),Y(tn)"聲明點名、初始坐標數(shù)組和坐標平差值大小

txtShow.Text=txtShow.Text&"已知點"&str(nn)&"個,未知點"&str(un)&"個"&vbCrLf

Fori=1Totn"讀入各點名Input#1,Pname(i)

txtShow.Text=txtShow.Text&"Pname("&i&")="&Pname(i)&","Nexti

txtShow.Text=txtShow.Text&vbCrLf

Fori=1Tonn"讀入已知點坐標Input#1,X0(i),Y0(i)"去掉帶號和500公里

N500=Val(Left(Trim(str(Y0(i))),2))"得到帶號N500=N500*10+5

Y0(i)=Y0(i)-N500*100000"給Y坐標去掉帶號和500Km

txtShow.Text=txtShow.Text&"x0("&i&")="&str(X0(i))&","&"y0("&i&")="&str(Y0(i))&vbCrLfNexti

Input#1,Ne,Nd"讀入邊長、角度觀測值、方位角觀測值的個數(shù)

txtShow.Text=txtShow.Text&"邊長觀測值"&str(Ne)&"個,角度觀測值"&str(Nd)&"個。"&vbCrLf

IfNe>0Then"如果有邊長觀測值,那么讀入邊長觀測值

Input#1,mM,pP"輸入邊長精度:固定誤差和比例誤差txtShow.Text=txtShow.Text&"邊長固定誤差"&Format(mM,"0.00")&"mm,比例誤差"&str(pP)&"ppm。"&vbCrLf

ReDimbE(Ne),eE(Ne),s(Ne)"聲明邊數(shù)組大小Fori=1ToNe"輸入邊長有關(guān)信息Input#1,strT1,strT2,s(i)

Err1=ChkData(strT1,bE(i))"檢查起點并計算起點序號Err2=ChkData(strT2,eE(i))"檢查終點并計算終點序號

txtShow=txtShow&"be("&i&")="&Pname(bE(i))&","&"eE("&i&")="&Pname(eE(i))&","&"s("&i&")="&str(s(i))&","&vbCrLfNexti

14

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

"讀入的邊長數(shù)據(jù)寫入文件,并做檢查

OpenApp.Path&"\\邊長觀測值數(shù)據(jù).txt"ForOutputAs#2Print#2,"邊長觀測值:"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

"檢查邊的起點與終點是否相同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"邊長輸入錯誤",1,"出錯"EndIf

IfNd>0Then"如果有方向觀測值,那么讀入方向觀測值

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)"聲明測站測回數(shù)數(shù)組的大小ReDimbD0(Nd),eD0(Nd),Dir0(Nd)"聲明輔助方向數(shù)組大小Fori=1ToNd

Input#1,strT1,strT2,Dir(i)

Err1=ChkData(strT1,bD(i))"檢查起點并計算起點序號Err2=ChkData(strT2,eD(i))"檢查終點并計算終點序號

txtShow=txtShow&"bD("&i&")="&Pname(bD(i))&";eD("&i&")="&Pname(eD(i))&";dir("&i&")="&Dir(i)&vbCrLfNexti

"讀入的方向數(shù)據(jù)寫入文件并檢查

OpenApp.Path&"\\方向觀測值數(shù)據(jù).txt"ForOutputAs#2Print#2,"方向觀測值中誤差md="&mD

15

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

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"方向輸入錯誤",1,"輸入出錯""統(tǒng)計每個測站的方向數(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"讀取近似坐標的計算路線Fori=1Toun

Input#1,aa(i),bb(i),cc(i)

Err1=ChkData(strT1,aa(i))"檢查起點并計算起點序號

16

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

Err2=ChkData(strT2,bb(i))"檢查中點并計算終點序號Err3=ChkData(strT3,cc(i))"檢查終點并計算終點序號Nexti

OpenApp.Path&"\\近似坐標計算路線.txt"ForOutputAs#2Print#1,"近似坐標計算路線:"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,"點號相同的計算路線"

Print#1,"aa("&i&")","bb("&i&")","cc("&i&")"Close#1EndIf

IfErr1+Err2+Err3+Err40ThenMsgBox"計算路線有誤",1,"錯誤"NextiEndIfClose#1

Screen.MousePointer=0EndSub

"計算點位誤差橢圓

PrivateSubmnuPointElli_Click()Screen.MousePointer=13

Dimi%,ii%"循環(huán)變量,輔助記數(shù)DimQ1#,Q2#,Q3#,T1#,T2#,T3#,tt#"臨時變量

DimMx#,My#,m#"x、y坐標的誤差以及總的點位誤差DimFai#,Fa#,Fb#"誤差橢圓的偏心率、長軸、短軸

OpenApp.Path&"\\點位誤差橢圓.txt"ForOutputAs#1Print#1,"點位誤差橢圓:"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:這里是角度值

17

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

IfAbs(T1)<1E-16Then

IfQ3>=0ThenFai=90ElseFai=-90Else

Fai=Atn(T2/T1)*57.2958EndIf

IfT1>=0AndT2>=0ThenFai=Fai/2Else

IfT1>=0AndT2測繪程序編制實習報告

IfiMsg=vbCancelThenCancel=TrueEndIfEndSub

"保存計算結(jié)果

PrivateSubmnuSave_Click()DimiMsg%reSave:

CDg1.FileName="":CDg1.Filter="TextFiles(*.TXT)|*.txt"CDg1.Action=2

strFileName=CDg1.FileName

IfstrFileName=""Then

iMsg=MsgBox("請選擇文件名!",vbYesNoCancel,"注意!")IfiMsg=vbYesThenGoToreSave:Else

txtShow.Text=""ExitSubEndIfEndIf

OpenstrFileNameForOutputAs#1Print#1,txtShow.TextClose#1

txtShow.Text=""EndSub

"平差計算

PrivateSubmnuAdjust_Click()Screen.MousePointer=13

"列立誤差方程===================================================================================

DimstrRAsString,S3$"用于顯示內(nèi)容的字符串Dimi%,j%,k%"循環(huán)變量Dimii%,jj%,kk%"輔助記數(shù)變量

DimdX#,dY#,ss#,cosa#,sinA#"列邊長誤差方程所需中間變量DimZ0#,Z1#,a0#"列方向誤差方程所需中間變量Dimai#,bi#,P3(300)AsSingle"一些輔助變量和數(shù)組Dimk1%,k2%,pPp(300)AsInteger"一些輔助變量和數(shù)組

IfNe>0Then"按邊長計算方程系數(shù)

19

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

strR="邊長誤差方程:"&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ù)項

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"按方向計算方程系數(shù)Fori=1Totnjj=5

Z0=0"統(tǒng)計虛擬方程的常數(shù)項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

20

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

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

21

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

"列虛擬誤差方程k2=k2-1

Pa3(i,1)=Pa(ii,1):Pa3(i,3)=Pa(ii,3):qLS(i)=-Ni(i)/(mD^2)

"顯示虛擬誤差方程

strR=strR&"虛擬誤差方程(測站號"&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ù)個數(shù)

DimPvv#,sigma#(100)"用于統(tǒng)計單位權(quán)中誤差的誤差累計量DimdetS,detDir"邊長改正數(shù)、方向改正數(shù)

Dimt#(800,800),R#(100,100),c#(100,100)"臨時的數(shù)組,輔助進行平差解算

"形成法方程

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

22

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

kk=Int(Pa(i,2*k-1))

Ifkk>0Andjj測繪程序編制實習報告

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"改化坐標

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))

"顯示計算結(jié)果

txtShow.Text=txtShow.Text&vbCrLf

OpenApp.Path&"\\平差結(jié)果.txt"ForOutputAs#1Print#1,"坐標計算結(jié)果(m):"

Print#1,"點號原X坐標X坐標平差值Y坐標平差值Vy"

24

測繪C101蒲軒106684習題7.17

Vx原Y坐標測繪程序編制實習報告

txtShow.Text=txtShow.Text&"坐標計算結(jié)果(m):"&vbCrLf

txtShow=txtShow&"點號原X坐標X坐標平差值Vx原Y坐標Y坐標平差值Vy"&vbCrLfFori=nn+1Totn

"給Y坐標加上帶號和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

"由方向值求夾角值:夾角的三個點,角頂點在中間,返回夾角值;參數(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()

25

測繪C101蒲軒106684習題7.1測繪程序編制實習報告

frmMain.Visible=FalseForm1.Visible=TrueEndSub

測繪C101蒲軒106684習題7.126

7

友情提示:本文中關(guān)于《平面和高程控制測量實訓總結(jié)》給出的范例僅供您參考拓展思維使用,平面和高程控制測量實訓總結(jié):該篇文章建議您自主創(chuàng)作。

來源:網(wǎng)絡整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。


平面和高程控制測量實訓總結(jié)》由互聯(lián)網(wǎng)用戶整理提供,轉(zhuǎn)載分享請保留原作者信息,謝謝!
鏈接地址:http://m.weilaioem.com/gongwen/446141.html
相關(guān)文章