版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、PAGE1 / NUMPAGES41畢業(yè)設(shè)計設(shè)計題目坐標(biāo)轉(zhuǎn)換參數(shù)求取及坐標(biāo)轉(zhuǎn)換程序設(shè)計學(xué)生XXX威指導(dǎo)教師杜繼亮專業(yè)測繪工程班級測繪12-2班填寫日期2016/4/6礦業(yè)工程學(xué)院摘要坐標(biāo)系統(tǒng)是測量工作中定位的基礎(chǔ),坐標(biāo)系統(tǒng)有多種形式和基準(zhǔn),由于各測量工作目的不同,所選用的坐標(biāo)基準(zhǔn)也會不同,根據(jù)不同的工作要求需要將不同的坐標(biāo)系下的坐標(biāo)進(jìn)行相互轉(zhuǎn)換。在這些坐標(biāo)轉(zhuǎn)換的過程中會用到很多坐標(biāo)轉(zhuǎn)換模型,但是坐標(biāo)系轉(zhuǎn)換模型過于復(fù)雜手算非常困難。本設(shè)計為了方便施工時遇到的坐標(biāo)轉(zhuǎn)換問題,設(shè)計利用VisualBasic6.0編程語言編寫程序,用來實現(xiàn)坐標(biāo)系統(tǒng)之間的轉(zhuǎn)換以及轉(zhuǎn)換參數(shù)的求解,例如:大地坐標(biāo)與空間直角坐
2、標(biāo)的相互轉(zhuǎn)換、高斯投影正反算、二維坐標(biāo)轉(zhuǎn)換與四參數(shù)計算、三維坐標(biāo)轉(zhuǎn)換與七參數(shù)轉(zhuǎn)換、同參考基準(zhǔn)下的坐標(biāo)換帶計算,以及坐標(biāo)數(shù)據(jù)的批量處理。關(guān)鍵字:坐標(biāo)系統(tǒng),轉(zhuǎn)換模型,坐標(biāo)轉(zhuǎn)換,程序設(shè)計IAbstractThebaseofcoordinatesysteminsurveyingwork.therearemanyformsandbenchmarksinthecoordinatesystem.However,ingeneralengineering,thecontrolpointandcoordinate.Systemarethesame.SoItisnecessarytotransformthecont
3、rolpoint.coordinateduringtheconstructionprocess.Duetodifferentpurposesofeachmeasurementandtheselected.differentcoordinatereferences,therewillbemanydifferentcoordinatesystems.Coordinatesystemsusedinthemeasurementworkareasfollows:WGS-84WorldGeodeticSystem,ChinaGeodeticCoordinateSystem2000,NationalGeod
4、eticCoordinateSystem1980,Beijingcoordinatesystem1954andLocalCoordinateSystem.Therearespacerectangularcoordinate,geodeticcoordinateandplanecoordinateinthewayofthereferenceinthesamecoordinate.Accordingtotherequirementsofdifferenttasks,weneedtoconvertcoordinatesunderthedifferentcoordinatesystems.Oncond
5、itionthatthecoordinatesofthereferencestandardcanbeobtained.thenormalconstructionworkcanbedone.Alotofcoordinatetransformationmodelsareusedintheprocessofthecoordinatetransformation.Butthecoordinatetransformationmodelisverycomplexanddifficult.Nowadaystheconversionformulaissuitableforthecomputerizationw
6、hoselanguageiseasytolearn.SointhedesignImakeuseofVisualBasic6programminglanguagetorealizethetransformationbetweenthecoordinatesystemandtransformationparameters.Keywords:coordinatesystemstransformationmodelcoordinatetransformprogrammingII目錄摘要IAbstractII第1章緒論11.1研究背景和意義11.2國內(nèi)外研究現(xiàn)狀11.3研究的主要內(nèi)容21.4程序設(shè)計思路
7、方法2第2章坐標(biāo)理論和知識32.1地球橢球32.2基準(zhǔn)32.3測量常用坐標(biāo)系42.3.1大地坐標(biāo)系42.3.2空間直角坐標(biāo)系42.3.3平面坐標(biāo)系52.3.4地方獨立坐標(biāo)系52.4我國常用坐標(biāo)系62.4.11954年坐標(biāo)系62.4.21980國家大地坐標(biāo)系62.4.3WGS-84世界大地坐標(biāo)系62.4.42000國家大地坐標(biāo)系7第3章坐標(biāo)轉(zhuǎn)換程序設(shè)計143.1大地坐標(biāo)系與空間直角坐標(biāo)系的轉(zhuǎn)換153.1.1大地坐標(biāo)轉(zhuǎn)換成空間直角坐標(biāo)錯誤!未定義書簽。3.1.2空間直角坐標(biāo)轉(zhuǎn)成換大地坐標(biāo)錯誤!未定義書簽。3.2高斯平面坐標(biāo)與大地坐標(biāo)的轉(zhuǎn)換17III3.2.1高斯正算錯誤!未定義書簽。3.2.2高斯
8、反算錯誤!未定義書簽。3.3高斯投影換帶計算183.4二維坐標(biāo)轉(zhuǎn)換與四參數(shù)計算203.5三維坐標(biāo)轉(zhuǎn)換與七參數(shù)計算223.6三、六度帶帶號與中央子午線計算23第4章設(shè)計總結(jié)27致謝33參考文獻(xiàn)34IV第1章緒論1.1研究背景和意義隨著大地測量學(xué),攝影測量學(xué)的發(fā)展和電子計算機(jī)的普及,對各種坐標(biāo)系的研究變得越來越重要了1。隨著現(xiàn)在社會的快速發(fā)展,各種各樣的大型工程的建設(shè),凡是工程施工就必定需要坐標(biāo)來定位才可以,而建造的地方又不同,又沒有一個滿足全部地方的坐標(biāo)系統(tǒng),所以產(chǎn)生多種不同的坐標(biāo)系統(tǒng),實際工作中測量人員必定會按照實際情況選擇最為合適的坐標(biāo)系統(tǒng)。而坐標(biāo)系統(tǒng)之間的轉(zhuǎn)換比較復(fù)雜,手算工作量巨大,因而
9、各種坐標(biāo)轉(zhuǎn)換模型相繼出現(xiàn),利用計算機(jī)強(qiáng)大的數(shù)據(jù)計算能力可以輕松應(yīng)對這些問題,提高工作效率。坐標(biāo)轉(zhuǎn)換的意義重大,不僅在我們熟知的工程領(lǐng)域中,在國防建設(shè)、航空航天科技、城市匯劃等眾多領(lǐng)域中都發(fā)揮著重要的作用,可以說對社會進(jìn)步有著必不可少的作用。1.2國內(nèi)外研究現(xiàn)狀自60年代以來,各國大地測量學(xué)者,經(jīng)過大量研究,提出了多種坐標(biāo)轉(zhuǎn)換模型及多種解算方法,北美1927基準(zhǔn)面(基于克拉克1966橢球體與北美1983基準(zhǔn)面(基于GRS1980橢球體)之間坐標(biāo)轉(zhuǎn)換是根據(jù)研究區(qū)內(nèi)一系列己知點的大地坐標(biāo)或網(wǎng)格坐標(biāo)改正量進(jìn)行插值進(jìn)行的坐標(biāo)系轉(zhuǎn)換;英XX用北向與東向的雙線性網(wǎng)格插值進(jìn)行坐標(biāo)轉(zhuǎn)換;挪威在海岸帶調(diào)查中,采用
10、經(jīng)緯度多項式用于坐標(biāo)系轉(zhuǎn)換這種方法進(jìn)行新(ED87一歐洲1987基準(zhǔn)面)、舊(ED50一歐洲1950基準(zhǔn)面)坐標(biāo)系之間的轉(zhuǎn)換:歐洲石油勘探組織(EPSG)對新、舊坐標(biāo)系采用“雙線性插值”進(jìn)行坐標(biāo)轉(zhuǎn)換2。國內(nèi)空間三維直角坐標(biāo)轉(zhuǎn)換中,一般采用布爾莎七參數(shù)模型。一般有7個轉(zhuǎn)換參數(shù),即3個平移參數(shù),3個旋轉(zhuǎn)參數(shù)和1個尺度參數(shù)。需要三個及已經(jīng)公共點時,才能利用平差的方法求出七參數(shù)。11.3研究的主要內(nèi)容本坐標(biāo)轉(zhuǎn)換程序可實現(xiàn)功能有:1、大地坐標(biāo)與空間直角坐標(biāo)的相互轉(zhuǎn)換,2、高斯投影正反算,3、二維坐標(biāo)轉(zhuǎn)換與四參數(shù)計算,4、三維坐標(biāo)轉(zhuǎn)換與七參數(shù)轉(zhuǎn)換,5、同參考基準(zhǔn)下的坐標(biāo)換帶計算,以及坐標(biāo)數(shù)據(jù)的批量處理。1
11、.4程序設(shè)計思路方法本程序名為萬能坐標(biāo)轉(zhuǎn)換器。設(shè)計前期收集相關(guān)資料,參考一些成熟的坐標(biāo)轉(zhuǎn)換軟件,確定程序應(yīng)有的功能以及界面設(shè)計。運(yùn)用VB編寫程序時,查閱相關(guān)書籍獲取理論知識以及轉(zhuǎn)換模型。完成程序后將已知正確數(shù)據(jù)帶入其中驗證程序結(jié)果是否正確。若出現(xiàn)錯誤則檢查每步代碼,直到程序完美運(yùn)行為止。2第2章基礎(chǔ)知識準(zhǔn)備2.1地球橢球地球橢球體又稱地球橢圓體或地球扁球體,代表地球大小和形狀的數(shù)學(xué)曲面,以長半徑和扁率表示,因它十分迫近于橢球體,故通常以參考橢球體表示地球橢球體的形狀和大小。通常所說地球的形狀和大小,實際上就是以參考橢球體的半長徑、半短徑和扁率來表示。1975年國際大地測量與地球物理聯(lián)合會推薦的
12、數(shù)據(jù)為:半長徑6378140米,半短徑6356755米,扁率1298.257。在眾多橢球體中,WGS-84橢球體被認(rèn)為符合上述條件最好的橢球。2.2基準(zhǔn)所謂基準(zhǔn)是指為描述空間位置而定義的點、線和面。而大地測量基準(zhǔn)是指用以描述地球形狀的地球橢球參數(shù),包含描述地球橢球幾何特征的長短半軸和物理特征的有關(guān)參數(shù)、地球在空間的定位及定向以及描述這些位置所采用的單位長度的定義。不同的坐標(biāo)系統(tǒng)會使用的基準(zhǔn)也不同,根據(jù)參考橢球所選原點位置不同,可以分為地心坐標(biāo)系和參心坐標(biāo)系。地心坐標(biāo)系是以地球的質(zhì)心為原點,有地心大地坐標(biāo)系和地心空間直角坐標(biāo)系兩種表述方法。地心空間直角坐標(biāo)系的定義為:以地球質(zhì)心為原點,X軸指向格
13、林尼治子午面與地球赤道的交點,Z軸指向北極,Y軸過原點垂直于平面XOZ,構(gòu)成右手空間直角坐標(biāo)系。地心大地坐標(biāo)系定義為:以地球的質(zhì)心作為原點,以地球自轉(zhuǎn)軸作為橢球的短軸,大地緯度B是過地面點的橢球法線與橢球赤道面之間的夾角,大地經(jīng)度L為過地面點的橢球子午面與格林尼治子午面之間的夾角,大地高度H為地面點沿橢球法線到橢球面的最短距離。WGS-84坐標(biāo)系,CGCS2000坐標(biāo)系,GLONASS是采用PZ-90坐標(biāo),都是屬于地心坐標(biāo)系。3參心坐標(biāo)系是選取一個參考橢球面作為基本的參考面,選一參考點作為大地測量的起算點,從而確定參考橢球在地球面的位置和方向。這時參考橢球的原點不會和地球質(zhì)心重合,所以稱為參心
14、。54坐標(biāo)系、XX80坐標(biāo)系和新54坐標(biāo)系,都是參心坐標(biāo)系。它同樣具有參心大地坐標(biāo)系和參心空間直角坐標(biāo)系兩種表述方法,它們的定義與地心坐標(biāo)系的定義相似。2.3測量常用坐標(biāo)系2.3.1大地坐標(biāo)系空間一點的大地坐標(biāo)用大地經(jīng)度L、大地緯度B和大地高度H表示,地面上P地點的大地子午面NPS與起始大地子午面所構(gòu)成的二面角L稱P地點的大地經(jīng)度,P地點對于橢球的法線與赤道面的夾角B稱P地點的大地緯度。如圖2-1所示圖2-1大地坐標(biāo)系P地點沿法線到橢球面的距離H稱大地高,從橢球面起算,向外為正,向內(nèi)為負(fù)3。H=H正常+(高程異常)H=H正+N(大地水準(zhǔn)面差距)2.3.2空間直角坐標(biāo)系4空間直角坐標(biāo)系的坐標(biāo)原點
15、與參考橢球的中心重合,Z軸正向指向參考橢球的北極,X軸正向指向起始子午面與赤道的交點,Y軸按右手系與X軸呈90夾角且位于赤道面上,某點在空間中的坐標(biāo)可用該點在此空間坐標(biāo)系的各個坐標(biāo)軸上的投影來表示4。如圖2-2所示:圖2-2空間直角坐標(biāo)系2.3.3平面坐標(biāo)系平面直角坐標(biāo)系是利用投影,將空間坐標(biāo)通過某種數(shù)學(xué)變換映射到平面5上,這種變換稱為投影變換。在我國一般采用的是高斯一克呂格投影,是目前測量上廣泛采用的正形投影,特點是沒有角度變形,在不同點上的長度比隨點位而異,但在同一點上各方向的長度比相同,也稱為高斯投影6。2.3.4地方獨立坐標(biāo)系在我國平面坐標(biāo)主要采用的是高斯投影,在該投影中,除中央子午線
16、外,其它位置上的任何線段,投影后都會產(chǎn)生一定的長度變形,而且變形隨離開7中央子午線的距離增加而增加。因此一般采用分帶投影的辦法,來限制長度變形,我國規(guī)定了采用3度帶或6度帶進(jìn)行分帶投影。在城市、工礦等工5程測量中,如果直接在國家分帶坐標(biāo)系中建立控制網(wǎng),會使地面長度投影的變形較大,當(dāng)長度變形大于25cm/km時,就難以滿足工程上的需要8。另一些特殊的測量,比如大橋施工測量,水利水壩測量,滑坡變形監(jiān)測等,采用國家坐標(biāo)系精度不能滿足工程要求,所以常常會建立適合本地區(qū)的地方獨立坐標(biāo)系9。2.4我國常用坐標(biāo)系2.4.11954年坐標(biāo)系1954年坐標(biāo)系,是采取先將我國一等鎖與前蘇聯(lián)遠(yuǎn)東一等鎖相聯(lián)接,然后以
17、連接處呼瑪,吉拉林,東寧基線網(wǎng)擴(kuò)大邊端點的前蘇聯(lián)1942年普爾科沃坐標(biāo)系的坐標(biāo)為起算數(shù)據(jù),平差我國東北及東部一等鎖10。橢球參數(shù):長半軸a=6378245m,短半軸b=6356863.0188m,扁率=1/298.3,第一偏心率平方e2=0.00669342161454287,第二偏心率平方e2=0.0067385254061465。22.4.21980國家大地坐標(biāo)系1980國家大地坐標(biāo)系采用地球橢球基本參數(shù)為1975年國際大地測量與地球物理聯(lián)合會第十六屆大會推薦的數(shù)據(jù),大地原點設(shè)在我國中部的XX省涇陽縣永樂鎮(zhèn),位于XX市西北方向約60公里。橢球參數(shù):長半軸a=63781405m,短半軸b=6
18、356755.2882m,扁率=1/298.257,第一偏心率平方e2=0.00669438499959,第二偏心率平方e2=0.0067395018194。72.4.3WGS-84世界大地坐標(biāo)系WGS-84坐標(biāo)系是一種國際上采用的地心坐標(biāo)系。坐標(biāo)原點為地球質(zhì)心,其地心空間直角坐標(biāo)系的Z軸指向BIH(國際時間服務(wù)機(jī)構(gòu))1984.0定義6的協(xié)議地球極(CTP)方向,X軸指向BIH1984.0的零子午面和CTP赤道的交點,Y軸與Z軸、X軸垂直構(gòu)成右手坐標(biāo)系,稱為1984年世界大地坐標(biāo)系統(tǒng)。橢球參數(shù):長半軸a=6378137,短半軸b=6356752.3142,扁率=1/298.2572236,第一
19、偏心率平方e2=0.00669437999013,第二偏心率平方e2=0.00673949674222。72.4.42000國家大地坐標(biāo)系CGCS2000是(中國)2000國家大地坐標(biāo)系的縮寫,該坐標(biāo)系是通過中國GPS連續(xù)運(yùn)行基準(zhǔn)站、空間大地控制網(wǎng)以及天文大地網(wǎng)與空間地網(wǎng)聯(lián)合平11差建立的地心大地坐標(biāo)系統(tǒng)。Z軸指向BIH1984.0定義的協(xié)議極地方向(BIH國際時間局),X軸指向BIH1984.0定義的零子午面與協(xié)議赤道的交點,Y軸按右手坐標(biāo)系確定。橢球參數(shù):長半軸a=6378137,短半軸b=6356752.31414,扁率=1/298.2572236,第一偏心率平方e2=0.0066943
20、7999013,第二偏心率平方e2=0.00673949674222。72.5坐標(biāo)轉(zhuǎn)換模型2.5.1大地坐標(biāo)系與空間直角坐標(biāo)系轉(zhuǎn)換模型將同一坐標(biāo)系下的大地坐標(biāo)(B,L,H)轉(zhuǎn)換成空間直角坐標(biāo)(X,Y,Z)的轉(zhuǎn)換公式為:7式中:a為參考橢球長半軸,e為第一偏心率,N為卯酉圈的半徑12。將同一坐標(biāo)系下的空間直角坐標(biāo)(X,Y,Z)轉(zhuǎn)換為大地坐標(biāo)(B,L,H)的公式為:L=arctan()B=arctan()H=用公式進(jìn)行空間直角坐標(biāo)轉(zhuǎn)換大地坐標(biāo)時,需要采用迭代計算大地緯度B。具體計算時,可先根據(jù)下式求出大地緯度B的初值:因為,帶入B=arctan()得:令:則式子可寫成然后利用該初值B代入公式右端t
21、anB中,將等式左邊的結(jié)果再次代入右端tanB,直到最后兩次B值之差小與允許誤差為止。當(dāng)?shù)玫酱蟮鼐暥菳后,代入公式即可求出大地高H。2.5.2高斯正反算轉(zhuǎn)換模型得到了點的大地坐標(biāo)(L,B),就可以將其轉(zhuǎn)化為某投影帶的高斯平面坐標(biāo),我們將橢球參數(shù)代入高斯投影正算公式得到更適用于電算的高斯坐標(biāo)計算的實用公式:8其計算結(jié)果的精度可達(dá)0.001m。只要得到了高斯平面坐標(biāo)(X,Y)后,便可通過高斯反算公式將其轉(zhuǎn)換成大地坐標(biāo)(B,L),高斯投影反算公式為:9它們的計算精度,即平面坐標(biāo)可達(dá)。2.5.3坐標(biāo)轉(zhuǎn)換與參數(shù)計算轉(zhuǎn)換模型二維轉(zhuǎn)換模型:2個平移參數(shù)(原點不重合產(chǎn)生的)1個旋轉(zhuǎn)參數(shù)(坐標(biāo)軸不平行產(chǎn)生的)1
22、個尺度參數(shù)(兩坐標(biāo)系間的尺度不一致產(chǎn)生的)為某點在A空間直角坐標(biāo)系中的坐標(biāo)。為某點在B空間直角坐標(biāo)系中的坐標(biāo)。為某點從A空間直角坐標(biāo)系轉(zhuǎn)換到B空間直角坐標(biāo)系的兩個平移參數(shù)。為從A空間直角坐標(biāo)系轉(zhuǎn)換到B空間直角坐標(biāo)系中標(biāo)系的兩個平移參數(shù)。為從A空間直角坐標(biāo)系轉(zhuǎn)換到B空間直角坐標(biāo)系中10一個旋轉(zhuǎn)參數(shù)。m為從A空間直角坐標(biāo)系轉(zhuǎn)換到B空間直角坐標(biāo)系中的一個尺度參數(shù)。平面四參數(shù)求解步驟如下:利用公共點計算坐標(biāo)參數(shù),但至少有兩個公共點,當(dāng)有i個公共點時,可利用最小二乘原理求解參數(shù)。將B直角坐標(biāo)系中的坐標(biāo)視為觀測值,設(shè)A直角坐標(biāo)系下的坐標(biāo)視為無誤差,列誤差方程為:寫成矩陣形式既:由于各點的坐標(biāo)可視為同精度獨
23、立觀測值,因此P=I。把各點坐標(biāo)已知值帶入上述誤差方程,然后按下列公式求解出四參數(shù):三維轉(zhuǎn)換模型:3個平移參數(shù)(原點不重合產(chǎn)生的)3個旋轉(zhuǎn)參數(shù)(坐標(biāo)軸不平行產(chǎn)生的)1個尺度參數(shù)(兩坐標(biāo)系間的尺度不一致產(chǎn)生的)11一般為微小轉(zhuǎn)角,模型可簡化為:為某點在A空間直角坐標(biāo)系中的坐標(biāo)。為某點在B空間直角坐標(biāo)系中的坐標(biāo)。為某點從A空間直角坐標(biāo)系轉(zhuǎn)換到B空間直角坐標(biāo)系的三個平移參數(shù)。為從A空間直角坐標(biāo)系轉(zhuǎn)換到B空間直角坐標(biāo)系中三個旋轉(zhuǎn)參數(shù)。m為從A空間直角坐標(biāo)系轉(zhuǎn)換到B空間直角坐標(biāo)系中的一個尺度參數(shù)。七參數(shù)求解步驟如下:利用公共點計算坐標(biāo)參數(shù),但至少有三個公共點,當(dāng)有i個公共點時,可利用最小二乘原理求解參數(shù)
24、。將B空間直角坐標(biāo)系中的坐標(biāo)視為觀測值,設(shè)A空間直角坐標(biāo)系下的坐標(biāo)視為無誤差,列誤差方程為:12寫成矩陣形式既:由于各點的坐標(biāo)可視為同精度獨立觀測值,因此P=I。把各點坐標(biāo)已知值帶入上述誤差方程,然后按下列公式求解出七參數(shù):2.5.4三、六度帶帶號與中央子午線計算模型求帶號、中央子午線公式為:3帶:帶號中央子午線L為當(dāng)?shù)亟?jīng)度6帶:帶號中央子午線L為當(dāng)?shù)亟?jīng)度13第3章坐標(biāo)轉(zhuǎn)換程序設(shè)計計劃程序有哪些功能程序界面設(shè)計搜集坐標(biāo)轉(zhuǎn)換公式運(yùn)用VB編寫程序檢查能否正常運(yùn)行以及數(shù)據(jù)正確性否是完成程序圖3-1編寫程序流程圖14圖3-2程序主界面3.1大地坐標(biāo)系與空間直角坐標(biāo)系的轉(zhuǎn)換主要代碼如下:橢球參數(shù)設(shè)置If
25、Combo1.Text=WGS-84Thena1=6378137:b1=6356752.3142a1為長半軸,b1為短半軸Text7.Text=a1:Text8.Text=b1ElseIfCombo1.Text=CGCS2000Thena1=6378137:b1=6356752.31414Text7.Text=a1:Text8.Text=b1ElseIfCombo1.Text=54Thena1=6378245:b1=6356863.0188Text7.Text=a1:Text8.Text=b1ElseIfCombo1.Text=XX80Then15a1=6378140:b1=6356755.2
26、882Text7.Text=a1:Text8.Text=b1ElseIfCombo1.Text=自定義ThenText7.Enabled=True:Text8.Enabled=Truea1=Text7.Text:b1=Text8.TextEndIf大地坐標(biāo)轉(zhuǎn)空間直角坐標(biāo)主要代碼B=Text1.Text:L=Text2.Text:H=Text3.Texte12=(a12-b12)/a12N=a1/Sqr(1-e12*(Sin(DuToHu(B)2)x=(N+H)*Cos(DuToHu(B)*Cos(DuToHu(L)y=(N+H)*Cos(DuToHu(B)*Sin(DuToHu(L)z=(N*
27、(1-e12)+H)*Sin(DuToHu(B)Text4.Text=x:Text5.Text=y:Text6.Text=z空間直角坐標(biāo)轉(zhuǎn)大地坐標(biāo)主要代碼x=Text4.Text:y=Text5.Text:z=Text6.TextL=HuToDu(Atn(y/x)計算經(jīng)度Ify/x0ThenL=HuToDu(Atn(y/x)+3.14159265358979)EndIfe12=(a12-b12)/a12第一偏心率平方TB=z/Sqr(x2+y2)初始緯度B正切值c1=(a12)/b1t=z/Sqr(x2+y2)p=(c1*e12)/Sqr(x2+y2)k=1+(a12-b12)/b12TB1=
28、t+(p*TB)/Sqr(k+TB2)用TanB作為未知量DoUntilAbs(TB1-TB)0.000000000001迭代法TB=TB1TB1=t+(p*TB)/Sqr(k+TB2)LoopB=Atn(TB)N=a1/Sqr(1-e12*(Sin(B)2)卯酉圈曲率半徑H=z/Sin(B)-N*(1-e12)大地高Text1.Text=HuToDu(B):Text2.Text=L:Text3.Text=H163.2高斯平面坐標(biāo)與大地坐標(biāo)的轉(zhuǎn)換高斯平面坐標(biāo)(X,Y)與大地坐標(biāo)(B,L)的相互關(guān)系式分為兩類:第一類稱高斯投影正算公式,由(B,L)求(X,Y);第二類稱高斯投影反算公式,由(X,
29、Y)求(B,L)13。由于電子計算機(jī)和各種可編程序電子計算器在測量上廣泛應(yīng)用,因此在這里給出適合電算的高斯正反算公式。主要代碼如下:正算DimB,L,x,yAsDoubleDimN,a1,b1,c,e12,e22,e1,e2,ll,l0,nn,tAsDoubleDimXX,bb0,bb2,bb4,bb6,bb8AsDoubleDimyjAsDoubleDimmf,nf,nnf,tf,bf,bf1AsDoubleB=Text1.Text:L=Text2.Textl0=Text5.Text輸入中央子午線經(jīng)度yj=Text8.TextY坐標(biāo)加常數(shù)a1=Text6.Text:b1=Text7.Text
30、橢球長短半軸e12=(a12-b12)/a12第一偏心率平方e22=(a12-b12)/b12第二偏心率平方e1=Sqr(a12-b12)/a12)第一偏心率e2=Sqr(a12-b12)/b12)第二偏心率c=a1/Sqr(1-e12)極點子午線曲率半徑bb0=1-(3/4)*e22+(45/64)*e222-(175/256)*e223+(11025/16384)*e224bb2=bb0-1bb4=(15/32)*e222-(175/384)*e223+(3675/8192)*e224bb6=-(35/96)*e223+(735/2048)*e224bb8=(315/1024)*e224l
31、l=(Du(L)-l0)/57.295779513N=a1/Sqr(1-e12*(Sin(DuToHu(B)2)卯酉圈曲率半徑t=Sin(DuToHu(B)/Cos(DuToHu(B)nn=e2*Cos(DuToHu(B)17XX=c*(bb0*DuToHu(B)+(bb2*Cos(DuToHu(B)+bb4*(Cos(DuToHu(B)3)+bb6*(Cos(DuToHu(B)5)+bb8*(Cos(DuToHu(B)7)*Sin(DuToHu(B)子午線弧長x=XX+(N/2)*Sin(DuToHu(B)*Cos(DuToHu(B)*(ll2)+(N/24)*Sin(DuToHu(B)*(
32、Cos(DuToHu(B)3)*(ll4)*(5-t2+9*(nn2)+4*(nn4)+(N/720)*Sin(DuToHu(B)*(Cos(DuToHu(B)5)*(ll6)*(61-58*(t2)+(t4)y=N*Cos(DuToHu(B)*ll+(N/6)*(Cos(DuToHu(B)3)*(ll3)*(1-t2+nn2)+(N/120)*(Cos(DuToHu(B)5)*(ll5)*(5-18*(t2)+t4+14*(nn2)-58*(t2)*(nn2)反算x=Text3.Text:y=Text4.Texty=y-yjbf=x/(c*bb0)迭代Dobf1=(x/c)-(bb2*Cos
33、(bf)+bb4*(Cos(bf)3)+bb6*(Cos(bf)5)+bb8*(Cos(bf)7)*Sin(bf)/bb0LoopUntilAbs(bf-bf1)0.000000001mf=(a1*(1-e12)/(Sqr(1-e12*(Sin(bf)2)3)tf=Sin(bf)/Cos(bf)nnf=e2*Cos(bf)nf=a1/Sqr(1-e12*(Sin(bf)2)B=bf-(tf*(y2)/(2*mf*nf)+(tf*(y4)*(5+3*(tf2)+(nnf2)-9*(nnf2)*(tf2)/(24*mf*(nf3)-(tf*(y6)*(61+90*(tf2)+45*(tf4)/(7
34、20*mf*(nf5)L=y/(nf*Cos(bf)-(1+2*tf2+nnf2)*(y3)/(6*nf3*Cos(bf)+(5+28*(tf2)+24*(tf4)+6*(nnf2)+8*(nnf2)*(tf2)*(y5)/(120*(nf5)*Cos(bf)3.3高斯投影換帶計算高斯投影雖然保證了角度沒有變形,但是長度變形比較嚴(yán)重,為了限制高斯投影的長度變形,必須以中央子午線進(jìn)行分帶,把投影X圍限制在中央子午線東、西側(cè)一定的X圍內(nèi);但是這樣又使得統(tǒng)一的坐標(biāo)系分割成各帶的獨立坐標(biāo)系14。這樣就會產(chǎn)生新的問題,需要鄰帶換算來解決。18主要代碼如下:l1=Text3.Text:yy1=Text4.
35、Text加常數(shù)和中央子午線x=Text9.Text:y=Text10.Text反算y=y-yy1e12=(a12-b12)/a12第一偏心率平方e22=(a12-b12)/b12第二偏心率平方e1=Sqr(a12-b12)/a12)第一偏心率e2=Sqr(a12-b12)/b12)第二偏心率c=a1/Sqr(1-e12)極點子午線曲率半徑bb0=1-(3/4)*e22+(45/64)*e222-(175/256)*e223+(11025/16384)*e224bb2=bb0-1bb4=(15/32)*e222-(175/384)*e223+(3675/8192)*e224bb6=-(35/96
36、)*e223+(735/2048)*e224bb8=(315/1024)*e224bf1=x/(c*bb0)迭代單位弧度Dobf=bf1bf1=(x/c)-(bb2*Cos(bf)+bb4*(Cos(bf)3)+bb6*(Cos(bf)5)+bb8*(Cos(bf)7)*Sin(bf)/bb0LoopUntilAbs(bf-bf1)0.000000001mf=(a1*(1-e12)/(Sqr(1-e12*(Sin(bf)2)3)tf=Sin(bf)/Cos(bf)nnf=e2*Cos(bf)nf=a1/Sqr(1-e12*(Sin(bf)2)BL單位弧度B=bf-(tf*(y2)/(2*mf*
37、nf)+(tf*(y4)*(5+3*(tf2)+(nnf2)-9*(nnf2)*(tf2)/(24*mf*(nf3)-(tf*(y6)*(61+90*(tf2)+45*(tf4)/(720*mf*(nf5)L=y/(nf*Cos(bf)-(1+2*tf2+nnf2)*(y3)/(6*nf3*Cos(bf)+(5+28*(tf2)+24*(tf4)+6*(nnf2)+8*(nnf2)*(tf2)*(y5)/(120*(nf5)*Cos(bf)L=L+DuToHu(l1)正算19l2=Text7.Text:yy2=Text8.Text加常數(shù)和中央子午線ee12=(a12-b12)/a12第一偏心率
38、平方ee22=(a12-b12)/b12第二偏心率平方ee1=Sqr(a12-b12)/a12)第一偏心率ee2=Sqr(a12-b12)/b12)第二偏心率nn=a1/Sqr(1-ee12*(Sin(B)2)卯酉圈曲率半徑tt=Sin(B)/Cos(B)nnn=ee2*Cos(B)cc=a1/Sqr(1-ee12)極點子午線曲率半徑bbb0=1-(3/4)*ee22+(45/64)*ee222-(175/256)*ee223+(11025/16384)*ee224bbb2=bbb0-1bbb4=(15/32)*ee222-(175/384)*ee223+(3675/8192)*ee224bb
39、b6=-(35/96)*ee223+(735/2048)*ee224bbb8=(315/1024)*ee224L=HuToDu(L)ll=(Du(L)-l2)/57.295779513XX=cc*(bbb0*B+(bbb2*Cos(B)+bbb4*(Cos(B)3)+bbb6*(Cos(B)5)+bbb8*(Cos(B)7)*Sin(B)子午線弧長x=XX+(nn/2)*Sin(B)*Cos(B)*(ll2)+(nn/24)*Sin(B)*(Cos(B)3)*(ll4)*(5-tt2+9*(nnn2)+4*(nnn4)+(nnn/720)*Sin(B)*(Cos(B)5)*(ll6)*(61-
40、58*(tt2)+(tt4)y=nn*Cos(B)*ll+(nn/6)*(Cos(B)3)*(ll3)*(1-tt2+nnn2)+(nn/120)*(Cos(B)5)*(ll5)*(5-18*(tt2)+tt4+14*(nnn2)-58*(tt2)*(nnn2)y=y+yy23.4二維坐標(biāo)轉(zhuǎn)換與四參數(shù)計算由于矩陣計算代碼繁瑣,由后臺調(diào)用Excel函數(shù)完成計算。其主要代碼如下:Dimx#,y#,x1#,y1#,dx#,dy#,jd#,k#正算:x1=(Cos(DuToHu(jd)*x-Sin(DuToHu(jd)*y)*k+dxy1=(Sin(DuToHu(jd)*x+Cos(DuToHu(jd
41、)*y)*k+dy20反算:x=(x1-dx)*Cos(DuToHu(jd)+(y1-dy)*Sin(DuToHu(jd)/ky=(x1-dx)*(-Sin(DuToHu(jd)+(y1-dy)*Cos(DuToHu(jd)/k四參數(shù)計算:DimxlsAsExcel.ApplicationDimbookAsExcel.WorkbookDimsheetAsExcel.WorksheetSetxls=CreateObject(Excel.Application)創(chuàng)建EXCEL對象Setbook=xls.Workbooks.Open(Text22.Text)打開已經(jīng)存在的工件簿文件Setsheet=
42、book.Worksheets(1)sheet.Activatea=sheet.UsedRange.Rows.Countm=1Fori=2Toax=xls.Cells(i,2).Value:y=xls.Cells(i,3).ValueXX=xls.Cells(i,4).Value:yy=xls.Cells(i,5).Valuexls.Cells(m,10).Value=XX-x:xls.Cells(m+1,10).Value=yy-y參Lxls.Cells(m,6).Value=1:xls.Cells(m,7).Value=0:xls.Cells(m,8).Value=y:xls.Cells(
43、m,9).Value=xxls.Cells(m+1,6).Value=0:xls.Cells(m+1,7).Value=1:xls.Cells(m+1,8).Value=-x:xls.Cells(m+1,9).Value=ym=m+2NextiRange(Cells(1,11),Cells(4,2*(a+1)+10)=Application.WorksheetFunction.Transpose(Range(Cells(1,6),Cells(2*(a-1),9)參數(shù)B轉(zhuǎn)置Range(Cells(5,11),Cells(8,14)=Application.WorksheetFunction.MM
44、ult(Range(Cells(1,11),Cells(4,2*(a-1)+10),(Range(Cells(1,6),Cells(2*(a-1),9)B轉(zhuǎn)置*BRange(Cells(9,11),Cells(12,14)=Application.WorksheetFunction.MInverse(Range(Cells(5,11),Cells(8,14)矩陣求逆Range(Cells(13,11),Cells(16,11)=Application.WorksheetFunction.MMult(Range(Cells(1,11),Cells(4,2*(a-1)+10),(Range(Cel
45、ls(1,10),Cells(2*(a-1),10)B轉(zhuǎn)置*LRange(Cells(13,13),Cells(16,13)=Application.WorksheetFunction.MMult(Range(Cells(9,11),Cells(12,14),(Range(Cells(13,11),Cells(16,11)四參數(shù)book.Saved=True21xls.Quit3.5三維坐標(biāo)轉(zhuǎn)換與七參數(shù)計算由于矩陣計算代碼繁瑣,由后臺調(diào)用Excel函數(shù)完成計算。其主要代碼如下:Dimx#,y#,z#,x1#,y1#,z1#,dx#,dy#,dz#,jdx#,jdy#,jdz#,k#正算:x1=
46、(x*Cos(DuToHu(jdy)*Cos(DuToHu(jdz)+y*Cos(DuToHu(jdy)*Sin(DuToHu(jdz)+z*(-Sin(DuToHu(jdy)*k+dxy1=(x*(-Cos(DuToHu(jdy)*Sin(DuToHu(jdz)+Sin(DuToHu(jdx)*Sin(DuToHu(jdy)*Cos(DuToHu(jdz)+y*(Cos(DuToHu(jdx)*Cos(DuToHu(jdz)+Sin(DuToHu(jdx)*Sin(DuToHu(jdy)*Sin(DuToHu(jdz)+z*Sin(DuToHu(jdx)*Cos(DuToHu(jdy)*k+
47、dyz1=(x*(Sin(DuToHu(jdx)*Sin(DuToHu(jdz)+Cos(DuToHu(jdx)*Sin(DuToHu(jdy)*Cos(DuToHu(jdz)+y*(-Sin(DuToHu(jdx)*Cos(DuToHu(jdz)+Cos(DuToHu(jdx)*Sin(DuToHu(jdy)*Sin(DuToHu(jdz)+z*Cos(DuToHu(jdx)*Cos(DuToHu(jdy)*k+dz反算:x=(x1-dx)*Cos(DuToHu(jdy)*Cos(DuToHu(jdz)+(y1-dy)*(-Cos(DuToHu(jdy)*Sin(DuToHu(jdz)+Si
48、n(DuToHu(jdx)*Sin(DuToHu(jdy)*Cos(DuToHu(jdz)+(z1-dz)*(Sin(DuToHu(jdx)*Sin(DuToHu(jdz)+Cos(DuToHu(jdx)*Sin(DuToHu(jdy)*Cos(DuToHu(jdz)/ky=(x1-dx)*Cos(DuToHu(jdy)*Sin(DuToHu(jdz)+(y1-dy)*(Cos(DuToHu(jdx)*Cos(DuToHu(jdz)+Sin(DuToHu(jdx)*Sin(DuToHu(jdy)*Sin(DuToHu(jdz)+(z1-dz)*(-Sin(DuToHu(jdx)*Cos(DuT
49、oHu(jdz)+Cos(DuToHu(jdx)*Sin(DuToHu(jdy)*Sin(DuToHu(jdz)/kz=(x1-dx)*(-Sin(DuToHu(jdy)+(y1-dy)*Sin(DuToHu(jdx)*Cos(DuToHu(jdy)+(z1-dz)*Cos(DuToHu(jdx)*Cos(DuToHu(jdy)/k七參數(shù)計算:m=1Fori=2Toax=xls.Cells(i,2).Value:y=xls.Cells(i,3).Value:z=xls.Cells(i,4).Value22XX=xls.Cells(i,5).Value:yy=xls.Cells(i,6).Val
50、ue:zz=xls.Cells(i,7).Valuexls.Cells(m,15).Value=XX-x:xls.Cells(m+1,15).Value=yy-y:xls.Cells(m+2,15).Value=zz-z參數(shù)Lxls.Cells(m,8).Value=1:xls.Cells(m,9).Value=0:xls.Cells(m,10).Value=0:xls.Cells(m,11).Value=0:xls.Cells(m,12).Value=-z:xls.Cells(m,13).Value=y:xls.Cells(m,14).Value=xxls.Cells(m+1,8).Valu
51、e=0:xls.Cells(m+1,9).Value=1:xls.Cells(m+1,10).Value=0:xls.Cells(m+1,11).Value=z:xls.Cells(m+1,12).Value=0:xls.Cells(m+1,13).Value=-x:xls.Cells(m+1,14).Value=yxls.Cells(m+2,8).Value=0:xls.Cells(m+2,9).Value=0:xls.Cells(m+2,10).Value=1:xls.Cells(m+2,11).Value=-y:xls.Cells(m+2,12).Value=x:xls.Cells(m+
52、2,13).Value=0:xls.Cells(m+2,14).Value=zm=m+3NextiRange(Cells(1,16),Cells(7,3*(a-1)+15)=Application.WorksheetFunction.Transpose(Range(Cells(1,8),Cells(3*(a-1),14)參數(shù)B轉(zhuǎn)置Range(Cells(8,16),Cells(14,22)=Application.WorksheetFunction.MMult(Range(Cells(1,16),Cells(7,3*(a-1)+15),(Range(Cells(1,8),Cells(3*(a-
53、1),14)B轉(zhuǎn)置*BRange(Cells(15,16),Cells(21,22)=Application.WorksheetFunction.MInverse(Range(Cells(8,16),Cells(14,22)矩陣求逆Range(Cells(22,16),Cells(28,16)=Application.WorksheetFunction.MMult(Range(Cells(1,16),Cells(7,3*(a-1)+15),(Range(Cells(1,15),Cells(3*(a-1),15)B轉(zhuǎn)置*LRange(Cells(22,18),Cells(28,18)=Appli
54、cation.WorksheetFunction.MMult(Range(Cells(15,16),Cells(21,22),(Range(Cells(22,16),Cells(28,16)七參數(shù)3.6三、六度帶帶號與中央子午線計算在采用分帶的投影坐標(biāo)系統(tǒng)中,我們最常用的是高斯-克呂格投影,它是由德國數(shù)學(xué)家、物理學(xué)家、天文學(xué)家高斯(CarlFriedrichGauss,17771855)于十九世紀(jì)二十年代擬定,后經(jīng)德國大地測量學(xué)家克呂格(JohannesKruger,2318571928)于1912年對投影公式加以補(bǔ)充,所以因此而得名。它是橫軸墨卡托投影的一個變種,高斯-克呂格只是它通俗的名稱
55、,比較專業(yè)的名稱叫做橫軸等角切橢圓柱投影。我國各種大、中比例尺地形圖采用了不同的高斯-克呂格投影帶。其中大于11萬的地形圖采用3帶;12.5萬至150萬的地形圖采用6帶15。其主要代碼如下:Dimdfm,i,d,f,mAsSinglei=Val(Text1.Text)d=Int(i)f=Int(i-d)*100)m=Int(i-d)*100)-Int(i-d)*100)*100)dfm=d+f/60+m/3600Text2.Text=Int(dfm/6)+1Text3.Text=(Int(dfm/6)+1)*6-3&Text4.Text=Int(dfm-1.5)/3)+1Text5.Text=
56、(Int(dfm-1.5)/3)+1)*3&一些主要函數(shù)代碼如下聲明弧度轉(zhuǎn)度.分秒函數(shù):PublicFunctionHuToDu(ByValhuAsDouble)AsDoubleDimDu#,fen#,miao#hu=hu*180/3.1415926535898Du=Fix(hu)hu=(hu-Du)*60fen=Fix(hu)hu=(hu-fen)*60miao=hu+0.00001miao=Format(miao,0.00)Ifmiao=60Thenfen=fen+1miao=0Iffen=60ThenDu=Du+1fen=0EndIf24EndIfHuToDu=Du+fen/100+mi
57、ao/10000EndFunction聲明度.分秒轉(zhuǎn)弧度函數(shù):PublicFunctionDuToHu(ByValdfmAsDouble)AsDoubleDimd#,f#,m#,angle#d=Fix(dfm)dfm=(dfm-d+0.0000000001)*100f=Fix(dfm)m=(dfm-f)*100angle=Format(d+f/60+m/3600,0.00000000000)DuToHu=angle*3.1415926535898/180EndFunction聲明度.分秒轉(zhuǎn)度函數(shù):PublicFunctionDu(ByValdfmAsDouble)AsDoubleDimd#,f#,m#,angle#d=Fix(dfm)dfm=(dfm-d+0.00000001)*100f=Fix(dfm)m=(dfm-f)*100Du=Format(d+f/60+m/3600,0.000000000000)EndFunction聲明秒轉(zhuǎn)度.分秒函數(shù):PublicFunctionMtoDFM(ByValsAsDouble)AsDoubleDimd#,f#,m#d=s/3600f=Fix(d-Fix(d)*60m=(d-Fix(d)*60-f)*60d=Fix(s/3600)MtoDFM=d+f/100+m/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026上半年安徽事業(yè)單位聯(lián)考安慶市宜秀區(qū)招聘23人筆試參考題庫及答案解析
- 2026新疆第一師阿拉爾市大學(xué)生鄉(xiāng)村醫(yī)生專項計劃招聘13人筆試參考題庫及答案解析
- 2026湖南鎂宇科技有限公司第一次招聘8人筆試參考題庫及答案解析
- 2026新疆鴻聯(lián)建設(shè)工程項目管理咨詢有限公司哈密分公司招聘12人考試備考題庫及答案解析
- 2026中國太平洋壽險安順中支招聘13人考試參考題庫及答案解析
- 北京順義高麗營社區(qū)衛(wèi)生服務(wù)中心招聘3人筆試模擬試題及答案解析
- 2026年鋼鐵冶煉高溫防護(hù)措施
- 2026年材料力學(xué)性能實驗中的模塊化設(shè)計
- 2026年甘肅省隴南市武都區(qū)馬營中心衛(wèi)生院金廠分院鄉(xiāng)村醫(yī)生招聘考試備考題庫及答案解析
- 2026上半年貴州事業(yè)單位聯(lián)考大方縣招聘210人筆試模擬試題及答案解析
- 2026貴州省省、市兩級機(jī)關(guān)遴選公務(wù)員357人考試備考題庫及答案解析
- 兒童心律失常診療指南(2025年版)
- 北京通州產(chǎn)業(yè)服務(wù)有限公司招聘備考題庫必考題
- (正式版)DBJ33∕T 1307-2023 《 微型鋼管樁加固技術(shù)規(guī)程》
- 2026年基金從業(yè)資格證考試題庫500道含答案(完整版)
- 2025年寵物疫苗行業(yè)競爭格局與研發(fā)進(jìn)展報告
- 綠化防寒合同范本
- 2025年中國礦產(chǎn)資源集團(tuán)所屬單位招聘筆試參考題庫附帶答案詳解(3卷)
- 氣體滅火系統(tǒng)維護(hù)與保養(yǎng)方案
- GB/T 10922-202555°非密封管螺紋量規(guī)
- ESD護(hù)理教學(xué)查房
評論
0/150
提交評論