2017-04-22 25 views
-1

私は、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 - とどちらもうまくいきませんでした。代わりに、エラーメッセージはちょうど逆でした!

ご協力いただければ幸いです。

ありがとうございます!

答えて

0

私は形状が混合フォーマットで登録されていることに気付きました.1つはPolygonフォーマットであり、1つはMultiPolygonフォーマット - see hereです。このように、問題/無効な変換について十分に説明しているようです。

関連する問題