2013-09-11 65 views
0

我想根據點AB和C的位置計算點D的位置,我知道點A相對於D和D相對於B和c相對於D的角度。位置計算 - 是否適用UTM?

In實際條款,點AB和C是我用GPS標記的3個位置,點D是我試圖獲得GPS位置的無線電動物的位置。通過了解無線電領帶動物相對於北方的哪個方向而獲得的角度。

我已經寫了算法,但我知道我不能將GPS座標直接放入它,並且必須將它們轉換成然後再轉換出來。我一直在使用谷歌搜索,而且我有點困惑,笛卡爾或UTM的使用更適合這個嗎?

我該如何將GPS轉換爲UTM?我搜查了一下,我有點困惑。度分ADN秒一些轉換的談話,我的GPS似乎給我一個addiitonal號這一點,所以它的N 68.21.446和'w^12.14.284

櫃面其相關的,我認爲該地區是2D在我的計算中讓事情變得更簡單。

謝謝你的幫助。 下面是代碼,雖然我不知道它的需要:

#10/09/2013 
#Enter your points for locations A B and C 
#AN and AW is your first GPS points AA is the angle 
AN<-10 
AW<-0 
AA<-45 
#BN and BW are your second 
BN<-10 
BW<-0 
BA<-0 
#CN and CW are your third 
CN<-0 
CW<-10 
CA<-90 

#Convert these to ? 



#work out distance 
#For each co ordinate and angle, you need to calculate y=mx+c to make a line 
#From these 3 lines, you can work out where they intersect 

#If the angle is 0 it wont work, so make it very close to 0. 
if(AA==0) {AA<-0.00001} 
if(BA==0) {BA<-0.00001} 
if(CA==0) {CA<-0.00001} 

#Convert all angles to radians 
AAr<-(AA*pi)/180 
BAr<-(BA*pi)/180 
CAr<-(CA*pi)/180 

#Calculate M which is 1/tan(b) 
AM<-1/tan(AAr) 
BM<-1/tan(BAr) 
CM<-1/tan(CAr) 

#Calculate C the equation constant 
#c=y-m*x 
AC<-AW-AM*AN 
BC<-BW-BM*BN 
CC<-CW-CM*CN 

#Caclulate intersections 
#A and B 
XAB<-(AC-BC)/(BM-AM) 
YAB<-(AM*XAB+AC) 

#B and C 
XBC<-(BC-CC)/(CM-BM) 
YBC<-(BM*XBC+BC) 

#C and A 
XAC<-(CC-AC)/(AM-CM) 
YAC<-(CM*XAC+CC) 

#Work out average of these 3 points 
(XofABC<-(XAB+XBC+XAC)/(3)) 
(YofABC<-(YAB+YBC+YAC)/(3)) 


#Convert this back into GPS coordinate 

`

回答

0

UTM產品時很方便,這種操作的,因爲它們可以基於一個正方形的映射數據,並2D平面XY笛卡爾系統。

但要小心它們的侷限性,特別是在高緯度地區。並且要小心你選擇的系統與你的位置相關 - 如果你使用錯誤的系統,一些基準系統將會變形。

不確定爲什麼這被標記爲R?

代碼看起來應該沒問題。

+0

我只是把它標記爲R,因爲那就是我寫的代碼。這不合適嗎?你能告訴我如何將GPS轉換爲UTM? –

0

使用rgdal包中的spTransform函數完成座標系轉換。您需要將座標轉換爲十進制度數,然後才能將其轉換爲UTM座標系。

那麼,什麼是十進制度的「N 68.21.446」?那麼我不確定。它的68 +(21/60),但你需要找出最後一個數字是什麼。它可能是a)千分之一分鐘(如果它的第一個數字是6或更多,那麼看起來可能)或b)兩位數秒,然後十分之幾秒。對於a)N 68.21.446然後是68 +(21/60)+(446/1000)/ 60十進制度。

對於b)N 68.21.446然後是68 +(21/60)+(44/3600)+(6/36000)十進制度。

你必須使用一些字符串匹配功能來分割它。

獲得十進制度數後,用這些數字創建一個空間點數據框,將其CRS設置爲您的GPS座標系(可能是EPSG代碼4326),然後使用spTransform轉換爲您的UTM代碼 - 使用適當的爲你的經度。

除非它的北極熊或帝企鵝和距離不是幾十公里,那麼UTM座標應該是一個很好的近似於規則的正方形網格。錯誤的更大來源將是你的角度測量!

關於這個問題,我確實開始編寫一個R包,用無線電測向設備進行定位,實現文獻中的一些統計方法。你會發現,這裏:https://github.com/barryrowlingson/telemetr

如果您對包中的任何意見,通過該網站GitHub的他們解決我的,而不是在這裏在計算器上。

+0

非常感謝你。雖然我不能在你的軟件包中找到GPS到UTM的轉換。你能就此提出建議嗎? –