魏金占,莫文通,王文瑞
(南寧市勘察測(cè)繪地理信息院,廣西南寧 530021)
基于坐標(biāo)定位文件的不同坐標(biāo)系下影像坐標(biāo)一體化處理應(yīng)用研究
魏金占?,莫文通,王文瑞
(南寧市勘察測(cè)繪地理信息院,廣西南寧 530021)
當(dāng)前很多測(cè)繪單位北京54、西安80及國(guó)家2000坐標(biāo)系數(shù)據(jù)相互并存,這就造成數(shù)據(jù)在不同坐標(biāo)下相互轉(zhuǎn)換問(wèn)題,特別是影像數(shù)據(jù)。為了節(jié)約數(shù)據(jù)轉(zhuǎn)換成本,本文提出基于坐標(biāo)定位文件的不同坐標(biāo)系下正射影像的一體化處理,其基本思路在于直接對(duì)影像定位的坐標(biāo)文件進(jìn)行轉(zhuǎn)換,通過(guò)前端正確顯示影像位置,其特點(diǎn)是原理簡(jiǎn)單易于實(shí)現(xiàn),不需要復(fù)雜的數(shù)據(jù)轉(zhuǎn)換。
坐標(biāo)定位文件;正射影像;北京54坐標(biāo);西安80坐標(biāo)
某市城市勘測(cè)院當(dāng)前采用的坐標(biāo)系有北京54、西安80及國(guó)家2000坐標(biāo)系,其中多以北京54坐標(biāo)系為主。當(dāng)前該市的國(guó)土系統(tǒng)相關(guān)單位已經(jīng)推行西安80坐標(biāo)系,為了與國(guó)土系統(tǒng)銜接,減少工作不便,某市城市勘測(cè)院經(jīng)常需要進(jìn)行不同坐標(biāo)系下數(shù)據(jù)轉(zhuǎn)換。特別是某市城市勘測(cè)院自2000年起,已經(jīng)累積了大量不同年份的正射影像數(shù)據(jù),如果按照傳統(tǒng)模式,數(shù)據(jù)存儲(chǔ)量將翻數(shù)倍,無(wú)論人力、成本和工期都不可行。為此筆者提出一種基于基于坐標(biāo)定位文件的不同坐標(biāo)系下影像轉(zhuǎn)換方法,其僅通過(guò)對(duì)坐標(biāo)定位文件重新計(jì)算,即可完成不同坐標(biāo)系下影像坐標(biāo)的相互轉(zhuǎn)換。
傳統(tǒng)的影像轉(zhuǎn)換方法多參照以下步驟完成,以SuperMap為例,具體如下:
(1)將待轉(zhuǎn)換正射影像數(shù)據(jù)進(jìn)行拼接,具體過(guò)程為首先將每幅標(biāo)準(zhǔn)分幅的正射影像導(dǎo)入數(shù)據(jù)庫(kù),根據(jù)圖幅編號(hào),將所有的正射影像進(jìn)行定位,之后將拼接的正射影像數(shù)據(jù)重新采集,形成同一坐標(biāo)系下的一幅正射影像;
(2)采集不同坐標(biāo)系下同名特征點(diǎn)的坐標(biāo),常見(jiàn)的是兩點(diǎn)、四點(diǎn)和七點(diǎn)模式,其中對(duì)于大范圍的正射影像,多采用七點(diǎn)模式,點(diǎn)數(shù)分布多以3×3、4×4或5×5分布;
(3)根據(jù)同名特征點(diǎn),進(jìn)行數(shù)據(jù)糾正,得到新坐標(biāo)系下正射影像數(shù)據(jù);
(4)將新的坐標(biāo)系下的數(shù)據(jù)進(jìn)行分幅、裁剪、導(dǎo)出;
在以上步驟中,存在如下問(wèn)題:第一步數(shù)據(jù)拼接時(shí)將產(chǎn)生大量中間數(shù)據(jù),以某市為例,2 000 km2的0.5 m級(jí)正射影像,產(chǎn)生的拼接數(shù)據(jù)在近100 G左右,數(shù)據(jù)存儲(chǔ)浪費(fèi)嚴(yán)重,拼接時(shí)間超過(guò)4 h;第三步在數(shù)據(jù)糾正時(shí),同樣產(chǎn)生近100 G左右,轉(zhuǎn)存時(shí)間超過(guò)4 h;第四步將數(shù)據(jù)進(jìn)行裁剪,也將產(chǎn)生百G冗余數(shù)據(jù),耗時(shí)更長(zhǎng)。但這些數(shù)據(jù)僅為中間數(shù)據(jù),時(shí)間和過(guò)程多為不必要步驟,是一種不能滿足實(shí)際需求費(fèi)時(shí)費(fèi)力的處理方法。
不同坐標(biāo)系下的數(shù)據(jù)轉(zhuǎn)換不外乎利用轉(zhuǎn)換參數(shù)對(duì)數(shù)據(jù)進(jìn)行重新計(jì)算的過(guò)程,當(dāng)前各大GIS平臺(tái)和CAD平臺(tái)多能識(shí)別JPG,TIFF及ECW等格式的影像數(shù)據(jù),特別是GIS軟件多支持附帶坐標(biāo)文件的JPG,TIFF及ECW格式的影像數(shù)據(jù)。以常見(jiàn)的JPG和格式為例, GIS軟件通過(guò)搜尋同名的JGW文件,讀取其中圖片所在位置、分辨率等信息并在顯示端正確顯示。某市已有標(biāo)準(zhǔn)分幅的北京54坐標(biāo)系統(tǒng)下的正射影像且多為JPG格式,正射影像沒(méi)有跨帶,因此可通過(guò)計(jì)算每幅標(biāo)準(zhǔn)分幅圖的位置、分辨率等信息,通過(guò)程序生成JGW坐標(biāo)定位文件,即可滿足不同平臺(tái)下標(biāo)準(zhǔn)分幅正射影像的正確顯示需求。基于此筆者提出如下思路:
(1)根據(jù)已有的標(biāo)準(zhǔn)分幅正射影像的圖幅編號(hào),生成JGW文件;
(2)計(jì)算不同坐標(biāo)系下,北京54坐標(biāo)到相應(yīng)坐標(biāo)系下的轉(zhuǎn)換參數(shù);
(3)通過(guò)轉(zhuǎn)換參數(shù),計(jì)算每一幅圖不同坐標(biāo)系下對(duì)應(yīng)的JGW文件;
(4)調(diào)用其他坐標(biāo)系下正射影像時(shí),記錄調(diào)用位置的坐標(biāo)信息;
(5)將坐標(biāo)信息反算到北京54坐標(biāo)系統(tǒng)下,計(jì)算北京54坐標(biāo)系統(tǒng)下該坐標(biāo)點(diǎn)所在的圖幅編號(hào);
(6)通過(guò)計(jì)算出的圖幅編號(hào),調(diào)用對(duì)應(yīng)的北京54坐標(biāo)系統(tǒng)下的正射影像;
(7)通過(guò)第二步的轉(zhuǎn)換參數(shù),計(jì)算該影像在新坐標(biāo)系下位置坐標(biāo)并正確顯示。
通過(guò)以上步驟,僅需要計(jì)算幾個(gè)轉(zhuǎn)換參數(shù),即可實(shí)現(xiàn)不同坐標(biāo)信息下正射影像的坐標(biāo)轉(zhuǎn)換了。
如上所述,本思路具體實(shí)現(xiàn)代碼如下:
(1)根據(jù)圖幅編號(hào)生成JGW文件
某市城市勘測(cè)院的正射影像為1∶2 000比例尺分幅,分辨率0.2m,圖幅編號(hào)即為左下角坐標(biāo)。圖幅編號(hào)東方向?yàn)?位,北方向?yàn)?位整數(shù),其中圖幅編號(hào)的第一個(gè)字節(jié)為“T”,圖幅編號(hào)實(shí)例如:T500000-2500000-1000-1000.jpg,其中500000和2500000分別為對(duì)應(yīng)圖幅的左下角東方向和北方向坐標(biāo),分辨率統(tǒng)一為0.2m,則每幅比例尺為1∶2 000標(biāo)準(zhǔn)分幅的正射影像像元大小為5 000×5 000,則對(duì)應(yīng)的JGW文件內(nèi)容如下:
0.2 ‘地圖單元中的一個(gè)像素在東方向上的分辨率尺度
0‘平移量
0‘旋轉(zhuǎn)量
-0.2‘地圖單元中的一個(gè)像素在北方向上的分辨率尺度的負(fù)值
521000.1 ‘左上角像元的東方向坐標(biāo)
2504999.9 ‘左上角像元的北方向坐標(biāo)
說(shuō)明:分辨率為0.2 m,則左上角像元的中心點(diǎn)東方向坐標(biāo)應(yīng)為左上角東方向坐標(biāo)加半個(gè)像元大小即0.1 m,北方向坐標(biāo)應(yīng)為左上角北方向坐標(biāo)減半個(gè)像元大小即0.1 m,如圖1所示。
圖1 左上角像元中心點(diǎn)坐標(biāo)與左上角坐標(biāo)關(guān)系示意圖
實(shí)現(xiàn)的函數(shù)代碼如下:
Private Function W riteJGW(FileName As String)As String
Dim Tempstr As String
If InStr(1,F(xiàn)ileName,".jpg",vbTextCompare)Then
FileName=Right(FileName,15)
Tempstr="0.2"&vbCrLf&"0"&vbCrLf&"0"&vbCrLf&"-0.2"&vbCrLf&CStr(CDbl(Left(FileName,6))+0.1)&vbCrLf&CStr(CLng(Right(Left(FileName,14),7))+999.9)
WriteJGW=Tempstr
End If
End Function
其中FileName是文件名稱,WriteJGW為返回的內(nèi)容,即為JGW的具體內(nèi)容。
(2)計(jì)算北京54坐標(biāo)到相應(yīng)坐標(biāo)系下的轉(zhuǎn)換參數(shù)
主要采用四參數(shù)或者七參數(shù)法,一般兩個(gè)不同的二維平面直角坐標(biāo)系之間轉(zhuǎn)換時(shí),通常使用四參數(shù)模型(數(shù)學(xué)方程組)。在該模型中有四個(gè)未知參數(shù),即:
①兩個(gè)坐標(biāo)平移量(△X,△Y),即兩個(gè)平面坐標(biāo)系的坐標(biāo)原點(diǎn)之間的坐標(biāo)差值;
②平面坐標(biāo)軸的旋轉(zhuǎn)角度A,通過(guò)旋轉(zhuǎn)一個(gè)角度,可以使兩個(gè)坐標(biāo)系的X和Y軸重合在一起;
③尺度因子K,即兩個(gè)坐標(biāo)系內(nèi)的同一段直線的長(zhǎng)度比值,實(shí)現(xiàn)尺度的比例轉(zhuǎn)換。通常K值幾乎等于1。
通常至少需要兩個(gè)公共已知點(diǎn),在兩個(gè)不同平面直角坐標(biāo)系中的四對(duì)XY坐標(biāo)值,才能推算出這四個(gè)未知參數(shù),計(jì)算出了這四個(gè)參數(shù),就可以通過(guò)四參數(shù)方程組,將一個(gè)平面直角坐標(biāo)系下一個(gè)點(diǎn)的XY坐標(biāo)值轉(zhuǎn)換為另一個(gè)平面直角坐標(biāo)系下的XY坐標(biāo)值。因正射影像多為平面數(shù)據(jù),所以四參數(shù)法即可滿足要求。具體的轉(zhuǎn)換方法是通過(guò)同名點(diǎn)在不同坐標(biāo)系下的坐標(biāo)進(jìn)行,當(dāng)前轉(zhuǎn)換軟件多已成熟,這里不多介紹。
(3)計(jì)算每一幅圖不同坐標(biāo)系下對(duì)應(yīng)的JGW文件
通過(guò)獲取計(jì)算得到四參數(shù),計(jì)算每幅正射影像圖在新坐標(biāo)系下的坐標(biāo)定位文件。不同坐標(biāo)系下影像大小變化很小,尺度變化量幾乎為零,具體如下:
Private Function WriteNewJGW(FileName As String,Dx as double,Dy as double,A as double)As String
Dim Tempstr As String
If InStr(1,F(xiàn)ileName,".jpg",vbTextCompare)Then
FileName=Right(FileName,15)
Tempstr="0.2"&vbCrLf&A&vbCrLf&0&vbCrLf&"-0.2"&vbCrLf&CStr(CDbl(Left(FileName,6))+0.1-Dx)&vb-CrLf&CStr(CLng(Right(Left(FileName,14),7))+999.9-Dy)
WriteNewJGW=Tempstr
End If
End Function
其中A為旋轉(zhuǎn)角,Dx,Dy分別為X坐標(biāo)和Y坐標(biāo)方向的偏移量,尺度變化量默認(rèn)為0。通過(guò)如上函數(shù),即可完成新坐標(biāo)系下的坐標(biāo)定位文件。將新的坐標(biāo)定位文件重新存放在不同路徑,以備后用。
(4)記錄調(diào)用位置的坐標(biāo)信息
可采用兩種模式,一種是用戶已知概略范圍,直接輸入,另一種是用戶屏幕點(diǎn)擊,自動(dòng)記錄該點(diǎn)坐標(biāo)。
(5)計(jì)算北京54坐標(biāo)下該坐標(biāo)點(diǎn)所在的圖幅編號(hào);
某市城市勘測(cè)院的正射影像為1∶2 000比例尺,因此每幅正射影像的編號(hào)皆為整公里數(shù),則用戶調(diào)圖點(diǎn)所在圖幅編號(hào)反算函數(shù)如下:
‘計(jì)算用戶調(diào)圖點(diǎn)在北京54坐標(biāo)系下的新X坐標(biāo)
Private Function GetUserCoordX(Ux as double,Dx as double,A as double)as double
GetUserCoordX=Dx+Ux?sin(A)
GetUserCoordX=clng(left(GetUserCoordX,len(cstr((long (GetUserCoordX)))-3)&“000”)
End Function
‘計(jì)算用戶調(diào)圖點(diǎn)在北京54坐標(biāo)系下的新Y坐標(biāo)
Private Function GetUserCoordY(Uy as double,Dy as double,A as double)as double
GetUserCoordY=Dy-Uy?cos(A)
GetUserCoordY=clng(left(GetUserCoordY,len(cstr((long (GetUserCoordY)))-3)&“000”)
End Function
其中Dx、Dy、Ux、Uy、A分別為X坐標(biāo)偏移量、Y坐標(biāo)方向偏移量、新坐標(biāo)系下X坐標(biāo)、新坐標(biāo)系下Y坐標(biāo)、旋轉(zhuǎn)角。通過(guò)以上兩個(gè)函數(shù)即可反算出新坐標(biāo)系下調(diào)圖點(diǎn)坐標(biāo)在北京54坐標(biāo)系下所在的圖幅編號(hào)。
(6)通過(guò)計(jì)算出的圖幅編號(hào),調(diào)用對(duì)應(yīng)的北京54坐標(biāo)系統(tǒng)下的正射影像;
通過(guò)上一步獲取的北京54坐標(biāo)系下的標(biāo)準(zhǔn)圖幅坐標(biāo),獲取對(duì)應(yīng)的北京54坐標(biāo)系統(tǒng)下的正射影像,具體實(shí)現(xiàn)代碼如下:
‘獲取標(biāo)準(zhǔn)圖幅名稱
Private Function GetMapNo(GetUserCoordX as double,GetUserCoordY as double)as string
GetMapNo=”T”&cstr(GetUserCoordX)&“-”&cstr(GetUserCoordX)&“.jpg”
End Function
調(diào)用第三步該影像在新坐標(biāo)系下位置坐標(biāo)并正確顯示,即完成了從北京54坐標(biāo)到其他坐標(biāo)系下的轉(zhuǎn)換顯示問(wèn)題。
本文提出的不同坐標(biāo)系下正射影像的相互轉(zhuǎn)換方法,其原理簡(jiǎn)單,易于實(shí)現(xiàn)。其優(yōu)勢(shì)在于僅通過(guò)計(jì)算不同坐標(biāo)系下坐標(biāo)定位文件而不需要對(duì)影像進(jìn)行復(fù)雜處理。以下是通過(guò)坐標(biāo)文件實(shí)現(xiàn)正射影像在北京54坐標(biāo)系和西安80坐標(biāo)系的顯示對(duì)比:
如圖2、圖3所示,對(duì)于不同坐標(biāo)系的正射影像,系統(tǒng)僅僅讀取坐標(biāo)文件,計(jì)算新的影像位置,重新加載即可實(shí)現(xiàn)不同坐標(biāo)系下正射影像的正確顯示。
圖2 標(biāo)準(zhǔn)分幅正射影像在北京54坐標(biāo)系下顯示效果
圖3 標(biāo)準(zhǔn)分幅正射影像在西安80坐標(biāo)系下顯示效果
經(jīng)實(shí)踐檢驗(yàn),這種方式可以實(shí)現(xiàn)實(shí)時(shí)轉(zhuǎn)換,既滿足了不同坐標(biāo)系下正射影像的坐標(biāo)轉(zhuǎn)換,又節(jié)省了大量人力物力。經(jīng)南寧市某城市勘測(cè)院試驗(yàn),基本解決該轄區(qū)5 000 km2正射影像在不同坐標(biāo)系下的顯示問(wèn)題。與傳統(tǒng)動(dòng)輒數(shù)天的數(shù)據(jù)轉(zhuǎn)換過(guò)程而言,效率提升非常明顯,可供同行參閱借鑒。
[1] 北京超圖軟件股份有限公司.SuperMap Objects開發(fā)教程(初級(jí)篇)[R].2008.
[2] 北京超圖軟件股份有限公司.SuperMap Objects開發(fā)教程(中級(jí)篇)[R].2008.
[3] 張曉東,吳正鵬,陳楚等.影像坐標(biāo)轉(zhuǎn)換的一體化處理研究[J].城市勘測(cè),2013(2).
[4] 王強(qiáng),束炯,張曉滬.一種遙感圖像的坐標(biāo)轉(zhuǎn)換方法[J].測(cè)繪科學(xué),2006(4).
[5] 華亮春,陳學(xué)工,劉智勇.正射影像圖坐標(biāo)轉(zhuǎn)換快速方法探討[J].國(guó)土資源導(dǎo)刊,2012(7).
[6] 丁華祥,朱紫陽(yáng).幾種影像坐標(biāo)系轉(zhuǎn)換方法的應(yīng)用與比較[J].地理空間信息,2007(5).
Research of DOM Transformations Between Different Coordinate Systems Based on Coordinate Files
Wei Jinzhan,MoWentong,Wang Wenrui
(Nanning Exploration&Survey Geoinformation Institute,Nanning 530021,China)
There is plenty of data in different Coordinate systems,such as Beijing 54,Xi’an 80 and National 2000. This phenomenon makes the data transformation in different Coordinate systems very common,especially to DOM.In order to save time and money,a new method was put forwards in this paper.By changing the content of coordinate files,the author is able tomake the DOM display in proper coordinate system.Thisway has been proved practical,economic and efficient for DOM transformation between different coordinate systems.
coordinate files;DOM;Beijing 54;Xi’an 80
1672-8262(2013)06-114-04
P226+.3
B
2013—06—18
魏金占(1980—),男,工程師,主要從事地籍測(cè)繪、工程測(cè)量、數(shù)據(jù)整理、GIS算法設(shè)計(jì)研究等。