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