1、动态投影(ArcMap)
     所谓动态投影指:改变ArcMap中的Data Frame(工作区)的空间参考或是对后加入到ArcMap工作区中数据的投影变换。ArcMapData
Frame(工作区)的坐标系统默认为第一个加载到当前DataFrame(工作区)的那个文件的坐标系统,后加入的数据,如果和当前工作区坐标系统不同,则ArcMap会自动做投影变换,把后加入的数据投影变换到当前坐标系统下显示,但此时数据文件所存储的实际数据坐标值并没有改变,只是显示形态上的变化!因此叫动态投影。表现这一点最明显的例子就是在Export Data时,用户可以选择是按this layer’s source data(数据源的坐标系统导出),还是按照the Data Frame(当前工作区的坐标系统)导出数据。关于ArcMap的这种动态投影机制,我们可以利用一个北京54投影坐标系数据(乡镇.shp)和<ArcGIS Installation Directory>\DeveloperKit\SamepleCom</font>\data\World</font>目录下的world30.shp数据来做一个实验说明。乡镇.shp数据的坐标系统为北京54投影坐标系Krasovsky_1940_Transverse_Mercatorworld30.shp数据的坐标系统为WGS84坐标系(GCS_WGS_1984)。在ArcMapArcCatalog中预览形态如图8所示而在ArcMap中先加载北京54坐标系数据后再加入WGS84坐标系数据,可以非常明显的看到ArcMapWGS84数据做完动态投影后的数据几何形态上的改变,并且此时从ArcMap右下角的状态栏上也可以看到当前Data Frame(工作空间)的坐标系统为北京54平面投影坐标系统。反之在ArcMap中先加载WGS84坐标系数据后再加入北京54坐标系数据,让ArcMap对北京54坐标系数据进行动态投影后两数据叠加显示效果如图10所示: 将在图9中动态投影后的WGS84坐标系统数据按系统框架坐标系统导出后,单独加载或预览的数据几何形态如图11:通过上述实验能够很好的说明ArcMap的动态投影特性。

2、坐标系统描述(ArcCatalog)

大家都知道在ArcCatalog中可以给数据定义坐标系统描述!即在数据上鼠标右键->Properties->XY Coordinate System选项卡,这里可以通过NewModifySelectImport方式来为数据定义坐标系统描述。但有许多用户都认为在这里定义了数据的坐标系统信息后,其数据本身就发生了投影变换。其实不然,这里定义的数据坐标系统信息都对应到与该数据同名而后缀名为.prj文件当中!如果把该文件删除,在ArcCatalog重新查看(要在该数据的上层节点上Refresh刷新一下)该文件的坐标信息时,一样会显示为Unknown,并且数据的坐标值并没有发生实质上的投影变换,这里改的仅仅是对数据坐标系统信息的一个描述而已,这就好比我们每个人的基本信息登记卡,更改了登记信息,但并没有改变你这个人本身。因此数据文件中所存储数据的坐标值并没有真正的投影变换到你想要更改到的坐标系统下。

    我们同样拿上述的两个数据做一下实验,在ArcCatalog中更改world30.shp的坐标系统描述,在world30.shp文件上鼠标右键->Properties->XY Coordinate System选项卡中,通过Import方式导入乡镇.shp文件的Krasovsky_1940_Transverse_Mercator投影坐标系统描述,之后看一下结果图12

 

从上述示例我们可以很明显的看到更改数据的坐标系统描述并不能使数据做投影变换,从而使数据投影到平面上来,但该数据的prj文件已经记录了更改后的坐标系统描述,PROJCS

 

Prj文件记录了该投影坐标系的详细参数。但对数据坐标系统的这个描述也是非常重要的,如果我们拿到一份数据,从ArcMap下所显示的坐标来看,像是投影坐标系统下的平面坐标,但不知道是基于哪个椭球体的什么投影方法,因此就无法再对数据做进一步的处理,如:投影变换、量测等操作。因为我们无法得知从什么坐标系统下开始变换,以及该坐标 系统下的量测单位是什么。因此大家一定要更正对ArcCatalog中数据属性中关于坐标系统描述的认识。

 

3、投影变换(ArcToolBox)

 

上面说了这么多,可能有人要问:“要真正的改变数据的坐标值该怎么办?”也就是做真正的投影变换。在ArcToolBox->Data Management Tools->Projections and Transformations提供了如下工具:
      在这个工具集下有这么几个工具最为常用:

 

1Define Projection
2
Feature->Project
3Raster->Project Raster

 

4Create Custom Geographic Transformation
当数据在没有任何空间参考信息时,在ArcCatalog的坐标系统描述(XY

 

Coordinate System)选项卡中会显示为Unknown!这时如果要对数据进行投影变换就要先利用Define Projection工具来给数据定义一个Coordinate System,然后再利用Feature->ProjectRaster->Project Raster工具来对数据进行投影变换!

由于我们国家经常使用的坐标系统为北京54西安80。这两个坐标系统变换到其他坐标系统下时,通常需要提供一个Geographic Transformation,因为不同投影所基于的椭球体及Datum不同!关键是Datum不同,也就是说当两个投影基于不同的Datum时就需要制定参数做Geographic Transformation这里就用到我们前面所说的转换3参数、转换7参数了(三个平移参数ΔXΔYΔZ表示两坐标原点的平移值;三个旋转参数εxεyεz表示当地坐标系旋转至与地心坐标系平行时,分别绕XtYtZt的旋转角;最后是比例校正因子,用于调整椭球大小),而我们国家的转换参数是保密的,因此可以自己计算或在购买数据时向国家测绘部门索要。