首页 > 解决方案 > PostGIS 从几何列创建地理列

问题描述

我目前有一个具有以下类型格式的表:

varchar | numeric | numeric | geometry

要添加地理列,执行了以下查询:

ALTER TABLE table ADD COLUMN geography geography(POINT,4326);

现在表格的类型格式如下所示:

varchar | numeric | numeric | geometry | geography

我现在遇到的问题是我正在尝试使用基于几何列的信息填充地理列。我试过了:

UPDATE table SET geography = geometry::geography;

但我遇到以下错误:

错误:几何类型(MultiPolygon)与列类型不匹配

是否有一个我遗漏的查询能够使用几何列中找到的几何数据的地理转换成功地填充新的地理列?

标签: sqlpostgresqlpostgis

解决方案


您添加了point geography,但源列包含multipolygon geometry

如果您的所有数据都是multipolygon,请创建一个geography正确类型的:

ALTER TABLE table ADD COLUMN geography geography(multipolygon ,4326);

如果您有混合输入,请创建一个通用geography列:

ALTER TABLE table ADD COLUMN geography geography(4326);

推荐阅读