2017-05-08 23 views
0

ある地点からxメートルの地点の座標を取得したいとします。ソース座標のペアと距離を指定して地理座標系のペアを取得

私は2つの座標ペア間の距離を与えるこのコードを発見しましたが、私は1つの座標ペアと距離を与え、与えられた距離だけ離れた点の座標を返したいと思います。

私は角度をあまり与えなければならないと考えていますが、結果は円になります。私は以下を持っていますthis question

function measure(lat1, lon1, lat2, lon2){ // generally used geo measurement function 
var R = 6378.137; // Radius of earth in KM 
var dLat = lat2 * Math.PI/180 - lat1 * Math.PI/180; 
var dLon = lon2 * Math.PI/180 - lon1 * Math.PI/180; 
var a = Math.sin(dLat/2) * Math.sin(dLat/2) + 
Math.cos(lat1 * Math.PI/180) * Math.cos(lat2 * Math.PI/180) * 
Math.sin(dLon/2) * Math.sin(dLon/2); 
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
var d = R * c; 
return d * 1000; // meters 
} 

誰かがJavaScriptでこれを手助けできますか?

GoogleマップAPIを使用して同じことを行うために距離と方位を使用する別のものが見つかりました。私はコンバージョンの背後にある数学を理解していないので、GoogleマップAPIも含めたくありません。

このコードは、あなたが参照質問からThis other question

答えて

0

上で、このlinkを見て、この背後にあると題する節「宛先ポイント与えられた距離と開始点からベアリング」

を数学でありますhaversine式は、球面三角法から来ています。多くの状況では問題ありませんが、限界があります。一般的に、私は通常、可能な限りジオロケーション/ GISで計算をやろうとしないように人々に伝えようとします。浮動小数点精度はここで問題になることがあります。

関連する問題