「ArcGIS风暴」动态投影?这次为您揭开ArcGIS动态投影神秘面纱

GISer们都见过以下警告,该警告的原因是当前加载的数据的坐标系和当前数据框坐标系不一致导致的。如当前数据的坐标系是GCS_Xian_1980,而数据框的坐标系有可能是WGS1984等,总之跟要加载的数据的坐标系不一致。

​图1地理坐标系警告

我们知道,ArcGIS中新建的数据框是没有坐标系的,它的坐标系来自于第一个加载的数据的坐标,如第一个加载的坐标系是WGS_1984,则当前数据框的坐标系就是WGS_1984。

我们还知道,ArcGIS中可以添加多个具有不同坐标系的数据框。但是,在【数据视图】下只能有一个数据框是活动的,可以激活某一个数据框,布局视图下就无所谓了,可以直接单击一个数据框将其激活,可以同时展示。事实上,我们做区位图就是通过添加新的数据框来实现的。

图2激活数据框

​为了演示的方便,我们找一个案例数据,数据1和数据2,数据1的坐标系是WGS_1984,数据2是进行了Lambert投影,分别加载到两个数据框中。

​图3布局视图下的左图框和右图框

从上面的图中我们可以很清楚的看到,两个数据框中的数据形状不一样,左图框的坐标系是WGS_1984,而由图框的坐标系是Lambert。他们都来自于当前数据。需要说明的是,上图采用的数据是同一个数据,只是数据2进行了投影。

​图4WGS_1984

​图5Lambert

接下来我们再来理解动态投影的相关概念。

这里举例解释:

比如数据框的坐标系为
Xian_1980_3_Degree_GK_CM_117E,数据本身坐标系为
Xian_1980_3_Degree_GK_CM_114E,那么把数据加载进Arcmap后,软件会将数据在
Xian_1980_3_Degree_GK_CM_114E中的坐标值(平面坐标x,y)转换为Xian_1980的地理坐标值(经纬度B,L),然后再投影为
Xian_1980_3_Degree_GK_CM_117E中的平面坐标值。

如果数据本身坐标系和数据框坐标系不是同一个大地基准面,也会同样作上面的转换。动态投影转换只是针对坐标值显示的变换,不会改变数据本身。因为数据框坐标系与数据本身的不同,数据本身的坐标值放在数据框坐标系中,那么跟数据本身的实际位置就会产生偏差。

动态投影的好处是无需对原始数据进行投影就可以在ArcMap中与其它数据进行正确叠加。

看完了好多概念,我们再回到图上,一图胜千言嘛!!!!

我们把图3右图框中的数据复制一个粘贴到左图框(或者直接在左图框中添加),可以看到,数据2和数据1完美地重合到了一起,也就是说数据2进行了动态投影。同理,也可以将数据1复制一个加载到右图框中,看到的效果是一样的。

​图6动态投影举例

动态投影的好处不光是数据可以动态完美现实,一种巧妙的运用就是动态投影也是数据投影变换的方式。具体做法是,可以在导出数据的时候,选择在数据框的坐标系,而不是数据本身的坐标系。也就是说,基于动态投影的原理,可以采用导出数据(Exportdata)的方式实现投影变换,如下图所示。

图7导出数据

​图8选择数据框

如果你觉得这么做是在耍流氓,你也可以老老实实的到工具箱去找对应的工具进行投影变换,结果是一样的。投影变换的工具因矢量数据和栅格数据结构而异,在这里简要说明一下。

投影和变换工具

​以(版本不一样,此处工具箱的界面可能不一样)工具箱为例,主要有三个工具:

【定义投影】(DefineProjection):针对无任何投影的数据,可以给其创建一个地理坐标系(矢量和栅格数据均可)

【投影】(Project):针对矢量数据的投影变换,既可实现地理坐标系的变换,也可实现投影坐标系的变换。

【投影栅格】(ProjectRaster):针对栅格数据的投影变换,既可实现地理坐标系的变换,也可实现投影坐标系的变换。

免责声明:本文章如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务如因作品内容、版权和其他问题请于本站联系