我正在使用 Python(GeoPandas、SQLAlchemy、GeoAlchemy2)将多边形形状导入 PostGIS 数据库。我按照这里提到的说明进行操作。
我有一个数据库,其中有一个名为的表maps_region
,其列/字段名为geom
.
我可以将多边形字段(geom
名为.
我尝试使用geom
几种不同格式的字段导入——众所周知的文本 (WKT) 格式、WKB 格式和 WKB 十六进制格式——但无法从这三种格式中的任何一种转换为多边形。
例如,我将形状geom
作为 WKT 格式导入到字段中,然后使用以下命令转换为 WKB Hex 格式,效果很好:
database=> UPDATE maps_region SET geom = ST_GeomFromText(geom, 4326);
UPDATE 28
但是,当我尝试将geom
字段从text
格式转换为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)
我尝试了两种方法:转换为 Polygon 和转换为 MultiPolygon——但都没有奏效。相反,错误消息只是颠倒了!
任何帮助将不胜感激。
提前致谢!