从3维几何转换为2维


12

我有一个Point表,其中的几何列同时包含3维和2维值。我想将此3维几何转换为2维.PostGIS中是否有任何功能?请帮我解决这个问题。

关于Sreesha.TA


我想使用ST_Force2D,但它说:函数st_force2d(geometry)不存在你有什么主意吗?谢谢,拉斯洛
拉斯洛18'Oct

Answers:



9

如果您不想添加新列,也可以执行以下操作:

ALTER TABLE your_geo_table  
  ALTER COLUMN geom TYPE geometry(YOUR_GEOM_TYPE, YOUR_EPSG) 
    USING ST_Force_2D(geom);

例如:

ALTER TABLE your_geo_table  
  ALTER COLUMN geom TYPE geometry(MULTILINESTRING, 4326) 
    USING ST_Force_2D(geom);

我已经在我拥有的数据库上尝试过此建议(就我而言,我遇到类似的问题,但我想强制将点设为3D),但出现此错误:错误:函数st_force_3d(geography)不存在LINE 3 :使用ST_Force_3D(geom); ^提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。**********错误**********错误:错误st_force_3d(geography)不存在SQL状态:42883提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。角色:89
Andrea Grandi,2016年

我猜这是因为ST_Force3D适用于几何类型而不是地理类型。
Thomas B
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.