QGIS将几何添加到属性表

时间:2018-03-07 15:16:44

标签: postgresql postgis qgis

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

QGIS layer properties

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

1 个答案:

答案 0 :(得分:1)

您需要在表格上创建几何体。截至目前,您只是显示一个不包含任何点的表,因此坐标系统甚至不适用。

因此,首先您将通过PostGIS AddGeometryColumn

创建几何列
SELECT AddGeometryColumn ('myschema','mytable','geom',21781,'POINT',2);

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

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