QGIS 将几何添加到属性 table
QGIS Add geometry to attribute table
我正在将我的数据从本地 postgreSQL 服务器导入 QGIS。加载到数据库中的数据集包含 11 列,包括 CRS(坐标参考系统)中的 X 和 Y 列:EPSG:21781,CH1903 / LV03。我试图将这些点绘制为 QGIS 中的一个图层,但是当我使用“添加 PostGIS 图层”导入它时,我必须单击“同时列出 table 没有几何图形”才能找到它。添加后,它显示为属性 table,我可以进入图层属性和 select 正确的 CRS,但它仍然显示不正确。
我还是 QGIS 和 PostgreSQL 的新手,是我做错了什么,还是在将坐标导入 QGIS 之前需要在数据库中定义坐标?
您需要在 table 上创建几何图形。截至目前,您只是显示不包含任何点的 table,因此坐标系甚至不适用。
因此,首先您将通过 PostGIS 创建几何列 AddGeometryColumn
SELECT AddGeometryColumn ('myschema','mytable','geom',21781,'POINT',2);
然后您将使用现有值更新此新列。
UPDATE mytable SET geom = ST_SETSRID(ST_MakePoint(X, Y), 21781);
我正在将我的数据从本地 postgreSQL 服务器导入 QGIS。加载到数据库中的数据集包含 11 列,包括 CRS(坐标参考系统)中的 X 和 Y 列:EPSG:21781,CH1903 / LV03。我试图将这些点绘制为 QGIS 中的一个图层,但是当我使用“添加 PostGIS 图层”导入它时,我必须单击“同时列出 table 没有几何图形”才能找到它。添加后,它显示为属性 table,我可以进入图层属性和 select 正确的 CRS,但它仍然显示不正确。
我还是 QGIS 和 PostgreSQL 的新手,是我做错了什么,还是在将坐标导入 QGIS 之前需要在数据库中定义坐标?
您需要在 table 上创建几何图形。截至目前,您只是显示不包含任何点的 table,因此坐标系甚至不适用。
因此,首先您将通过 PostGIS 创建几何列 AddGeometryColumn
SELECT AddGeometryColumn ('myschema','mytable','geom',21781,'POINT',2);
然后您将使用现有值更新此新列。
UPDATE mytable SET geom = ST_SETSRID(ST_MakePoint(X, Y), 21781);