回答:
PostGISには、複数のジオメトリを単一のジオメトリに結合して、の入力として使用できる2つの関数がありますST_Centroid
。
ST_Collect
一連のジオメトリを変更せずに単純に結合します。
代替案はST_Union
、複数のジオメトリを「解決」し、冗長なコンポーネントを削除します。これはおそらく、このアプリケーションに必要なものではありません。
違いを確認するには、以下を比較してください。
SELECT ST_AsText(ST_Centroid(ST_Union(geom))) FROM
(VALUES ('POINT (0 0)'), ('POINT (2 2)'), ('POINT (2 2)')) sq (geom);
-- POINT(1 1)
そして
SELECT ST_AsText(ST_Centroid(ST_Collect(geom))) FROM
(VALUES ('POINT (0 0)'), ('POINT (2 2)'), ('POINT (2 2)')) sq (geom);
-- POINT(1.33333333333333 1.33333333333333)
この場合、ST_Union
重複したポイントは削除されますが、ST_Collect
保持されます。