【正文】
d Module三、移動曲面擬合法求解X程序運(yùn)行代碼:Imports 39。 全選主元,消元Dim i, j, k, N, nIs(), nJs()As Integer Dim D As Double, p As Double N = UBound(a, 1)ReDim nIs(N), nJs(N)For k = 1 To N D = !For i = k To N For j = k To N p = (a(i, j))If(p D)Then D = p nIs(k)= i nJs(k)= j End If Next Next 39。39。 參數(shù): nDouble型二維數(shù)組,體積為n x n。**********************************************************************************39。定義一個結(jié)構(gòu)體存儲已知數(shù)據(jù)信息Dim X_num As Double Dim Y_num As Double桂林理工大學(xué)土木與建筑工程學(xué)院測繪081班Dim Z As Double Dim NO_num As Double Dim Xmove_num As Double Dim Ymove_num As Double End Structure Structure xishujuzheng 39。需要把這個程序發(fā)展為一個有更多算法的實(shí)用型測量程序,以便滿足更多不同測量方向的使用者的需求,同時對于界面的設(shè)計(jì)也需加強(qiáng),除了追求實(shí)用我們還應(yīng)該滿足用戶的審美。移動曲面擬合法求指定點(diǎn)的高程本程序只可以進(jìn)行一個已知平面坐標(biāo)點(diǎn)的高程,它輸出結(jié)果是各個待求系數(shù)量A,B,C,D,E,F的解且系數(shù)F就是待定點(diǎn)的內(nèi)插高程值。六、程序評析界面設(shè)計(jì)程序的界面設(shè)置了一個窗體皮膚顏色更改的按鍵可以依據(jù)個人喜好隨時更改窗體顏色;兩個大大的顯示窗口可以分別顯示待處理數(shù)據(jù)與處理后的數(shù)據(jù),這便于檢查原始數(shù)據(jù)是否輸錯及增強(qiáng)可視化。定義一個結(jié)構(gòu)體存儲系數(shù)矩陣M相關(guān)信息Dim Pi As Double Dim Xi2 As Double Dim Yi2 As Double Dim Yi As Double Dim Xi As Double桂林理工大學(xué)土木與建筑工程學(xué)院測繪081班Dim XiYi As Double Dim L As Double End Structure End Module 定義了結(jié)構(gòu)體存儲已知數(shù)據(jù)點(diǎn)的信息,此結(jié)構(gòu)體可以存儲多個數(shù)組,這樣定義調(diào)用起來比較方便且不容易混亂。五、部分代碼分析結(jié)構(gòu)體的定義(structure函數(shù)):Module 數(shù)組Structure yuanshidata 39。上述示例數(shù)據(jù)計(jì)算結(jié)果的顯示格式如下:桂林理工大學(xué)土木與建筑工程學(xué)院測繪081班程序功能簡介 依據(jù)一定數(shù)量的已知X,Y,Z坐標(biāo),求解一個已知平面坐標(biāo)點(diǎn)的高程。桂林理工大學(xué)土木與建筑工程學(xué)院測繪081班待處理數(shù)據(jù)導(dǎo)入格式第一行:待求點(diǎn)的點(diǎn)號,待求點(diǎn)的X坐標(biāo),待求點(diǎn)的Y坐標(biāo)第二行以后:已知點(diǎn)的點(diǎn)號,已知點(diǎn)的X坐標(biāo),已知點(diǎn)的Y坐標(biāo),已知點(diǎn)的Z坐標(biāo)(前面已有示例)。程序界面程序界面由5個主要功能鍵和2個顯示數(shù)據(jù)的容器構(gòu)成。求出系數(shù)矩陣、權(quán)矩陣和常數(shù)項(xiàng),依據(jù)程序里定義的矩陣轉(zhuǎn)置、矩陣相乘、矩陣求逆函數(shù)運(yùn)用平差原理進(jìn)行平差解算 計(jì)算結(jié)果的輸出計(jì)算的結(jié)果都實(shí)時在文本框中顯示,最后還可以把文本框的內(nèi)容保存在TXT文檔或DAT文檔中。根據(jù)各已知數(shù)據(jù)的點(diǎn)信息給誤差方程的系數(shù)矩陣、權(quán)矩陣和常數(shù)項(xiàng)的各個元素賦值。本程序采用文件方式進(jìn)行輸入,約定文件輸入格式如下: 第一行:待求點(diǎn)的點(diǎn)號,待求點(diǎn)的X坐標(biāo),待求點(diǎn)的Y坐標(biāo)第二行以后:已知點(diǎn)的點(diǎn)號,已知點(diǎn)的X坐標(biāo),已知點(diǎn)的Y坐標(biāo),已知點(diǎn)的Z坐標(biāo) 例如:1,110,110 1,102,110,15 2,109,113,18 3,105,115,19 4,103,103,17 5,108,105,21 6,105,108,15 7,115,104,20 8,118,108,15 9,116,113,17 10,113,118,22桂林理工大學(xué)土木與建筑工程學(xué)院測繪081班移動曲面擬合法計(jì)算過程 已知數(shù)據(jù)平移計(jì)算。二、課程實(shí)驗(yàn)的設(shè)計(jì)內(nèi)容移動曲面擬合法求指定點(diǎn)的高程:運(yùn)用DEM內(nèi)插依據(jù)參考點(diǎn)上的平面坐標(biāo)和高程求出其他待定點(diǎn)上的高程。第一篇:攝影測量實(shí)習(xí)報(bào)告大全桂林理工大學(xué)土木與建筑工程學(xué)院測繪081班攝影測量實(shí)習(xí)報(bào)告實(shí)習(xí)項(xiàng)目:移動曲面擬合法求指定點(diǎn)的高程程序?qū)I(yè):測繪工程班級:測繪姓名:周呂指導(dǎo)老師:設(shè)計(jì)時間:081班30802081122011年6月桂林理工大學(xué)土木與建筑工程學(xué)院測繪081班一、課程實(shí)驗(yàn)?zāi)康臄?shù)據(jù)計(jì)算是測量工作中的一項(xiàng)重要任務(wù),而應(yīng)用計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理是測量人員的一項(xiàng)基本能力。通過此次程序設(shè)計(jì)鍛煉我們應(yīng)用計(jì)算機(jī)的能力以及應(yīng)用程序語言編制測量程序解決實(shí)際問題的能力;通過該課程設(shè)計(jì)的操作與實(shí)踐,使我們在了解使用程序設(shè)計(jì)方法、掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的相關(guān)理論知識和設(shè)計(jì)技巧的基礎(chǔ)上,能夠?qū)⒗碚摻虒W(xué)中涉及到的知識點(diǎn)貫穿起來,應(yīng)用程序語言實(shí)現(xiàn)測量數(shù)據(jù)的程序處理,從而提高面向?qū)ο蟪绦蛟O(shè)計(jì)的綜合設(shè)計(jì)能力,應(yīng)用程序語言來解決測量中的數(shù)據(jù)等問題的實(shí)踐能力。三、程序設(shè)計(jì)思路已知數(shù)據(jù)的輸入需要輸入的數(shù)據(jù)包括已知數(shù)據(jù)的點(diǎn)號、已知高程和平面坐標(biāo)、待求點(diǎn)的點(diǎn)號和平面坐標(biāo)。對DEM一個格網(wǎng)點(diǎn),從數(shù)據(jù)點(diǎn)中檢索出對應(yīng)該DEM格網(wǎng)點(diǎn)的幾個分塊格網(wǎng)中的數(shù)據(jù)點(diǎn),并將坐標(biāo)原點(diǎn)移至該DEM格網(wǎng)點(diǎn)P(Xp,Yp): Xi’=XiXP Yi’=YiYP。 法化求解。四、程序簡介程序運(yùn)行環(huán)境,所以在安裝本程序時先安裝framework 。功能鍵: 計(jì)算、窗體、幫助、清除、退出,下圖是程序計(jì)算時的一個界面。下圖是打開已知數(shù)據(jù)時的一個程序界面:桂林理工大學(xué)土木與建筑工程學(xué)院測繪081班待定點(diǎn)高程計(jì)算單擊計(jì)算按鈕選中要處理的數(shù)據(jù)文件即可開始處理數(shù)據(jù),處理完后顯示并保存到另一文件中。單擊窗體選中窗體皮膚按鍵選擇你所喜歡的界面顏色。定義一個結(jié)構(gòu)體存儲已知數(shù)據(jù)信息Dim X_num As Double Dim Y_num As Double Dim Z As Double Dim NO_num As Double Dim Xmove_num As Double Dim Ymove_num As Double End Structure Structure xishujuzheng 39。例如我們想要所有高程信息我們只需編寫如下代碼即可引用:Dim yshidata()As yuanshidata yshidata(i).Z 所有的已知點(diǎn)數(shù)據(jù)信息均存入yshidata(),而高程信息則存入yshidata(i).gaocha公共函數(shù)的定義(public function): 為了完成平差計(jì)算本程序定義了矩陣的常用運(yùn)算,例如:矩陣相乘drmul(ByVal a(,)As Double,ByVal b(,)As Double)、矩陣求逆Matinv(ByVal a(,)As Double)、矩陣轉(zhuǎn)置drat(ByVal a(,)As Double)等(詳細(xì)代碼見附表一)。由于時間問題本程序的幫助命令做得比較簡單,除了本人的聯(lián)系方式?jīng)]有其他可以及時幫助的命令。通過與老師給的用C語言編制的程序?qū)Ρ?,本程序求出的值與用C語言編制的程序計(jì)算出的值基本一致,用同樣示例數(shù)據(jù)求的F值:本程序求出的F值: C語言編制的程序計(jì)算出的F值: 小結(jié)這個程序的計(jì)算還比較單一,同時界面的設(shè)計(jì)比較簡單;數(shù)據(jù)的導(dǎo)入文件的格式與保存文件格式種類不是很多目前本程序只適用于TXT與DAT格式。七、附表1 代碼:一、存儲數(shù)據(jù)的結(jié)構(gòu)體:Module 數(shù)組Structure yuanshidata 39。定義一個結(jié)構(gòu)體存儲系數(shù)矩陣M相關(guān)信息Dim Pi As Double Dim Xi2 As Double Dim Yi2 As Double Dim Yi As Double Dim Xi As Double Dim XiYi As Double Dim L As Double End Structure End Module二、矩陣運(yùn)算代碼:Module Module1矩陣運(yùn)算Public Function Matinv(ByVal a(,)As Double)As Object39。 功能: 實(shí)矩陣求逆的全選主元高斯-約當(dāng)法39。存放原矩陣A;返回時存放其逆矩陣A1。********************************************************************************** 39。 求解失敗If(D + != !)Then桂林理工大學(xué)土木與建筑工程學(xué)院測繪081班MsgBox(“矩陣不能求逆”)39。讀文件應(yīng)寫的格式 Imports Public Class Form1 39。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。amp。7攝影測量程序定義的變量Dim filenum, datanum As Integer Dim rootLJ As String Dim ukx As Double 39。 定義M矩陣Dim XA(,)As String Private Sub 控制網(wǎng)平差ToolStripMenuItem_Click(ByVal sender As , ByVal e As )Handles Dim Fold_d As New 39。定義文件類型()Dim filearr()As String Dim tt As String = ”“ Dim strread As String = ”“ Dim datanum As Integer If ”“ Then = ”“ 39。讀文件固定格式While = False strread = 39。計(jì)算文件有多少行ReDim Preserve filearr(datanum)39。將所讀文件賦值于數(shù)組End If End While filenum = datanum1桂林理工大學(xué)土木與建筑工程學(xué)院測繪081班dat = filearr(i + 1).Split(”,“)yshidata(i).NO_num = dat(0)