目录
- 前言
- 1.测绘数据预览
-
- [1.1 确定带号](#1.1 确定带号)
- [1.2 为什么是对Y轴分带,而不是对X轴分带?](#1.2 为什么是对Y轴分带,而不是对X轴分带?)
- [2 测绘数据转shp](#2 测绘数据转shp)
-
- [2.1 添加数据](#2.1 添加数据)
- [2.2 显示XY数据](#2.2 显示XY数据)
- [2.3 添加经纬度字段](#2.3 添加经纬度字段)
- [2.4 计算经纬度](#2.4 计算经纬度)
- 3.shp数据重投影
- 4.总结
前言
最近在刚好在做一个小功能,将测绘数据转为经纬度坐标。测绘数据是西安80的投影坐标,即平面坐标,我们要做的转为经纬度坐标,即地理坐标。对投影坐标和地理坐标不太懂的同学可以移步我们之前的一篇博文地理坐标系与投影坐标系
1.测绘数据预览
我们的80测绘数据是这样的:
1.1 确定带号
很简单,看Y坐标的前两位就可以了,我们是36度带,很明显是3度带编号。为什么?因为我国的3度带编号是从25-46(网上很多人说是从24-45,其实是不对的),我们来看下高斯投影分带图就知道了:
上面是6度带,下面是3度带。由于我国的经度范围是73°33′至135°05′。根据这个范围我们很明显的就可以知道6度带是从13-23,那么对应的,3度带就是从25-46。因为45带的中央经线是132,46带的中央经线才是135。
1.2 为什么是对Y轴分带,而不是对X轴分带?
要解答这个问题,我们首先要明白测绘中使用的坐标系,它的X轴Y轴和我们GIS里常用的指向是反的 。明白这一点这对我们后面的转换很重要,见下图:
为什么要这样设计?因为要方便坐标方位角的计算,我们这里就不深入解释了,只需要知道是这样的就可以了。
2 测绘数据转shp
好了,讲完了理论,现在我们可以开始实操了。首先要说明的是,ArcGIS里不支持xlsx格式的excel,因为你需要先转为xls格式。然后导入到ArcGIS。
2.1 添加数据
2.2 显示XY数据
重点来了,这里的XY字段怎么选?基于我们之前的讲解,相信你已经明白了坐标轴是反的,虽然这里已经读出来了X坐标和Y坐标,但是错误的,所以要改过来,变为:
默认坐标系也不对,我们是投影坐标系,这里默认是地理坐标系,因此也要改过来,在投影坐标系中找到高斯-西安1980-36度带。
点击确认,即可看到相应数据了。
接下导出数据
格式选为shpfile
或者直接在这里改名称也可以,我们改为test.shp,点击确定,询问是否要加进来,点击是。
加进来以后右键看下属性
2.3 添加经纬度字段
右键图层-打开属性表
添加字段-经度,类型选双精度,点击确定。
同样的操作添加字段-纬度,类型也为双精度
2.4 计算经纬度
通过计算几何菜单计算经度值,注意要选择数据框的坐标系WGS84
同样的操作计算纬度
如果之前显示XY时选错了,这里就不能计算出正确的值,切记。
如果数据框的坐标系不是WGS84怎么办呢?右键图层框,修改坐标系为WGS84即可。
至此我们就完成了平面坐标向经纬度坐标的转换。接下来我们要讨论的是如何将整个文件转为WGS84坐标的文件,因为现在文件还是西安80坐标系的。
3.shp数据重投影
依次选择ArcToolBox-数据管理工具-投影和变换-投影
注意输出坐标系选WGS84即可。因为西安80到WGS84要进行基准的变换,因此有个感叹号提示,不用管。
4.总结
本文介绍了如何将测绘数据的平面坐标转为经纬度坐标,并详细介绍了其原理,包括测绘中的坐标系和GIS中的坐标系的差异,以及对我们坐标转换时的影响。现在我们明白了西安80如何转换为经纬度坐标,那么其他的如北京54,或者国家2000,你肯定也会了,因为都是类似的。本文就介绍到这里,希望对大家有所帮助,回见~