2013-04-29 85 views
1

我提到here並計算線段與球體上某一點之間的距離。我使用交叉軌跡距離公式as,當計算交叉軌跡距離(線段與球體上的點之間的距離)時會出現負值

double distanceBetweenPointAndLineSegment = Math.asin(Math.sin(distance13/earthRadius) * Math.sin(bearing13 - bearing12)) * earthRadius; 

有時它會導致負value.When負值會發生?以及如何採取(或解釋)這個距離?

此外,我也看到了沿軌道距離。跨軌道距離和沿軌道距離之間的差異是什麼?

回答

1

如果(x,y)的座標實際上是(x「,y」下的值),就會發生這種情況。 這並不意味着該值是負的,但該減法在相同的順序總是讓:

(x-x"), (y-y"). 

所以,距離,陰性或陽性,將總是意味着相同。兩點之間的距離-2和+2在數學上是相同的。

從A的距離爲B,其中B(x,y)=(2,2)A(x,y)= (1,1)將是AB(x,y)=(-1,-1)。 B到A的距離爲BA(x,y)=(1,1)。但是這兩點同樣遙遠。

在簡歷中,如果值爲正數或負數,則可以忽略

+0

但實際上我的線和點之間的最短距離大約是60000米(60公里)。但是我用上面的formaula得到的答案是-150。所以我的疑問是跨軌距離足以找到線段和球體上的點之間的最短距離,還是需要沿着邊距計算? – Ramprasad 2013-04-29 13:43:57

+1

如果你的目標是計算一個點到一個大圓的路徑的距離,是的就足夠了。據我所見。 – 2013-04-29 13:45:48

+0

我上面的公式我用地球半徑爲double earthRadius = 6371;我需要將其從Km轉換爲Meter。我認爲返回的距離是米。 – Ramprasad 2013-04-29 13:50:59