管理境界とそのジオメトリを持つpostgresデータベースがあります。これらの境界にはそれぞれ識別番号があります。
私が達成したいこと:
最初に、特定の郵便番号で始まるすべての行を選択します。例えば:
SELECT * FROM "post" WHERE "post"."ident" LIKE '101%'
隣接するすべてのジオメトリをマージし、そうでないジオメトリも返す必要があります。
私はこれらのステートメントを試しました:
これは私がこの答えから持っています:
PostGISを使用して多くの小さなポリゴンを結合して大きなポリゴンを形成しますか?
with t as (
select (st_dump(geom)).geom
from "post"
where "post"."ident" LIKE '593%'
) select ST_UNION(geom) from t;
しかし、このステートメントは、隣接しているが他のポリゴンは含まれていないポリゴンのみを返します
with t as (
select (st_dump(geom)).geom
from "post"
where "post"."ident" LIKE '593%'
) select ((ST_Dump(ST_UNION(geom)))) from t;
私は2行を取得し、これが私が望むものである可能性があるようですが、ST_AsTextの結果を取得することはできません。
必要に応じてマージされたすべてのポリゴンを返し、理想的にはgeoJSONまたはおそらくテキストとして返すステートメントはありますか?