应用背景说明


大多数学地理的同学都知道地理坐标系与投影坐标系。

地理坐标系是使用三维球面来定义地球表面位置,以实现通过经纬度对地球表面点位引用的坐标系。根据椭球体对地球的拟合方式不同,主要分为两类:参心坐标系和地心坐标系参心坐标系是椭球体对地球局部地区的高精度拟合,这样的优点是能够保证该地区测量的经纬度有很高的精度;同时缺点是离拟合中心越远,由于误差传递等原因,测量的精度会降低。我国常用的参心坐标系有北京54坐标系和西安80坐标系。地心坐标系则强调的是尽可能地拟合整个地球,这样的优点是便于配合全球导航卫星系统使用,例如中国的北斗系统、美国的GPS系统、俄罗斯的格洛纳斯系统、欧盟的伽利略系统;同时缺点是定位多多少少有一点偏差。在我国常用的地心坐标系有国家2000和美国的WGS84,如今随着北斗系统的全面使用,国家2000坐标系已经替换以往的北京54和西安80坐标系。

投影坐标系则是以地理坐标系为基准,将三维球面展开为一个平面,这就需要在地球椭球面和平面之间建立点与点之间函数关系。由于建立起的函数关系有很多种类,因此一个地理坐标系可以对应多种投影坐标系。常见的有横轴墨卡托投影(等角横轴割圆柱投影)、高斯-克里格投影(等角横轴切圆柱投影)。我国除了1:100万比例尺的地图以外,采用的都是高斯-克里格投影。高斯-克里格投影为了控制投影变形,采用分带投影的方法,也就有了3度分带、6度分带的说法。在3度分带中,深圳市所处分带为114E带,因此常用的投影为高斯-克里格投影3度分带114E。

在使用西安80地理坐标系的时期,由于其大地原点设在我国中部的陕西省泾阳县永乐镇,离深圳本地比较远,由于误差积累,导致深圳所测量的坐标误差较大。因此,深圳市就根据陕西省泾阳县永乐镇的大地原点一路测过来,并设置一个独立的原点,形成了深圳独立坐标系。经过多年的发展,在深圳独立坐标系下的地理数据已经积累很多了,如今国家要求统一转换到国家2000坐标系。对于北京54、西安80这类坐标系下的数据,借助ArcGIS软件能够很轻松地转换为国家2000,但是由于缺少深圳独立坐标系的具体参数,从而存在转换难度。详细的转换参数掌握在深圳市测绘相关部门,对于机关单位能够无偿地进行转换,而对于社会企业则有一定的收费标准。因此产生了一定的需求,如何用较少的成本实现深圳独立坐标系转国家2000坐标系呢?

工具/数据


ArcGIS软件

COORD软件

Pycharm软件

一份深圳独立坐标系下的数据

一份国家2000坐标系高斯投影114E下的数据(两份数据尽量有重合部位,用于确定控制点)

方法/步骤


如果只有少量的地理图层数据需要转换,那完全可以借助ArcGIS实现;但是对于多个图层/gdb数据的转换,则需要求解出4参数,再通过程序脚本的方式实现批量转换。以下分别介绍两种方法的实现步骤。

单图层转换

1.启动ArcMap软件,加载数据(深圳独立坐标系下的数据、国家2000坐标系下的数据),并查看坐标系;
在这里插入图片描述
在这里插入图片描述

注意:通过以上截图,可以发现两份数据的范围是不同的。一份是经纬度表达的范围,一份是投影坐标表达的范围。因此,用于匹配的两份数据需要转到同一投影坐标系下。也就是需要将国家2000地理坐标系转为高斯投影114E分带。

2.设置投影坐标系。打开ArcToolbox,选择【数据管理工具—投影与变换—投影】工具,填入相应的参数,设置输出坐标系为CGCS2000_3_Degree_GK_CM_114E。
在这里插入图片描述
在这里插入图片描述

3.右键软件界面空白处点击【空间校正】工具,打开【空间校正编辑工具条】。

在这里插入图片描述

4.开始编辑数据层,打开【空间校正编辑工具条】的【新建位移链接工具】。

在这里插入图片描述
在这里插入图片描述

5.选择明显节点进行空间校正,选点时点位要均匀。

在这里插入图片描述

6.对已校正点位进行核对查看是否合格,对残差比较大的点位做删除处理,并重新添加点位。

在这里插入图片描述

7.完成位移链接匹配后,设置校正数据,并开始校正与检查校正效果。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意:由于历史原因,深圳边界存在一定的变化。整体上校正效果不错。如果有实地测量且准确的控制点信息,转换后的精度将进一步提高。

8.定义投影,得到国家2000高斯投影114E坐标系下的数据。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-saagxkob-1659433990019)(https://cdn.jsdelivr.net/oruizn/blogimage@main/img/image-20220802163400006.png)]

9.如果需要转换为国家2000地理坐标系,则通过投影方式实现。操作方式与步骤2类似。

批量图层转换

一两个地理图层的转换尚且能够使用上述方式,但是,当需要转换几十个地理图层,甚至需要转换多个地理数据库中的数据时,如果使用上述的方式工作量会非常的大。因此,我们需要求算出四参数,然后借助程序脚本的方式实现批量转换。

1.执行《单图层转换》的步骤1~步骤6,将链接表保存到本地。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KHo9hSF9-1659433990020)(https://cdn.jsdelivr.net/oruizn/blogimage@main/img/image-20220802164135841.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k7N6gKoS-1659433990020)(https://cdn.jsdelivr.net/oruizn/blogimage@main/img/image-20220802164248849.png)]

2.打开COORD软件,选择计算四参数,输入采集链接表的控制点,点击计算,得到四参数。

注意:COORD软件下载链接

在这里插入图片描述
在这里插入图片描述

3.编写Python脚本,引入Arcpy包,填入计算得到的四参数,即可批量转换一个文件夹下所有shapefile、gdb、mdb。

注意:Python脚本获取请私聊博主
在这里插入图片描述
在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐