特定の点から約50km離れた場所の長さと長さを見つける必要があります。どうすればいいのですか?場所から約50km離れた場所の長さと長さを見つける必要があります
答えて
これは、それがhere可能な方程式とサンプルコードをベースにしています、あなたは非常に近い取得します:
ひどい変数名のため申し訳ありませんwindow.pointsAround = function(centerLat, centerLng, radius) {
var result = [];
//do annoying trig maths to work out the delta in latitude between our start and end points
var targetD = radius; //km
var R = 6371; //km
var c = (targetD/R)/2;
var sqrtA = Math.sin(c);
var a = sqrtA * sqrtA;
var sinHalfDLat = Math.sqrt(a);
var dLat = Math.asin(sinHalfDLat) * 2;
var dLatDegrees = ((dLat/(2 * Math.PI)) * 360);
var minLat = centerLat - dLatDegrees; //furthest valid latitude above the origin
var maxLat = centerLat + dLatDegrees; //furthest valid latitude below the origin
//alert("minLat=" + minLat + ", maxLat=" + maxLat + ", dLat=" + dLat + ", dLatDegrees=" + dLatDegrees);
//topmost and bottommost points in the circle
result.push({lat: minLat, lng: centerLng});
result.push({lat: maxLat, lng: centerLng});
//step from minLat to maxLat, interpolating coordinates that lie upon the circle
var step = (maxLat - minLat)/180.0;
for (var count = 0; count < 179; count++) {
minLat += step;
dLat = (centerLat - minLat) * Math.PI/180;
//more annoying trig to work out the delta in longitude for our interpolated coordinate
var dLon = 2 * Math.asin(Math.sqrt((a - (Math.sin(dLat/2) * Math.sin(dLat/2)))/(Math.cos(minLat) * Math.cos(centerLat))));
var dLonDegrees = ((dLon/(2 * Math.PI)) * 360);
var newLng = centerLng + dLonDegrees;
var deltaLng = newLng - centerLng;
result.push({lat: minLat, lng: newLng});
result.push({lat: minLat, lng: centerLng - deltaLng});
}
return result;
};
、私は彼らがサンプル実装に基づいています言ったように、同じ名前を使用します。ここで
は実施例である:http://jsfiddle.net/HmchC/8/
プロットは、より多くの私が望むよりも、楕円が、まあまあです。それは私がそれを得ることができるほど近いです、今のところ。
更新
私はそれだけで度からラジアンに変換を欠けていた、楕円形のプロットで問題を修正しました。数学者は、度だけが理にかなっていることをいつ学びますか?ここではどのような場合には
、作業例:http://www.movable-type.co.uk/scripts/latlong: http://jsfiddle.net/HmchC/11/hmmm、ここであなたの後ろにあるものは特に明確ではありません。
既知の点(既知の緯度および経度)を持ち、既知の点を中心とする50kmの円周上にある点の緯度および経度を超えている場合は、
私はそれをどうにか読んでいます....あなたは私が仮定するいくつかの数学でこれを行うことができます。キロメートルのような一定の距離は、あなたが計算し定義できる緯度/経度の一定の変化と同じです。この変化のどれくらいが緯度に適用されるか、どのくらい長く適用されるかを判断することが難しい場合は、デバイスが1つをサポートしている場合、コンパスベアリングを使用することができます。
編集: Arothのコメントのリンクがあなたを助けてくれるはずです
あなたはハーベスン公式または空間充填曲線または空間インデックスを探したいと思います。ハーベイジン式は2つの円の衝突を計算し、空間充填曲線はマップをタイルに再帰的に細分する。クアッドツリーのように見え、2dの複雑さが1dの複雑さになります。近くのポイントを検索するためのユニークなキーまたはクォドラントを探したいとします。あなたはNickのヒルベルト曲線空間インデックスquadtreeブログを調べたいと思う。
- 1. 現在の場所と指定された場所の間の道路の距離を見つける
- 2. インデックスと長さは文字列内の場所を参照する必要がありますか?
- 3. C#インデックスと長さは、文字列内の場所を参照する必要があります。パラメータ名:length
- 4. 3次元オブジェクトの鼻から離れた場所を見つける
- 5. ピンを2か所に落とす必要があります...現在の場所とイベントの場所
- 6. Pythonクラスがあると、定義されている場所でコード内の場所を調べて見つける方法はありますか?
- 7. GWT:CellでEventBusを使用する場合の長所と短所
- 8. 場所間の距離を見つける方法
- 9. 指定された緯度経度の場所から特定の距離内のすべての緯度経度の場所を見つけるアルゴリズム
- 10. Flash actionscript 3ビデオが渡された場所から後で再生するために渡された場所を見つける
- 11. 長さがNULLの場合、条件を渡す必要があります
- 12. グレーアウトされた命令で気の利いたテキストボックスを見つける場所はありますか?
- 13. 依存するオブジェクトが呼び出された場所を見つける
- 14. 場所からの最小総距離のポイントを見つけるアルゴリズム
- 15. 変数が設定されている場所を見つけるResharperコマンドがありますか?
- 16. ユーザーの場所を見つける
- 17. リストの場所を見つける、
- 18. 幅が制限された.cssの左メニューのオープンソースコードを見つける場所
- 19. なぜE_NOTICEエラーを修正する必要がありますか?長所と短所
- 20. openjdkでソースを見つける場所
- 21. JSR 223 TCKを見つける場所
- 22. JBOSS:jboss.xmlを見つける場所
- 23. appengine endpoints.shスクリプトを見つける場所
- 24. 私の場所と場所のボタンが表示されない
- 25. ハンドルが開かれている場所を見つける
- 26. 長さのベクトル要素を見つける長いR
- 27. 長所と短所
- 28. Global.asaxを使用する場合の長所と短所は何ですか?
- 29. JavaScriptの既知の場所との距離を見つける方法
- 30. Apacheのhttpd.exeがインストールされている場所を見つける方法は?
を見上げる「大圏距離」 – Randy
はこれが開始するには良い場所でしょう.html – aroth
私は前にこの問題を抱えていました。解決策はこちら http://stackoverflow.com/questions/5632406/how-to-find-latitude-and-longitude – Rasel