本文摘要:Python語言是一種腳本語言,本篇本科生論文采用Python開發(fā)環(huán)境與機制編制高斯投影計算模塊,可高效處理各類的高斯計算;再配合ARCGIS的ARCPY模塊可在Python下高效的處理各類地理空間數(shù)據(jù);并具有較好的移植性與通用性,并也能在不同的操作系統(tǒng)中進(jìn)行計算。 《
Python語言是一種腳本語言,本篇本科生論文采用Python開發(fā)環(huán)境與機制編制高斯投影計算模塊,可高效處理各類的高斯計算;再配合ARCGIS的ARCPY模塊可在Python下高效的處理各類地理空間數(shù)據(jù);并具有較好的移植性與通用性,并也能在不同的操作系統(tǒng)中進(jìn)行計算。
《現(xiàn)代測量與實驗室管理》(曾用刊名:現(xiàn)代計量測試;國外計量),1993年創(chuàng)刊,是講師科學(xué)刊物!冬F(xiàn)代測量與實驗室管理》主要報道國外新的講師基準(zhǔn)與標(biāo)準(zhǔn)的建立與改進(jìn)、國外新的檢定技術(shù)與裝置、國外新的測試技術(shù)與裝置、國外各講師專業(yè)的現(xiàn)狀與發(fā)展趨勢、國外新研制的講師器具及設(shè)備。
本文基于python腳本語言編制了測量廠用的高斯投影正、反計算工具。有效的解決了在python及ARCGIS環(huán)境中高斯投影計算工作;并具有一定的靈活性。工具以在全國第一次地理國情普查數(shù)據(jù)生產(chǎn)中進(jìn)行了批量性驗證。
關(guān)鍵詞:Python; 高斯投影
1、Python語言概述
Python是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言。Python的設(shè)計具有很強的可讀性,相比其他語言經(jīng)常使用英文關(guān)鍵字,其他語言的一些標(biāo)點符號,它具有比其他語言更有特色語法結(jié)構(gòu)。Python吸收了Perl,TCL等腳本語言的優(yōu)點,使得Python具備Tcl 的擴展性,同時又具備Perl的文本解析和匹配能力。
2、高斯投影
高斯-克呂格投影是一種等角橫軸切橢圓柱投影。它是假設(shè)一個橢圓柱面與地球橢球體面橫切于某一條經(jīng)線上,按照等角條件將中央經(jīng)線東、西各3°或1.5°經(jīng)線范圍內(nèi)的經(jīng)緯線投影到橢圓柱面上,然后將橢圓柱面展開成平面而成的。
這種投影,將中央經(jīng)線投影為直線,其長度沒有變形,與球面實際長度相等,其余經(jīng)線為向極點收斂的弧線,距中央經(jīng)線愈遠(yuǎn),變形愈大。 赤道線投影后是直線,但有長度變形。除赤道外的其余緯線,投影后為凸向赤道的曲線,并以赤道為對稱軸。經(jīng)線和緯線投影后仍然保持正交。所有長度變形的線段,其長度變形比均大于1,隨遠(yuǎn)離中央經(jīng)線,面積變形也愈大。若采用分帶投影的方法,可使投影邊緣的變形不致過大。我國各種大、中比例尺地形圖采用了不同的高斯-克呂格投影帶。其中大于1:1萬的地形圖采用3°帶;1:2.5萬至1:50萬的地形圖采用6°帶。
3、Python模塊
Python是中許多功能是由一系列的模塊組成的,每個模塊可以是一個py為后綴的文件。模塊也可以理解為lib庫,如果需要使用某個模塊中的函數(shù)或?qū)ο,則要導(dǎo)入這個模塊才可以使用;除了系統(tǒng)默認(rèn)的模塊(內(nèi)置函數(shù))不需要導(dǎo)入。在實際使用中高斯投影計算是使用在實際工作中的各個部分的,為方便調(diào)用,采用Python的模塊方式對高斯計算進(jìn)行封裝,可高效利用模塊在不同的應(yīng)用中進(jìn)行計算。
4、高斯投影計算
高斯投影計算分正算和反算,正算為經(jīng)緯度坐標(biāo)計算到投影坐標(biāo);反算為投影坐標(biāo)計算到經(jīng)緯度坐標(biāo)。高斯投影正算需要確定投影后的中央經(jīng)度,及投影橢球參數(shù)信息;如采用CGCS2000坐標(biāo)系及1980西安坐標(biāo)系其采用橢球參數(shù)不同,經(jīng)過正算的投影坐標(biāo)即不同。
由于Python為腳本語言,其在進(jìn)行科學(xué)計算時小數(shù)位取位是無法保證計算精度的,在Python中實現(xiàn)高斯投影計算單純的使用其提供的基本計算函數(shù)是無法滿足計算精度需求的,因此需要借助Python提供的模塊進(jìn)行提高精度計算。
Python提供了decimal模塊用于十進(jìn)制數(shù)學(xué)計算,它具有以下特點:
1.提供十進(jìn)制數(shù)據(jù)類型,并且存儲為十進(jìn)制數(shù)序列;
2.有界精度:用于存儲數(shù)字的位數(shù)是固定的,可以通過decimal.getcontext().prec=x 來設(shè)定,不同的數(shù)字可以有不同的精度 ;
3.浮點:十進(jìn)制小數(shù)點的位置不固定(但位數(shù)是固定的);
5、程序?qū)崿F(xiàn)
通過Python提供的IDLE開發(fā)環(huán)境進(jìn)行代碼編制與程序調(diào)試,程序?qū)崿F(xiàn)見下圖:
為保證計算精度與準(zhǔn)確率,筆者利用了國內(nèi)開發(fā)的MAPGIS、EPS軟件與計算結(jié)果進(jìn)行比對,同時也使用了ARCGIS軟件投影計算進(jìn)行比對,比對后采用Python計算的結(jié)果均能保證小數(shù)位后6位的精度,已能滿足高斯投影的計算要求。
轉(zhuǎn)載請注明來自發(fā)表學(xué)術(shù)論文網(wǎng):http:///jzlw/8809.html