由于矢量图层可能使用了不同的坐标系,所以每个矢量要素(Feature)的坐标数据,并非一定使用经纬度记录。那如何获取要素的经纬度呢?
这里就要使用GIS中最常用的一个算法了:不同坐标系之间的投影变化算法(在GIS系统中,通常叫做transform或reproject)。
实际操作的方法主要有两种,第一是图层重投影,第二是矢量要素计算器。图层重投影在之前已经讲过,点击这里直达。
本文使用矢量要素计算器来实现。
右键矢量图层,点击打开属性表。在属性表工具栏中,点击打开字段计算器。字段计算器是QGIS提供的一个十分强大的工具,支持通过一些条件或算法,执行各种你需要的计算。
本次,我使用transform算法,将矢量要素的坐标值,统一转换成地理坐标系WGS84(EPSG:4326)下的坐标值。
核心:由于地理坐标系的单位,是将地球按照经纬度的方式进行划分的。所以此处选择EPSG:4326。
点击这里,进一步学习地理坐标系与投影坐标系的区别,以及两者的不同应用场景。。
在表达式栏中,输入如下算法,构建经度
x(transform($geometry, layer_property(@layer, 'crs'),'EPSG:4326'))
输入如下算法,构建纬度
y(transform($geometry, layer_property(@layer, 'crs'),'EPSG:4326'))
字段计算器配置信息,如下图所示。

更多QGIS使用问题,欢迎留言或联系我们。转载须注明出处。