在ArcGIS中,如果想要把一种坐标系统的矢量数据转换为另一个坐标系统,通常应当使用ArcToolbox中的Project工具。但是我使用这个工具的时候遇到了一个问题。
我拿到的数据是一个点图层,经纬度坐标。给我这个图层的人说这些点是从Google Earth上取出来的,应该是WGS84坐标。但是项目中使用的是西安80坐标系统,于是就需要把WGS坐标系统转为西安80。使用Project做投影转换的时候遇到了一个问题,如图:
本来是可选参数的Geographic Transformation变成了必选参数。而且在下拉列表里找不到WGS84与西安80间的转换选项。
-----分割线-----
在ESRI中国社区里发现了一些关于这个问题的帖子。帖子没有直接给出这个问题的解决方法,但是参考那些帖子的内容,我尝试了下面这个方法,并取得了初步的成功。这个方法的基本思路是,既然必须填Geographic Transformation,但是下拉列表里没有,那么就自定义一个。
1、首先,使用Creat Custom Geographic Transformation工具,定义一个Geographic Transformation。如图:
2、完成定义后,再使用Project工具,就会发现Geographic Transformation下拉列表里出现了刚才自定义的那个Geographic Transformation,如图:
绿点消失了,可以运行了。这里有件事需要说明,第三幅图里的Geographic Transformation与第二幅图里的Geographic Transformation本来应该是相同的。但是我刚开始做这个操作的时候没有截图,图都是后来截取的,所以图里它们两个不同名。这只是个示意而已。
-----分割线-----
这个方法有两个隐患:
1、图2,Method参数我是根据网上一个例子填的,不知道是什么意思;
2、图2,Parameters似乎是投影转换的“七参数”,七个参数都是0,看起来似乎不妥。我做过检查,把转换前的数据和转换后的数据都加载到ArcMap里,发现它们是重合的。但是由于转换前后的数据属于不同的坐标系统,加载数据的时候ArcMap肯定对其中一个做过转换。所以即使它们是重合的,也不能完全确定这个方法是正确的。