【问题标题】:QGIS Add geometry to attribute tableQGIS将几何添加到属性表
【发布时间】:2018-08-15 18:09:41
【问题描述】:

我正在将我的数据从本地 postgreSQL 服务器导入 QGIS。加载到数据库中的数据集包含 11 列,包括位于 CRS(坐标参考系统)中的 X 和 Y 列:EPSG:21781,CH1903 / LV03。我正在尝试将这些点绘制为 QGIS 中的一个图层,但是当我使用“添加 PostGIS 图层”导入它时,我必须单击“也列出没有几何图形的表”才能找到它。添加后,它会显示为属性表,我可以进入图层属性并选择正确的 CRS,但它仍然无法正确显示。

我还是 QGIS 和 PostgreSQL 的新手,是我做错了什么还是需要在将坐标导入 QGIS 之前在数据库中定义坐标?

【问题讨论】:

    标签: postgresql postgis qgis


    【解决方案1】:

    您需要在桌子上创建几何图形。到目前为止,您只是显示一个不包含任何点的表格,因此坐标系甚至不适用。

    所以,首先您将通过 PostGIS AddGeometryColumn 创建几何列

    SELECT AddGeometryColumn ('myschema','mytable','geom',21781,'POINT',2);
    

    然后您将使用现有值更新此新列。

    UPDATE mytable SET geom = ST_SETSRID(ST_MakePoint(X, Y), 21781);
    

    【讨论】:

    • 我已成功创建列,当我尝试使用 X 和 Y 列中的数据进行更新时,出现此错误:i.stack.imgur.com/ZeU9H.png
    • 确保安装 Postgis 的架构在您的搜索路径中(通常是公开的)
    • 架构在公共域中(见图),也许是我使用 ST_SRID 函数的方式吗? i.stack.imgur.com/UQLcQ.png
    • 抱歉打错了,试试 ST_SETSRID
    猜你喜欢
    • 2015-11-12
    • 2022-10-25
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    相关资源
    最近更新 更多