ビン・マップと2つのポイントがある: Point1、Point2と私はこれら2つのポイント間の距離を計算したいですか?それは可能ですか? と私はポイント1とポイント2とポイント2の間のパスの2/3に円を配置したい場合...どのように私はそれを作ることができますか?ビン地図の2つのポイント間の距離を計算する
答えて
Haversine、さらにはVincentyの式を参照してください。
次のコードは、距離を取得するためにhaversinesの方法を使用しています。
public double GetDistanceBetweenPoints(double lat1, double long1, double lat2, double long2)
{
double distance = 0;
double dLat = (lat2 - lat1)/180* Math.PI;
double dLong = (long2 - long1)/180 * Math.PI;
double a = Math.Sin(dLat/2) * Math.Sin(dLat/2)
+ Math.Cos(lat1/180* Math.PI) * Math.Cos(lat2/180* Math.PI)
* Math.Sin(dLong/2) * Math.Sin(dLong/2);
double c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));
//Calculate radius of earth
// For this you can assume any of the two points.
double radiusE = 6378135; // Equatorial radius, in metres
double radiusP = 6356750; // Polar Radius
//Numerator part of function
double nr = Math.Pow(radiusE * radiusP * Math.Cos(lat1/180 * Math.PI), 2);
//Denominator part of the function
double dr = Math.Pow(radiusE * Math.Cos(lat1/180 * Math.PI), 2)
+ Math.Pow(radiusP * Math.Sin(lat1/180 * Math.PI), 2);
double radius = Math.Sqrt(nr/dr);
//Calculate distance in meters.
distance = radius * c;
return distance; // distance in meters
}
あなたはに関する情報hereで良いサイトを見つけることができます。
より正確な結果が必要な場合、または数学演算を実行する場合(たとえば、円をスペリオ/投影に変換する場合)、地理図書館を(再)投影および計算操作に使用できます。 DotSpatialまたはSharpMapとサンプル/ユニットテスト/ソースを見てください...これはあなたの問題を解決するのに役立ちます。
とにかくgeodesic distanceとbearingがわかっている場合は、結果のターゲット位置(円の中心)がどこにあるかを計算することもできます。 Vincenty'sアルゴリズムの「直接問題」を参照してください。また、useful algorithm implementations/silver
GIS Stackexchangeに質問を投稿することも考えられます。彼らはあなたのようなGISに関連する問題について議論します。 calculating lat long x-miles from pointの質問をご覧ください(既に距離を知っているので)distance calculationsについてのディスカッションをご覧ください。この質問は問題how to draw a point on a line in a given distanceに関連しており、ほぼ同じです(中心と半径が必要なため)。
もう1つの方法は、ArcGIS API for Silverlightを使用してBing Mapsを表示することです。オープンソースであり、そこに必要なことを学ぶことができます。サンプル内のユーティリティのサンプルタブを参照してください。
すでに言及したように:this pageをご覧になり、問題に関する詳細情報を入手してください。ここで、数式、JavaScriptコード、および目的地点を特定の距離だけ計算し、出発地からの方位を計算するためのExcelサンプルを検索します(見出しを参照)。
コードをC#-worldに「変換」するのは難しいことではありません。
Microsoftには、Haversine式を使用するGeoCoordinate.GetDistanceTo Methodがあります。
他の実装では、小さすぎる距離のNaNを返します。私はまだ組み込み関数に関する問題に遭遇していません。
ああ、前に気付かなかった。 Thanx – Beachwalker
APIがちょうど大きくなっています!それも私には分かりませんでした。私は自分のプロジェクトで取り組むために自分の共通のlibにHaversine実装を追加しました。私はそれを知っている、甘い削除することができますね! – Depechie
Windows Storeアプリケーションでサポートされていないようです... – LowDev1
- 1. 地図:2ポイント間の距離を計算するのは高度ですか?
- 2. iOSの地図上の2点間の距離を計算する
- 3. 計算フュージョンテーブルのポイント間の距離
- 4. 2つの地理的地点間の距離を計算する方法
- 5. Googleマップの2つのポイント間の距離を計算する方法は?
- 6. 2つのGPSポイント間の(x、y)の距離を計算する
- 7. 地球儀上の2つの座標間の距離を計算する
- 8. ポイントの2つのセット間の距離のペアごとの計算
- 9. アンドロイドの2つの場所間の距離を計算する
- 10. 2つのヒストグラム間の距離を計算する方法
- 11. 2つのLaBカラー間の距離を計算するJava
- 12. 2つの文字列間の距離を計算する
- 13. 2つの間の距離を計算する
- 14. プロローグ:2つの座標間の距離を計算する
- 15. gpsポイント間の歩行距離を計算する
- 16. 地図描画パスと距離の計算
- 17. 2つのポイント間の距離と距離が最も離れています
- 18. n個のGPSポイント間の最短距離の計算
- 19. 地図はポイント間の最善のルートを計算します
- 20. モンゴースの2つの地理空間間の距離をどのように計算するのですか?
- 21. 2つのデータフレーム間のHaversine距離の計算
- 22. 2つのジオポイント間の距離計算R
- 23. Pythonで2つのgpsポイント間の距離を見つける
- 24. jaccard計算する行間の距離
- 25. リーフレットの2点間の距離を計算する
- 26. 2人のユーザー間の社会的距離を計算する
- 27. 2台のカメラ(画像)間のベースライン距離を計算する
- 28. どのように地理的なポイントと境界の間の距離を計算するのですか?
- 29. Googleマトリックス - 出発地と目的地の間の距離を計算
- 30. Pythonコードで2つのポイント間の距離を計算するための並列化の最速方法
+1。 Haversineは最も一般的であり、任意の2点間のおおよその距離を決定するのに完全に適しています。 Vincentyは、地球の形状が完全球ではなく回転楕円体であると仮定しているため、より良い近似を提供します。最後のオプションは、Microsoft.SqlServer.Types.dllライブラリをインポートし、SqlGeographyデータ型のSTDistance()メソッドを使用することです。これは、楕円体モデル(WGS84など)を使用する際に最も正確な結果をもたらします。これは、SQL Serverが地理データ型の場合とまったく同じです。 –
遠方のパーツにはうまくいきますが、point1とpoint2の間の距離の2/3にどのように円を表示できますか? – AboKevo
結果はメートル、KM ....ですか? – toroveneno