私は、Python(GeoPandas、SQLAlchemy、GeoAlchemy2)を使用してPostGISデータベースに多角形をインポートしています。私はhereの指示に従った。PostGIS:テキストWKT/WKB/WKB 16進数をポリゴンに変換
maps_region
という名前のテーブルと、geom
という列/フィールドを持つデータベースがあります。
PostgISデータベーステーブルにテキスト形式(WKT、WKB、WKB 16進数)でインポートするPolygonフィールド(geom
)を取得できましたが、このテキスト列を適切に変換することができませんデータベース内のポリゴン形式。
Well-Known Text(WKT)形式、WKB形式、WKB 16進形式のgeom
フィールドでインポートしようとしましたが、3つの形式からPolygonに変換できませんでした。
たとえば、私はWKT形式としてgeom
フィールドに図形をインポートして、WKB Hexフォーマットに変換し、うまく働いた次のコマンドを使用して:
database=> UPDATE maps_region SET geom = ST_GeomFromText(geom, 4326);
UPDATE 28
しかし、私はそれからにしようとすると、 geom
フィールドがPolygon
型にtext
フォーマットへ変換、私は、次のエラーを得る:
database=> ALTER TABLE maps_region ALTER COLUMN geom TYPE Geometry(POLYGON, 4326);
ERROR: Geometry type (MultiPolygon) does not match column type (Polygon)
database=> ALTER TABLE maps_region ALTER COLUMN geom TYPE Geometry(MULTIPOLYGON, 4326);
ERROR: Geometry type (Polygon) does not match column type (MultiPolygon)
私は両方の方法を試してみました:ポリゴンに変換、及びのMultへの変換しますiPolygon - とどちらもうまくいきませんでした。代わりに、エラーメッセージはちょうど逆でした!
ご協力いただければ幸いです。
ありがとうございます!