2つの座標間の短い距離を概算するために、http://en.wikipedia.org/wiki/Lat-lonの式を使用しました
。
m_per_deg_lat = 111132.954 - 559.822 * cos( 2 * latMid ) + 1.175 * cos( 4 * latMid);
m_per_deg_lon = 111132.954 * cos ( latMid );
。
以下のコードでは、ウィキペディアの公式との関係を示すために、生の数値を残しています。
double latMid, m_per_deg_lat, m_per_deg_lon, deltaLat, deltaLon,dist_m;
latMid = (Lat1+Lat2 )/2.0; // or just use Lat1 for slightly less accurate estimate
m_per_deg_lat = 111132.954 - 559.822 * cos( 2.0 * latMid ) + 1.175 * cos( 4.0 * latMid);
m_per_deg_lon = (3.14159265359/180 ) * 6367449 * cos ( latMid );
deltaLat = fabs(Lat1 - Lat2);
deltaLon = fabs(Lon1 - Lon2);
dist_m = sqrt ( pow( deltaLat * m_per_deg_lat,2) + pow( deltaLon * m_per_deg_lon , 2) );
ウィキペディアのエントリには、距離計算が縦100kmで0.6m以内、横100kmで1cm以内であると記載されていますが、その精度に近いところは私の使用には問題ないため、これを検証していません。