using System;
public class Program
{
public static void Main()
{
// 2つの座標の緯度経度を指定する
double lat1 = 35.6895; // 緯度1
double lon1 = 139.6917; // 経度1
double lat2 = 37.7749; // 緯度2
double lon2 = -122.4194; // 経度2
// 座標間の距離を計算する
double distance = CalculateDistance(lat1, lon1, lat2, lon2);
// 結果を出力する
Console.WriteLine("座標間の距離: " + distance + " km");
}
// 座標間の距離を計算するメソッド
public static double CalculateDistance(double lat1, double lon1, double lat2, double lon2)
{
double r = 6371; // 地球の半径(km)
double dLat = ToRadians(lat2 - lat1);
double dLon = ToRadians(lon2 - lon1);
double a = Math.Sin(dLat / 2) * Math.Sin(dLat / 2) +
Math.Cos(ToRadians(lat1)) * Math.Cos(ToRadians(lat2)) *
Math.Sin(dLon / 2) * Math.Sin(dLon / 2);
double c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));
double distance = r * c;
return distance;
}
// 度をラジアンに変換するメソッド
public static double ToRadians(double degrees)
{
return degrees * (Math.PI / 180);
}
}
上記のコードでは、2つの座標の緯度と経度を指定し、CalculateDistance
メソッドを使用して座標間の距離を計算します。距離はキロメートル単位で返されます。