sql - 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)与列类型不匹配
是否有一个我遗漏的查询能够使用几何列中找到的几何数据的地理转换成功地填充新的地理列?
解决方案
您添加了point geography
,但源列包含multipolygon geometry
。
如果您的所有数据都是multipolygon
,请创建一个geography
正确类型的:
ALTER TABLE table ADD COLUMN geography geography(multipolygon ,4326);
如果您有混合输入,请创建一个通用geography
列:
ALTER TABLE table ADD COLUMN geography geography(4326);
推荐阅读
- bash - 删除文件名扩展名后排序并获取唯一文件
- c - 无法在 Windows 10 的用户环境变量中编辑 PATH
- excel - 在excel中合并两个文件中的数据并进行一些计算
- dataset - 如果将模式从数据库导入 HCL OneTest 数据失败,是否可以回滚?
- jmeter - 如何使用jmeter在os进程采样器中传递slrum命令(sinfo)
- json - 如何在大型 json 文件中查看路径或祖先
- python - pyodbc 连接超时 - 回收连接?
- python - Order_By SQLite 中 peewee 中的自定义日期
- r - 为基本箱线图 r 添加交互性
- python - 在 Python 的列表中使用 min 函数获取 AttributeError