1

GeoScript を使用して、データ セットに対してクエリを実行しています。標高タイルを指定して、特定の高さを超える領域を含むジオメトリを作成し、それらのジオメトリを使用して経路探索を行います。範囲内のすべてのジオメトリを取得するために DWITHIN 呼び出しを実行していますが、DWITHIN は私のユニット タイプを無視しています。これら 2 つの呼び出しは、同じデータ セット (132 のうち 124 のジオメトリ) を返します。軸の反転は意図的なものであり、ばかげた API です。

DWITHIN(geom, POINT(42.4979 -122.7668), 233.7, meters)

DWITHIN(geom, POINT(42.4979 -122.7668), 233.7, kilometers)

GeoScript のソースを調べたところ、文字列が送信されていることがわかりました

org.geotools.filter.text.ecql.ECQL

返されたフィルターには正しい単位測定が含まれていますが、それをまったく使用していないようです。フィルターを出力すると、toString も単位を無視します。何が起こっているのでしょうか?

4

1 に答える 1

0

GeoTools dwithin フィルターは、常に基になるデータの単位で機能します。したがって、あなたの場合、距離を度単位で指定するか、データをメートル単位の投影に再投影する必要があります。

于 2012-07-25T07:14:34.877 に答える