​       在工作或学习过程中经常会遇到收集来的资料(CAD、shapefile等)加载到ArcGIS之后存在空间位置不对应的问题,但是数据来源又是可靠准确的,那么存在的问题就是坐标系设置问题了。本篇笔记也是在工作中遇到过各式各样的问题后做的一个小结。

一、理论基础

      (一)投影与地理坐标

        简单来讲,投影就是把地球(椭球体)投影到平面上的方法,不同的方法就对应了不同的投影坐标系,常见的有高斯克吕格投影(等角横轴切椭圆柱投影)。

图1 投影坐标系统示意图(来源于网络)

地理坐标系就是根据实际的中央经线、基准点通过测量得到的实际经纬度坐标在平面的展示。

图2 地理坐标系统示意图(来源于网络)

图3  常用投影方法(高斯克吕格投影即为横轴圆柱投影的一种)

      (二)常用坐标系

        1. 国家地心大地坐标系(通用CGCS2000坐标系)

        以广东某地区为例,常用坐标系为国家大地2000坐标系,中央经线为东经114°,原数据带38带号与不带38带号两种,那么对应常用的坐标系也就有两种。根据原始数据是否有带号来判断具体用哪个坐标系,ArcGIS中只有坐标系与原始坐标系统匹配才能够正确显示其位置,也只有匹配的情况下所有数据才能够在空间上相互对应起来。

① CGCS2000_GK_3degree_114E

② CGCS2000_GK_3degree_zone38  

 图4  标准114°国家大地2000坐标系参数截图

2. 国家地心大地坐标系(地方CGCS2000坐标系)

      以广东某地区为例,通用坐标系为国家大地2000坐标系,中央经线为东经114°。因该地区与115°更接近,为了测量、计算更加精准,使用了以115°为中央经线的大地2000坐标系,即 CGCS2000_GK_3degree_115E或CGCS2000_GK_3degree_zone38_115。

图5  地方115°国家大地2000坐标系参数截图

3. 世界通用坐标系(WGS_1984)

       全球通用坐标,大家都懂不做过多赘述,主要用于将地方数据加载至GoogleEarth或其他通用平台对比查看或转换为kml应用于外业使用(奥维等app不需转为WGS1984坐标也可以使用)。

二、实际应用

      (一)原始数据加载

       1.CAD数据坐标系分析

       首先可以向提供数据方了解该数据是什么坐标系,或者直接在文件命中就体现是那种坐标系的。例如我本次示例数据即在文件名中体现是114还是115坐标系的数据。

       其次为判断该数据坐标是否有带号。示例数据所在区域为三度分带第38带,所以判断X坐标是否为38开头(不是38开头一般为6位数)。 

 图6  示例CAD数据截图

       2. 加载数据至ArcGIS

      图层坐标系根据BBB-114定义为带38度带号坐标系,可看到两个数据无法在空间上重叠在一起。一是因为中央经线本身不同,二是因为一个有带号一个没有。为了让两个数据都能够在同一个坐标系下正常显示,则需要对其中一个重新定义都应坐标系,这里选择对AAA-115进行重新定义(定义之前需将数据导出为shapefile格式)。

图7 不同坐标系统数据加载至ArcGIS后截图 

图8 对AAA-115数据重新定义坐标系统即定义后位置对比截图

      至此,两个不同坐标系统数据如何在ArcGIS中显示到相对统一的坐标系统演示完成。同理将BBB-114重新为定义为CGCS2000_GK_3degree_ zone38坐标系同样可以实现两个CAD数据位置匹配。重点需要关注原始数据坐标系统,重新定义的坐标系统需与原始数据坐标系相匹配。

     (二)数据导出至Google Earth

       GoogleEarth使用的是WGS1984坐标系,数据以经纬度格式显示,并且在导入数据时需要以kml或者kmz格式导入。在转换为kml或kmz格式之前,我们需将坐标系定义为WGS1984坐标,同时修改坐标显示形式为经纬度,否则在Google Earth中无法正确显示位置。

图9 数据导出至GoogleEarth及示意图

       理解数据坐标转换原理有助于实际应用中应对各种坐标系相互转换的问题,最后总结为一句话:首先保证原数据在ArcGIS中加载到正确的数据框中,然后再根据所需进行定义,定义后导出即为所定义的新的坐标系数据。如有表述错误或不理解的地方,还请留言相互学习~~~

Logo

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

更多推荐