|
|
利用ArcGIS进行地图投影和坐标转换的方法 % A/ v6 ~5 j% {+ W1 E) f
5 Q+ _. D7 Z3 V6 a) Q0 F
1、动态投影(ArcMap)+ k: c8 o% d( r2 x
所谓动态投影指,ArcMap中的Data 的空间参考或是说坐标系统是默认为第一加载到当前工作区的那个文件的坐标系统,后加入的数据,如果和当
' X! Y% T( V) C0 f7 ^3 N# K0 T _! `4 o9 T
本帖隐藏的内容
x% p- q% n. H- ]" b前工作区坐标系统不相同,则ArcMap会自动做投影变换,把后加入的数据投影变换到当前坐标系统下显示!但此时数据文件所存储的数据并没有改变,只是显示形态上的变化!因此叫动态投影!表现这一点最明显的例子就是,在Export Data时,会让你选择是按this layer's source data(数据源的坐标系统导出),还是按照the Data (当前数据框架的坐标系统)导出数据!! Y J7 B! b) K- s
2、坐标系统描述(ArcCatalog)
5 b# f, l/ Y: E ?2 r! K 大家都知道在ArcCatalog中可以一个数据的坐标系统说明!即在数据上鼠标右键->Properties->XY Coordinate System选项卡,这里可以通过modify,Select、Import方式来为数据选择坐标系统!但有许多人认为在这里改完了,数据本身就发生改变了!但不是这样的!这里缩写的信息都对应到该数据的.aux文件!如果你去把该文件删除了,重新查看该文件属性时,照样会显示Unknown!这里改的仅仅是对数据的一个描述而已,就好比你入学时填写的基本资料登记卡,我改了说明但并没有改变你这个人本身!因此数据文件中所存储的数据的坐标值并没有真正的投影变换到你想要更改到的坐标系统下!8 a- v) U5 Y" E
但数据的这个描述也是非常重要的,如果你拿到一个数据,从ArcMap下所显示的坐标来看,像是投影坐标系统下的平面坐标,但不知道是基于什么投影的!因此你就无法在做对数据的进一不处理!比如:投影变换操作!因为你不知道要从哪个投影开始变换!1 l( i6 ~: F7 ]" _3 H" u2 [
因此大家要更正一下对ArcCatalog中数据属性中关于坐标系统描述的认识!2 d2 \; g' W' Z4 K$ P' ?& ?# K3 @! c
3、投影变换(ArcToolBox)
" d" V7 \8 ]1 l- x5 s 上面说了这么多,要真正的改变数据怎么办,也就是做投影变换!在ArcToolBox->Data Management Tools->Projections and Transformations下做!2 b) Y% ]$ T- ], x" y9 u, `0 }
在这个工具集下有这么几个工具最常用,- W0 P9 V; f+ C6 o; d4 h5 V
1、Define Projection
9 o, L+ v+ R* y+ m4 A2、Feature->Project
) E/ X4 J$ `' i! p" W3、Raster->Project Raster & y4 I) |0 r0 S
4、Create Custom Geographic Transformation$ d' v( v7 h* m e- |
当数据没有任何空间参考时,显示为Unknown!时就要先利用Define Projection来给数据定义一个Coordinate System,然后在利用Feature->Project或Raster->Project Raster工具来对数据进行投影变换! v5 {, a* \4 P1 N7 r- x
由于我国经常使用的投影坐标系统为北京54,西安80!由这两个坐标系统变换到其他坐标系统下时,通常需要提供一个Geographic Transformation,因为Datum已经改变了!这里就用到我们说常说的转换3参数、转换7参数了!而我们国家的转换参数是保密的!因此可以自己计算或在购买数据时向国家测绘部门索要!知道转换参数后,可以利用Create Custom Geographic Transformation工具定义一个地理变换方法,变换方法可以根据3参数或7参数选择基于GEOCENTRIC_TRANSLATION和COORDINATE_方法!" A; y5 p. g. D1 O: B8 n
这样就完成了数据的投影变换!数据本身坐标发生了变化!
" n1 M+ H" U5 T5 r" }/ o当然这种投影变换工作也可以在ArcMap中通过改变Data 的Coordinate System来实现,只是要在做完之后在按照Data 的坐标系统导出数据即可!$ O7 s8 Z1 r& U5 w' p
方法一:在Arcmap中转换:
- x, R3 k8 L: h2 M1 加载要转换的数据,右下角为经纬度; k5 y$ a! Q9 ?3 O& g
2 点击视图à数据框属性à坐标系统* I3 _! [8 o, u4 F- B
3 导入或选择正确的坐标系,确定。这时右下角也显示坐标。但数据没改变$ K5 ?0 U% Z0 X/ O" ?3 f! ?, R2 z4 `
4 右击图层à数据à导出数据3 H1 _+ a n9 v6 [8 O* U7 ~
5 选择第二个(数据框架),输出路径,确定。9 h9 n4 p3 |# ]1 b1 w) r. Q# ]! l: m
6 此方法类似于投影变换。
u9 h+ b3 V, G# V方法二:在forestar中转换:
\, h6 J' h. H# ]% c ~# I1 用正确的坐标系和范围新建图层aa
: l& m6 o9 @2 t3 q5 M8 _; Z4 P2 打开要转换的数据,图层输出与原来类型一致,命名aa,追加。3 d- L0 [) w& l9 S8 D% s8 b/ ~
方法三:在ArcToolbox中转换:3 }: _/ t b( b: E8 m) T- v
1 管理工具à投影(project),选择输入输出路径以及输出的坐标系
1 f, r9 p. G: {1 k* X0 Y2 前提是原始数据必须要有投影 |
|