ポリゴンをマルチポリゴンタイプに型キャストする方法はありますか?
たとえば、ポイントでST_Buffer()を使用して円を作成しました。その関数の戻り値の型は、Polygon型です。問題は、ジオメトリ列にマルチポリゴンタイプに制限する制限があることです。そのため、単純なポリゴンを挿入できません。
ST_MPolyFromText()関数を使用しましたが、通常どおりそのためにnullを返し、ST_Dump()は適切な出力を提供しません。
制約は次のとおりです。
CONSTRAINT enforce_geotype_geom CHECK (geometrytype(geom) = 'MULTIPOLYGON'::text OR geom IS NULL),
マルチポリゴン制約を追加する理由はありますか?制約を多角形に変更するのはどうですか?
—
暗闇
それはそうですが、独立した質問であると言い換えることもできます。
—
暗闇
はい、これは子供の質問ですが、問題は、ポリゴンレイヤーを含むpostgisにシェープファイルをインポートすると、自動的にマルチポリゴンのジオメトリを作成することです。データタイプをマルチポリゴンからポリゴンに変換するのは少し面倒です。これはクライアントによって行われるためです。したがって、出力をpostgisによって作成されたそのタイプの列に保存する必要があります。-
—
ヴィッキー
PS:マルチからポリへの逆を行うには、を使用します
—
ピータークラウス
st_geometryn(geom, 1)
。