首页 > 代码库 > QGIS WGS84转其它坐标系并计算坐标

QGIS WGS84转其它坐标系并计算坐标

需求:

将带有经度、纬度(WGS84坐标系)坐标的文本(*.txt)转换成指定投影坐标系的shp文件并计算x,y坐标。

环境和工具:

WIN10、QGIS2.16、带有经纬度坐标的文本。格式如下图:

技术分享

 

 1、创建矢量图层

打开QGIS,选择Layer-->Add Layer-->Add Delimited Text Layer 菜单,如下图所示:

技术分享

2、导入文本坐标

弹出创建图层对话框,选择带有坐标的文本文件,选择自定自定义分割符(Custom delimiters),选择空格(Space),在X field和 Yfield下拉框中选择对应的x、y坐标,然后点击确定,如下图所示:

技术分享

3、选择坐标系

点击确定之后需要选择坐标系,这里选择WGS 84地理坐标系 在Filter搜索框中输入:WGS 84 选择EPSG:4326的坐标系,如下图所示:

技术分享

4、另存矢量图层到本地计算机

这样数据就被导入进来了,然后另存数据,选中导入的图层,右键,选择Save As,如下图所示:

技术分享

5、设置导出图层参数

打开另存为对话框,这里导出的格式为ShapeFile。填写好文件路径和坐标系之后,点击确定就可以导出了,导出后文件会自动加载到QGIS中,如下图所示:

技术分享

6、打开属性表

右键打开shp图层的属性表,如下图所示:

技术分享

7、打开字段计算器

打开属性表后开始计算X、Y坐标,点击属性表上面的:字段计算器(Calculator),如下图所示:

技术分享

8、计算X投影坐标

打开字段计算器后开始计算要素的投影坐标,选择Create a new field,输入字段名称,字段类型和精度之后、在row_number目录树中选择Geometry节点下面的$x用来计算要素的x坐标。双击,将计算公式添加到左侧的计算框中,计算框下方会出现输出预览(Output preview),来查看输出结果是否正确,如果出现红色字体提示则出现了计算错误。然后点击确定即可得到计算结果。如下图所示:

技术分享

计算结果如下图所示:

技术分享

9、计算Y投影坐标

计算Y坐标同理,如下图所示:

技术分享

PS:

这里说一下同样是x,y,为什么坐标不一样。

因为他们使用的坐标系不一样,文本里面的经纬度使用的是WGS 1984 地理坐标系,也是球面坐标系。而转换后的坐标系是墨卡托(Web Mercator)投影坐标系,是平面坐标系。他是将球面坐标经过一定的投影规则转化成平面坐标的。

想更加深入的了解坐标系可以自行百度,或者浏览以下博客:

Web Mercator 公开的小秘密

投影坐标系与地理坐标系的区别

地理坐标系、大地坐标系与地图投影与重投影详解

QGIS WGS84转其它坐标系并计算坐标