ENVI自定义北京54坐标系

ENVI是美国ITT Visual Information Solutions公司的旗舰产品。它是由遥感领域的科学家采用交互式数据语言IDL(Interactive Data Language)开发的一套功能强大的遥感图像处理软件。在ENVI中,并没有我国常用的北京54和西安80坐标系,如果要正确显示坐标系为北京54或西安80的数据,需要自定相关坐标系。今天就以北京54坐标系为例,讲一下在ENVI中如何自定义坐标系。由于在ArcGIS中有预定义的北京54坐标系,且ArcGIS的矢量数据使用非常广泛,因此北京54坐标系的参数以ArcGIS的预定义参数为准。

首先看一下在ArcGIS中预定义的北京54坐标系,其参数设置如下:

Projection: Gauss_Kruger
False_Easting: 500000.000000
False_Northing: 0.000000
Central_Meridian: 117.000000
Scale_Factor: 1.000000
Latitude_Of_Origin: 0.000000
Linear Unit: Meter (1.000000)
Geographic Coordinate System: GCS_Beijing_1954
Angular Unit: Degree (0.017453292519943299)
Prime Meridian: Greenwich (0.000000000000000000)
Datum: D_Beijing_1954
 Spheroid: Krasovsky_1940
  Semimajor Axis: 6378245.000000000000000000
  Semiminor Axis: 6356863.018773047300000000
  Inverse Flattening: 298.300000000000010000

(1)因为ENVI中的Krasovsky椭球体名称与ArcGIS的不同(ENVI中的名称为Krassovsky),并且也没有北京54所需要的基准面D_Beijing_1954,因此需要预先添加这些参数。

打开ENVI的安装目录,找到C:/Program Files/ITT/IDL/IDL80/products/envi48/map_proj/目录,其下有四个文件,分别是文件:convert.txt、datum.txt、ellipse.txt和map_proj.txt,很明显,datum.txt是用来存储基准面参数的文件,ellipse.txt是用来存储椭球体参数的文件,而map_proj.txt是用来存储地图投影参数的文件。

打开ellipse.txt文件,在内容的最后添加下面一行参数,保存文件并关闭。

Krasovsky, 6378245.0, 6356863.0

再打开datum.txt文件,在最后添加下面一行参数,添加完成后保存并关闭:

D_Beijing_1954, Krasovsky, -12, -113, -41

(2)首先我们启动ENVI,在菜单中依此找到Map→Customize Map Projections,点击打开Customize Map Projections Definition对话框。进行如下设置:

图一    ENVI用户自定义坐标设置
图一    ENVI用户自定义坐标设置

在Projection Name中输入自定义坐标系的名字:Gauss_Kruger;在Projection Type中选择Transverse Mercator,至于为什么算则这项就不用我说了吧;在Projection Datum中我们可以看到刚才自定义的北京54基准面,还等什么呢?选中D_Beijing_1954;在图一④处设置False easting和False northing两个参数,其中False easting为500000,False northing为0,每个参数输入完成后按回车确认输入;在Latitude of Projection origin中设置坐标起始原点,北京54的起始原点为0度;在Longitude of central meridian中设置中央经线,事例中的北京54坐标系为三度分带117中央经线,因此此处输入117;在Scale factor中输入比例因子,因为在ArcGIS中定义的比例因子为1,因此此处我们也采用1。

(3)图一中的参数输入完毕后,在菜单中点击Projection→Add new Projection…,即可将自定义的坐标添加到坐标列表中。然后点击File→Save Projections…,弹出警告对话框,点击确定将更改保存到map_proj.txt文件中。

图二    保存地图坐标文件
图二    保存地图坐标文件

这样,就在ENVI中自定义了北京54的坐标系统。通过load Exist Projections我们可以看到刚才定义的坐标已经在列表中了。