0
public double CalculateDistance(
      Coordinate c,
      Coordinate a,
      Coordinate b,
      LineMode mode)

パラメーター:

c タイプ: SpatialLite.Core.API.Coordinate 距離を計算する座標。

a タイプ: SpatialLite.Core.API.Coordinate ラインの 1 点。

b タイプ: SpatialLite.Core.API.Coordinate ラインの別のポイント。

mode 型: SpatialLite.Core.Algorithms.LineMode AB を無限線として扱うか線分として扱うかを指定する LineMode 値。

戻り値 C からライン AB までの座標の単位での距離。

SpatialLiteライブラリの上記の方法を使用しています。返される変数は double 型で、ドキュメントで説明されているように、座標単位の距離です。「座標の単位」が正確に何であるかわかりません。それらをメートルに変換するにはどうすればよいですか?

ソースコードはこちら

4

2 に答える 2

1

このメソッドは、2 つの異なる既定の実装 (とCalculateDistance) を持つインターフェイスにあります。ユークリッドの実装は、単位のないデカルト座標空間を想定しており、2 つの座標間の直線距離を計算します。これはあなたが得ているように見えるものです。Euclidean2DCalculatorSphere2DCalculator

球座標を探している場合は、 をインスタンス化する必要がありますSphere2DCalculator。私はライブラリの使い方に詳しくなく、Google Code でコードを掘り下げているだけです。

球体アルゴリズムは、半径 6371010 メートルの球体地球を想定して、2 点間の大圏距離をメートル単位で返します。

球形の地球は最適な表現ではありませんが、アプリケーションによっては十分な場合があります。現在の地図作成はWGS 84で標準化されており、このライブラリはその表現をサポートしていません。

于 2015-05-04T13:46:47.127 に答える