距離を計測する

地理的座標系または投影座標系で距離を計測するには、大圏の計算が必要です。MgGeometry::Buffer()MgGeometry::Distance() のどちらも、使用される大圏を定義する計測パラメータを受け入れます。計測パラメータが null の場合は、直線アルゴリズムを使用して計算されます。

計測パラメータ MgCoordinateSystemMeasure オブジェクトを MgCoordinateSystem オブジェクトから作成します。

距離は、SRS の単位で計算されます。MgCoordinateSystem には、座標系の単位を直線距離に変換するための ConvertCoordinateSystemUnitsToMeters() と直線距離を座標系の単位に変換するための ConvertMetersToCoordinateSystemUnits() という 2 つのメソッドがあります。

たとえば、2 つの MgGeometry オブジェクト $a $b の距離を座標系 $srs を使用して計算するには、次の手順を実行します。

$measure = $srs->GetMeasure();
$distInMapUnits = $a->Distance($b, $measure);
$distInMeters = $srs->ConvertCoordinateSystemUnitsToMeters(
   $distInMapUnits);

距離を計算するもう 1 つの方法は、次のように MgCoordinateSystemMeasure::GetDistance() を使用することです。

$distInMapUnits = $measure->GetDistance($a, $b);