我使用Python(GeoPandas,SQLAlchemy,GeoAlchemy2)將多邊形的形狀導入到PostGIS數據庫中。我遵循here提到的說明。PostGIS:將文本WKT/WKB/WKB轉換爲多邊形
我有一個名爲maps_region
的表與一個名爲geom
的列/字段的數據庫。
我能夠以文本格式(WKT,WKB和WKB十六進制)將多邊形字段(名爲geom
)導入到PostGIS數據庫表中,但是,我無法將此文本列成功轉換爲適當的數據庫中的多邊形格式。
我試圖在熟知文本(WKT)格式,WKB格式,WKB六角幾個不同formats--與geom
場進口format--但無法從任何三種格式轉換爲多邊形。
例如,我導入的形狀進geom
字段作爲WKT格式,然後轉換爲WKB十六進制格式,使用下面的命令,其中工作得很好:
database=> UPDATE maps_region SET geom = ST_GeomFromText(geom, 4326);
UPDATE 28
然而,當我然後嘗試從text
格式轉換geom
場成Polygon
類型,我得到了以下錯誤:
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--並且都沒有工作。相反,錯誤信息只是顛倒了!
任何幫助將大大,非常感謝。
在此先感謝!