
AIS和雷達信息融合(1)坐標轉換
雖然很多?章資料的坐標轉換是說的?斯-克呂格投影等,但最后的實現仿真步驟很多是把AIS的經緯度轉換為和雷達?樣的極坐標
?斯-克呂格投影我?按照公式寫個程序,但是貌似錯了,后來查找資料,分帶和中央經線把我搞得越來越頭暈。
現在做的就是將AIS的WGS-84?地坐標系中的經緯度轉換為?標船相對本船的距離和?位,與雷達數據格式統?。
防?被刪除,我復制過來。
最近??做的?個?東西要?到經緯度??的計算,查遍中??頁見到的要么基本上是?幫惜字如?裝?爺的“磚家”,要么就是像貼膏藥?樣,啪,??堆代碼
往上?貼,?點說明都沒有,讓?看不懂,有的看了半天看懂了,結果他?的公式要么有使?局限(但沒有半點聲明)要么根本就是個錯的。所以現在將???
天學習來的在這?總結?下,?便后來?少?彎路。
這?主要解決四個問題:
1、已知兩點經緯度,求?點相對于另?點?位?;
2、已知兩點經緯度,求兩點間距離;
3、已知?點經緯度及與另?點距離和?位?,求另?點經緯度;
4、問題1與問題2的簡化算法。
注:簡化算法的運算量和對系統的運算精度要求都??降低,但只在短距離內(?緯地區建議10km以下)可以保證精度,除簡化算法之外
的算法可適?于地球上任意兩點。這?只是出于便于理解的?的來解釋“原理”,具體到不同的編程環境還要??做化簡和注意單位。
在求算前我們先對符號及單位進?約定:
此處設定求B相對于A的?位?,即A為當前位置,B為?標位置
Aj:A點經度
Aw:A點緯度
Bj:B點經度
Bw:B點緯度
北緯為正,南緯為負;東經為正,西經為負
經緯度使?度,°,?度分或度分秒。
度數未加說明均采??度制
R:地球平均半徑
說到這?,?們或許會?先想因為地球是個球體,如果AB兩點?夠近(如相距1Km)可以當做平?三?形已知兩臨邊求夾?,把兩點的經
度、緯度各?做差,差值作為兩邊的長度,再?反正切函數?算就得到了?度,似乎很有道理,但是如果將計算結果與實際測量值做?較,
就會發現?較?的誤差,?這種誤差在某些地區甚?能?普通的量?器測量出來,其實這已經不叫誤差,?叫錯誤了。這種近似利?平??
何知識解決問題的算法只適合于低緯度地區(例如南北緯10度),如果在?緯度使?這種?法,偏差會?較?,并且這種偏差會隨著緯度
的升???幅變?。例如,在北緯10度,AB兩點經緯差0.001時,近似算法與真實值之間的偏差為0.44度。當緯度改為北緯40度其他不
變,這時的偏差就達到了7.55度。
為什么會這樣呢?其實原因就在于經線、緯線劃定不同。如果把地球簡化成?個球體,每條經線的長度都等于球體周長的?半,每條經線均
在兩極相交。但是,緯線之間互不相交,緯線所圍成的圓均為“同軸”圓,所以每條緯線的長度會因緯度的不同?不同,也就是,緯度不
同,1經度差所對應的球?距離是不?樣的,例如,在?道處,1緯度的跨度約為111.3千?,1經度的跨度也是約為111.3千?;在北
緯40附近,1緯度的跨度沒有變,但1經度的跨度卻變為85.3千?。(轉不過彎來的可以去看地球儀,看看就了然了~)
——————————————————賣關?環節結束,正?開啟———————————————————
那么,有沒有?種對地球任何區域任意兩點都普適的求?位?的?法?
答案是肯定的。
現在我們開始計算
第?步:在知道AB點經緯度后,要?到第?個公式,三??余弦公式,
A~OC~B是?AOC與?BOC的???,為了?便,寫成這個樣?
這?我們將已知數據代?,公式便寫成:
沒錯,???A~OC~B的度數就是兩點經度之差
第?步:知道了?c的余弦值后我們要求得它的正弦值,所?的公式就是三?函數公式?最基本的“扣?加賽?等于1”的?個變形
第三步:求得正弦后,接下來我們要??個不太常?的公式,球?正弦公式
將已知數據代?并稍微變形?下,公式寫為:
這?需要注意?點,我們?開始的假設便是求B點相對于A點的?位?,因此這?是Bj-Aj,不要寫反,否則得不到正確結果。
算到這?,還沒有完,得到的結果并不總符合我們對?位?的定義,因此要根據B相對于A的位置在四個象限兩個軸上進?討論,依據不同情況對計算結果進?
不同處理。假設A點固定于原點,則:
B點在第?象限,Azimuth=A;
B在第?象限,Azimuth=360+A;
B在第三四象限,Azimuth=180-A。
這?是我??結合實際和程序的計算,得出的坐標系:X軸為經度,Y軸為緯度。
這?只說了象限的討論結果,因為軸上的討論更復雜些,要結合程序運?環境?起考慮,考慮的主要因素是系統的計算精度。譬如,在三??余弦公式中,
當AB點緯度值相同時,對公式的值起決定作?的就是cos(Bj-Aj)這?項,當Bj-Aj的值?較?時,例如0.0001(這在?道地區對應的長度為11?左右),??
般的計算器計算時值為1,這樣,后?的計算便不可能完成。但是,如果?計算機計算則為0.999999999998476913…………。所以,基于以上原因,需要
對軸的“范圍進項擴充”,要?單?機、?機運算的尤其要注意。
經過?系列計算,最后,就得到了最終結果。
似乎有?注意到了,以上的計算都是把地球看成標準的球體,?事實是地球是個橢圓,其實,地球的偏?率極低,各位可以將此法得到的計
三、第?點經緯度的求算
最近在?上看到不少?在問第?點經緯度的求算,所以,這?也附加說?下求算?法。
都應該能想到?個最最最笨的?法,就是將前?兩部分?的公式聯?解?程。我想只有那些度娘知道?的專家會采?這種?法(因為這種?
法費的唾沫最少)。
?歸正傳,解?程的?法可以,但是運算量極?,費時,對于?些系統不現實。
另?種?法,其實就是對?位?求算的再次運?。
已知Aj,Aw,L,R,Azimuth(這?的Azimuth依然定為B相對于A的?位?)。
?先求算c,
(注意此處L、R的單位要統?)
之后求解a,將已知量代?,公式為:
Bw=90-a
Bj=Aj+C
對于某些系統,再單獨設定B位于X正負半軸上的值就可以了,有些系統可以返回arctan(X/0)=90。
這種求?位?的算法代?了?個坐標值與?歌地球?對,短距離內偏差在0.1度以下。
最后,關于百度上很多?答的需要將WGS84坐標轉換成什么北京54、西安80再計算的?深?論,我認為只要不是搞?地測量、???程、
導彈發射根本就沒有必要,理論分析與計算結果都說明WGS84坐標系統完全可直接?于民?領域。
按照上?的公式我在QT中做了個?程序實現,經證明可?。

本文發布于:2023-11-25 11:03:22,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/170088140234793.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:AIS和雷達信息融合(1)坐標轉換.doc
本文 PDF 下載地址:AIS和雷達信息融合(1)坐標轉換.pdf
| 留言與評論(共有 0 條評論) |