0
多角形(または多角形、私はよく分かりませんが...重要ですか?)で定義された1つのタイプ(A)のテーブルを持っています。 CTE、別のCTEの別のタイプ(B)の別のCTEがあります。指定された半径の範囲内にあるAタイプのポリゴンをフィルタリングしたいと思います。のいずれかのタイプBのポリゴンです。どうすればよいですか?他の多角形の特定の半径内のポリゴンを見つける
多角形(または多角形、私はよく分かりませんが...重要ですか?)で定義された1つのタイプ(A)のテーブルを持っています。 CTE、別のCTEの別のタイプ(B)の別のCTEがあります。指定された半径の範囲内にあるAタイプのポリゴンをフィルタリングしたいと思います。のいずれかのタイプBのポリゴンです。どうすればよいですか?他の多角形の特定の半径内のポリゴンを見つける
は、あなたの距離パラメータを指定するST_DWithinでWHERE句を使用し、その後にST_Collect &を使用して、「B」ポリゴンのコレクションを作成します。例えば
:ジオメトリの両方のセットは、異なるタイプ(例えばポリゴン、ポイント、MultiPolygonの、など)であってもよいが、それらは座標系/同じ投影でなければならない
WITH polys_a AS (
SELECT geom
FROM buildings_dc
),
polys_b AS (
SELECT geom
FROM buildings_va
)
SELECT polys_a.*
FROM polys_a,
(
SELECT ST_Collect(geom) as geoms
FROM polys_b
) as c
WHERE ST_DWithin(a.geom, c.geoms, .001);
注意。標準のWGS84(SRID 4326)を使用している場合、距離パラメータは度で表されます。