国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

四參數(shù)仿射變換在大數(shù)據(jù)整合中的實踐與探討

2015-04-17 19:27吳厚清蔡以雷
江西測繪 2015年4期
關(guān)鍵詞:數(shù)據(jù)整合坐標轉(zhuǎn)換

吳厚清 蔡以雷

(浙江省測繪資料檔案館 浙江杭州 310000)

四參數(shù)仿射變換在大數(shù)據(jù)整合中的實踐與探討

吳厚清蔡以雷

(浙江省測繪資料檔案館浙江杭州310000)

摘要:根據(jù)布爾莎七參數(shù)模型轉(zhuǎn)換原理,靈活運用四參數(shù)模型對未知坐標系的空間數(shù)據(jù)進行了轉(zhuǎn)換糾正,采用迭代方式保證其轉(zhuǎn)換成果的精度,能滿足測繪與地理信息部門在大數(shù)據(jù)時代對獲取的數(shù)據(jù)進行整合利用的需求,并為未知坐標系的數(shù)據(jù)整合提供新的思路。

關(guān)鍵詞:數(shù)據(jù)整合;布爾莎七參數(shù);坐標轉(zhuǎn)換

1 引言

在大數(shù)據(jù)時代,測繪與地理信息部門即是數(shù)據(jù)的生產(chǎn)者,也是數(shù)據(jù)的整合者。在工作實踐中,往往要探討對不同部門和行業(yè)獲取的數(shù)據(jù)進行整合,數(shù)據(jù)整合的前提是對不同的數(shù)據(jù)進行統(tǒng)一的坐標定位,也即必須進行坐標轉(zhuǎn)換。

2 常用坐標系統(tǒng)

來自不同部門和行業(yè)的數(shù)據(jù),通常具有不同的坐標系,基本的有大地坐標系和平面直角坐標系二大類,而大地坐標系又分地心坐標系和參心坐標系,采用不同的橢球幾何參數(shù)。常見的有1984世界大地坐標系 (即WGS-84坐標系)、1954年北京坐標系、1980西安坐標系、2000國家大地坐標系等。

目前世界各國采用最廣泛的高斯-克呂格投影和墨卡托投影(utm)均是正形投影(等角投影),即該投影在小區(qū)域范圍內(nèi)使平面圖形與橢球面上的圖形保持相似。為了限制長度變形,根據(jù)國際測量協(xié)會規(guī)定,將全球按一定經(jīng)差分成若干帶。我國采用6度分帶或3度分帶。

高斯平面直角坐標系一般以中央經(jīng)線投影為縱軸x,赤道投影為橫軸y,兩軸交點即為各帶的坐標原點。為了避免橫坐標出現(xiàn)負值,在投影中規(guī)定將坐標縱軸西移500公里當作起始軸。為了區(qū)別某一坐標系統(tǒng)屬于哪一帶,通常在橫軸坐標前加上帶號,如(4231898m,21655933m),其中21即為帶號。城建坐標多采用三度帶的高斯-克呂格投影。同一坐標系下的大地坐標(即經(jīng)緯度坐標b,l)與其對應的高斯平面直角坐標(x,y)有嚴格的轉(zhuǎn)換關(guān)系。

3 坐標系統(tǒng)轉(zhuǎn)換

關(guān)于坐標轉(zhuǎn)換,首先要搞清楚轉(zhuǎn)換的嚴密性問題,即在同一個橢球里的坐標轉(zhuǎn)換都是相對嚴密的,而在不同的橢球之間的轉(zhuǎn)換是相對近似的。例如,由1954北京坐標系的大地坐標轉(zhuǎn)換到1954北京坐標系的高斯平面直角坐標是在同一參考橢球體范疇內(nèi)的坐標轉(zhuǎn)換,其轉(zhuǎn)換過程是嚴密的。由WGS-84的大地坐標轉(zhuǎn)換到1954北京坐標系,就屬于不同橢球體間的轉(zhuǎn)換。

不同橢球體間的坐標轉(zhuǎn)換在局部地區(qū)的采用的常用辦法是相似變換法,即利用部分分布相對合理高等級公共點求出相應的轉(zhuǎn)換參數(shù)。一般而言,比較嚴密的是用布爾莎七參數(shù)的相似變換法,即x平移,y平移,z平移,x旋轉(zhuǎn),y旋轉(zhuǎn),z旋轉(zhuǎn),尺度變化k。要求得七參數(shù)就需要在一個地區(qū)需要3個以上的已知點,如果區(qū)域范圍不大,最遠點間的距離不大于30km(經(jīng)驗值),這可以用三參數(shù),即x平移,y平移,z平移,而將x旋轉(zhuǎn),y旋轉(zhuǎn),z旋轉(zhuǎn),尺度變化k視為0,所以三參數(shù)只是七參數(shù)的一種特例。很多研究表明,使用七參數(shù)模型換算時,大地高對于其平面坐標換算的結(jié)果即平面坐標(x,y)影響不大;如果不考慮高程的影響,對于不同橢球體下的高斯平面直角坐標可采用四參數(shù)的相似變換法,即四參數(shù)(x平移,y平移,尺度變化m,旋轉(zhuǎn)角度α)。如果用戶要求的精度低于20米,在一定范圍(2'*2')內(nèi),就直接可以用二參數(shù)法(δb,δl)或(δx,δy)修正。但在實際操作中,這也取決于選取的公共點是否合理,并保證其足夠的精度。

4四 參數(shù)仿射變換實例

對未知坐標系數(shù)據(jù)的轉(zhuǎn)換,在無需考慮高程的影響下,可采用四參數(shù)仿射變換,即四參數(shù)(x平移,y平移,尺度變化k,旋轉(zhuǎn)角度α)來轉(zhuǎn)換未知坐標系統(tǒng)的數(shù)據(jù),同時可適當增加選取公共點,來保證其足夠的精度。在浙江省地理空間數(shù)據(jù)交換和共享平臺數(shù)據(jù)整合實踐中,獲取了浙江省統(tǒng)計局的第三次經(jīng)濟普查工作中產(chǎn)生的浙江省范圍內(nèi)的建筑物地址數(shù)據(jù)(不屬于2000坐標系數(shù)據(jù)),這些地址數(shù)據(jù)都存在相應的普查區(qū)工作邊界,而普查區(qū)工作邊界與浙江省縣及鄉(xiāng)鎮(zhèn)級以上的行政區(qū)域境界存在高度的相關(guān)性,利用邊界之間的相關(guān)性來獲取全省不同區(qū)域多個同名控制點,在實際操作中,為提高轉(zhuǎn)換精度,將浙江省區(qū)域范圍按第三次經(jīng)濟普查工作劃分的普查工作區(qū)為基本單元,運用四參數(shù)仿射變換并采用迭代方式,分別求得每個基本單元的轉(zhuǎn)換參數(shù),就可以得到我們需要的2000坐標系成果。

4.1技術(shù)路線

由于矢量數(shù)據(jù)都是由點組成,只要利用點數(shù)據(jù)就可以根據(jù)四參數(shù)的仿射變換的計算公式進行轉(zhuǎn)換。其中最關(guān)鍵的是找出同名控制點在兩個不同坐標系中的不同坐標。四參數(shù)的仿射變換的計算公式如下:x1=a*x0+b*y0+c,y1=m*x0+n* y0+d,其中(a,b,c,m,n,d)就是需要求的參數(shù),其實中間是有內(nèi)在關(guān)系可以省略掉兩個參數(shù)的,最后需要求一個旋轉(zhuǎn)角度、兩個偏移參數(shù),再加一個尺度變化。

4.2程序?qū)崿F(xiàn)

4.2.1獲取同名控制點

首先利用普查區(qū)工作邊界跟浙江省縣及鄉(xiāng)鎮(zhèn)級以上的境界的高度相關(guān)性的特點,各自取得界線相交點作為同名控制點在不同坐標系中的坐標數(shù)據(jù)組,控制點部分截圖示例如圖1

4.2.2獲取旋轉(zhuǎn)角度

根據(jù)對角兩個控制點數(shù)據(jù)獲取旋轉(zhuǎn)角度參數(shù)。

'〈summary〉

'獲取旋轉(zhuǎn)角度

'〈/summary〉

'〈paramname="fromCoordPoint1"〉源點 1〈/ param〉

'〈paramname="toCoordPoint1"〉目標點 1〈/ param〉

'〈paramname="fromCoordPoint2"〉源點 2〈/ param〉

'〈paramname="toCoordPoint2"〉目標點 2〈/ param〉

'〈returns〉返回旋轉(zhuǎn)角度〈/returns〉

PrivateFunctionGetRotation(fromPoint1As IPoint,toPoint1AsIPoint,fromPoint2AsIPoint, toPoint2AsIPoint)AsDouble

Dima,bAsDouble

a=(toPoint2.y-toPoint1.y)*(fromPoint2.xfromPoint1.x)-(toPoint2.x-toPoint1.x)*(fromPoint2.y-fromPoint1.y)

b=(toPoint2.x-toPoint1.x)*(fromPoint2.xfromPoint1.x)+(toPoint2.y-toPoint1.y)*(fromPoint2.y-fromPoint1.y)

If(Math.Abs(b)〉0)Then

GetRotation=Math.Tan(a/b)

Else

GetRotation=Math.Tan(0)

EndIf

EndFunction

4.2.3獲取縮放比例

'〈summary〉

'根據(jù)對角兩個控制點數(shù)據(jù)和旋轉(zhuǎn)角度獲取尺度變化參數(shù)。

'〈/summary〉

'〈paramname="fromCoordPoint1"〉源點 1〈/ param〉

'〈paramname="toCoordPoint1"〉目標點 1〈/ param〉

'〈paramname="fromCoordPoint2"〉源點 2〈/ param〉

'〈paramname="toCoordPoint2"〉目標點 2〈/ param〉

'〈paramname="rotation"〉旋轉(zhuǎn)角度〈/param〉

'〈returns〉返回縮放比例〈/returns〉

PrivateFunctionGetScale(fromPoint1AsIPoint, toPoint1AsIPoint,fromPoint2AsIPoint,toPoint2As IPoint,rotationAsDouble)AsDouble

Dima,bAsDouble

a=toPoint2.x-toPoint1.x

b=(fromPoint2.x-fromPoint1.x)*Math.Cos(rotation)-(fromPoint2.y-fromPoint1.y)*Math.Sin(rotation)

If(Math.Abs(b)〉0)Then

GetScale=a/b

Else

GetScale=0

EndIf

EndFunction

4.2.4獲取X、Y偏移量

'〈summary〉

'根據(jù)一個控制點數(shù)據(jù)、旋轉(zhuǎn)角度和尺度變化獲取X、Y兩個方向的偏移量參數(shù)。

'〈/summary〉

'〈paramname="fromCoordPoint1"〉源點 1〈/ param〉

'〈paramname="toCoordPoint1"〉目標點 1〈/ param〉

'〈paramname="rotation"〉旋轉(zhuǎn)角度〈/param〉

'〈paramname="scale"〉尺度變化〈/param〉

'〈returns〉返回X方向偏移量〈/returns〉

PrivateFunctionGetXTranslation(fromPoint1As IPoint,toPoint1AsIPoint,rotationAsDouble,scale1 AsDouble)AsDouble

GetXTranslation=(toPoint1.x-scale1*(fromPoint1.x*Math.Cos(rotation)-fromPoint1.y* Math.Sin(rotation)))

EndFunction

'〈summary〉

'得到Y(jié)方向偏移量

'〈/summary〉

'〈paramname="fromCoordPoint1"〉源點 1〈/ param〉

'〈paramname="toCoordPoint1"〉目標點 1〈/ param〉

'〈paramname="rotation"〉旋轉(zhuǎn)角度〈/param〉

'〈paramname="scale"〉尺度變化〈/param〉

'〈returns〉返回Y方向偏移量〈/returns〉

PrivateFunctionGetYTranslation(fromPoint1As IPoint,toPoint1AsIPoint,rotationAsDouble,scale1 AsDouble)AsDouble

GetYTranslation=(toPoint1.y-scale1*(fromPoint1.x*Math.Sin(rotation)+fromPoint1.y* Math.Cos(rotation)))

EndFunction

4.2.5調(diào)用四參數(shù)變換模型

'說明:采用相似變換模型(四參數(shù)變換模型)

'X=ax-by+c

'Y=bx+ay+d

PrivateFunctionUnaffineTransformation(pPoint AsIPoint)AsIPoint

DimaAsDouble,bAsDouble

DimtPointAsIPoint

GetFourParampPoint'得到四參數(shù)

a=m_Scale*Math.Cos(m_RotationAngle)b=m_Scale*Math.Sin(m_RotationAngle)SettPoint=NewPoint

tPoint.x=a*pPoint.x-b*pPoint.y+m_DX tPoint.y=b*pPoint.x+a*pPoint.y+m_DY SetUnaffineTransformation=tPoint EndFunction

4.3坐標轉(zhuǎn)換的成果

通過對浙江省統(tǒng)計局全省普查邊界數(shù)據(jù)的轉(zhuǎn)換,進而獲取普查工作區(qū)范圍內(nèi)的2000坐標系的建筑物地址數(shù)據(jù)。經(jīng)檢測,經(jīng)坐標轉(zhuǎn)換后的數(shù)據(jù)平均誤差在3米以內(nèi),滿足同比例尺地形圖的精度要求。如下:圖2為轉(zhuǎn)換前局部數(shù)據(jù)截圖,其平均誤差在500多米,圖3為轉(zhuǎn)換后局部數(shù)據(jù)截圖,平均誤差在3米以內(nèi)。

5 結(jié)論

經(jīng)過浙江省統(tǒng)計局的第三次經(jīng)濟普查工作產(chǎn)生的數(shù)據(jù)轉(zhuǎn)換項目,我們可以更深的理解不同坐標系之間的轉(zhuǎn)換其實是兩種不同的橢球參數(shù)之間的轉(zhuǎn)換。其中七參數(shù)的布爾莎模型,是比較嚴密的轉(zhuǎn)換模型,不管是四參數(shù)、三參數(shù)、二參數(shù)都是其特定情況的簡化轉(zhuǎn)換公式。在轉(zhuǎn)換未知坐標系數(shù)據(jù)過程中,靈活套用布爾莎模型的簡化轉(zhuǎn)換公式,是一種比較經(jīng)濟實用的選擇。

參考文獻:

[1]陳俊勇.《測繪通報》2003年02期《世界大地坐標系1984的最新精化》

[2]程鵬飛,文漢江,成英燕,王華.《測繪學報》2009年03期《2000國家大地坐標系橢球參數(shù)與GRS80和WGS84的比較》

[3]徐登云,郝麗娟.《西部資源》2012年02期 《2000國家大地坐標系與GRS80及WGS84的比較》

猜你喜歡
數(shù)據(jù)整合坐標轉(zhuǎn)換
廣州市蘿崗區(qū)“三規(guī)合一”中坐標統(tǒng)一轉(zhuǎn)換的研究和實現(xiàn)
淺談地方坐標網(wǎng)向2000國家大地坐標系轉(zhuǎn)換的方法
大地測量坐標系統(tǒng)轉(zhuǎn)換問題的研究
高等院校實驗中心共享教學資源庫建設(shè)研究與設(shè)計
基于數(shù)據(jù)挖掘的網(wǎng)絡營銷系統(tǒng)研究
一種檢測攝像機與被測物間三維軸線求解方法
無線傳感器網(wǎng)絡在農(nóng)業(yè)中的應用
無線傳感器網(wǎng)絡在農(nóng)業(yè)中的應用