ENVI中自定义坐标系说明Word格式.docx
《ENVI中自定义坐标系说明Word格式.docx》由会员分享,可在线阅读,更多相关《ENVI中自定义坐标系说明Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
短半轴(米)
扁率
WGS84
1984
6378137.0
6356752.3
1:
298.257
克拉索夫斯基(Krasovsky)
1940
6378245.0
6356863.0
298.3
IAG-75
1975
6378140.0
6356755.3
表1我国常用椭球体
大地基准面指目前参考椭球与WGS84参考椭球间的相对位置关系(3个平移,3个旋转,1个缩放),可以用其中3个、4个或者7个参数来描述它们之间的关系,每个椭球体都对应一个或多个大地基准面。
投影坐标系是利用一定的数学法则把地球表面上的经纬线网表示到平面上,属于平面坐标系。
数学法则指的是投影类型,目前我国普遍采用的是高斯——克吕格投影,在英美国家称为横轴墨卡托投影(TransverseMercator)。
高斯克吕格投影的中央经线和赤道为互相垂直,分带标准分为3度带和6度带。
美国编制世界各地军用地图和地球资源卫星像片所采用的全球横轴墨卡托投影(UTM)是横轴墨卡托投影的一种变型。
高斯克吕格投影的中央经线长度比等于1,UTM投影规定中央经线长度比为0.9996。
我国规定1:
1万、1:
2.5万、1:
5万、1:
10万、1:
25万、1:
50万比例尺地形图,均采用高斯克吕格投影。
2.5至1:
50万比例尺地形图采用经差6度分带,1:
1和1:
2.5万比例尺地形图采用经差3度分带。
2北京54与西安80坐标系
先了解大地坐标的概念。
大地坐标,在地面上建立一系列相连接的三角形,量取一段精确的距离作为起算边,在这个边的两端点,采用天文观测的方法确定其点位(经度、纬度和方位角),用精密测角仪器测定各三角形的角值,根据起算边的边长和点位,就可以推算出其他各点的坐标。
这样推算出的坐标,称为大地坐标。
我国1954年在北京设立了大地坐标原点,由此计算出来的各大地控制点的坐标,称为1954年北京坐标系。
为了适应大地测量的发展,我国于1978年采用国际大地测量协会推荐的IAG-75地球椭球体建立了我国新的大地坐标系,并在1986年宣布在陕西省泾阳县设立了新的大地坐标原点,由此计算出来的各大地控制点坐标,称为1980年大地坐标系。
我们经常给影像投影时用到的北京54或者西安80坐标系是投影直角坐标系,如下表所示为北京54和西安80坐标系采用的主要参数,
坐标名称
投影类型
椭球体
基准面
北京54
GaussKruger(TransverseMercator)
Krasovsky
西安80
IAG75
表2我国常用坐标系参数列表
从中可以看到我们通常称谓的北京54坐标系、西安80坐标系实际上指的是我国的两个大地基准面。
3参数的获取
对于地理坐标,只需要确定两个参数,即椭球体和大地基准面。
对于投影坐标,投影类型为GaussKruger(TransverseMercator),除了确定椭球体和大地基准面外,还需要确定中央经线。
大地基准面的确定关键是确定7个参数(或者其中几个参数),北京54基准面可以用三个平移参数来确定,即“-12,-113,-41,0,0,0,0”,很多软件近似为Krasovsky(0,0,0,0,0,0,0)基准面;
西安80的7参数比较特殊,各个区域不一样。
一般有两个途径:
一是直接从测绘部门获取;
二是根据三个以上具有西安80坐标系与其他坐标系的同名点坐标值,利用软件来推算,有一些绿色软件具有这个功能,如CoordMG。
中央经线获取可有以下两种方法,第一种根据已知带号计算,6度带用6*N-3,3度带用3*N;
第二种方法是根据经度从图1中查找。
图1高斯——克吕格投影的分带
4ENVI中定义坐标
ENVI中的坐标定义文件存放在HOME\ITT\IDL70\products\envi45\map_proj文件夹下,三个文件记录了坐标信息:
ellipse.txt椭球体参数文件
datum.txt基准面参数文件
map_proj.txt坐标系参数文件
在ENVI中自定义坐标系分三步:
定义椭球体、基准面和定义坐标参数
第一步、添加椭球体
语法为<
椭球体名称>
<
长半轴>
短半轴>
。
这里将“Krasovsky,6378245.0,6356863.0”和“IAG-75,6378140.0,6356755.3”加入ellipse.txt末端。
注:
ellipse.txt文件中已经有了克拉索夫斯基椭球,由于翻译原因,这里的英文名称是Krassovsky,为了让其他软件平台识别,这里新建一个Krasovsky椭球体。
第二步、添加基准面
语法为<
基准面名称>
平移三参数>
这里将“D_BEIJING_1954,Krasovsky,-12,-113,-41”和“D_Xian_1980,IAG-75,0,0,0”加入datum.txt末端。
为了更好的与ArcGIS系列产品兼容,从ENVI4.7开始,所有产品包括ENVI、ENVI+IDL、ENVIZoom和ENVIEx,全部采用ArcGIS投影转换引擎(ENVI4.7之前的版本用的是GCTP——常规制图转换包),对用户来说,ENVI菜单中所有的投影操作不变,同时还直接支持ArcGIS中的投影类型。
但是自定义北京54及西安80坐标系有一些改变,即定义两个坐标系的基准面(datum)时候使用统一的名称:
D_BEIJING_1954和D_Xian_1980。
第三步、定义坐标
在ENVI任何用到投影坐标的功能模块中都可以新建坐标系(在任何地图投影选择对话框中,点击“New”按钮。
),这里我们选择Map->
CustomizeMapProjection,添加一个20度带(6度)的坐标,添加的参数如图2所示。
投影类型选择TransverseMercator,Scalefactor填写0.9996,与Gauss-Kruger等同。
Falseeasting中如果把带号,即39500000,得到的坐标就带有带号。
//////////////////
为了更好的与ArcGIS系列产品兼容,从ENVI4.7开始,所有产品包括ENVI、ENVI+IDL、ENVIZoom和ENVIEx,全部采用ArcGIS投影转换引擎(ENVI4.7之前的版本用的是GCTP——常规制图转换包),对用户来说,ENVI菜单中所有的投影操作不变,同时还直接支持ArcGIS中的投影类型。
下载(262.43KB)
昨天16:
33
图ArcGIS下的投影坐标系
其他步骤与ENVI4.7之前版本保持一致。
一、添加BeiJing-54坐标系
1、添加BeiJing54的datum
打开ENVI的安装目录..\ITT\IDL71\products\envi47\map_proj\datum.txt文件,添加下面一行
D_BEIJING_1954,Krassovsky,-12,-113,-41
保存文件退出。
下载(183.48KB)
32
2、重新启动ENVI
3、添加并保存坐标系
在菜单map→customizeMapProjections下添加BeiJing54坐标系,如添加20带号的参数如下
下载(93.51KB)
31
选择Projection下的AddnewProjection;
再选择File下的SaveProjection保存。
下载(35.72KB)
30
4、使用BeiJing_1954坐标系
由于数据的投影信息不是国际标准或者说其参数名称不是标准的,所以在ENVI中有可能不能读取数据的投影信息(如下图),这个时候就需要重新设定投影信息。
下载(36.76KB)
图3.4查看坐标信息
(1)在AvailableBandsList中选择文件,点击右键,在快捷菜单中选择HeaderInfo。
(2)单击EditAttributes按钮,从菜单中选择MapInfo。
(3)单击ChangeProjection按钮,在ProjectiongSelection面板中,将前面定义好的坐标选上。
效果如下图
下载(46.56KB)
二、定义xi’an_1980坐标系。
1、添加椭球体参数
编辑..\ITT\IDL71\products\envi47\map_proj\ellipse.txt文件,添加下面一行
Xian_1980,6378140.0,6356755.3
保存退出。
下载(56.66KB)
2、添加坐标系
打开..\ITT\IDL71\products\envi47\map_proj\datum.txt添加下面一行
D_Xian_1980,Xian_1980,0,0,0
下载(52.2KB)
在菜单map→customizeMapProjections下添加Xi’an_1980坐标系,详细参数如下
图2自定义北京54坐标系
选择Projection->
AddNewProjection,将投影添加到ENVI所用的投影列表中。
选择File>
SaveProjections,存储新的或更改过的投影信息。
这样一个新的投影坐标就新建完成。
相同方法,添加一个20度带(6度)的西安80坐标系(如图3所示)。
打开map_proj.txt,可以看到新建的坐标信息已经自动加入。
图3自定义西安80坐标系
图4自定义坐标列表
5使用自定义坐标系
下面将利用自定义坐标系将一副北京54坐标系转化为西安80坐标系。
试验的栅格数据情况为:
一幅北京坐标系的栅格数据,投影参数如下:
投影类型:
TransverseMercator
椭球:
Krassovsky
基准面:
Krassovsky(自定义)
中央经线:
117
东向偏移:
500000m
由于数据的投影信息不是国际标准或者说其参数名称不是标准的,所以在ENVI中有可能不能读取数据的投影信息(如图5),这个时候就需要重新设定投影信息。
图5查看坐标信息
打开数据文件,在AvailableBandsList中选择文件,点击右键打开HeaderInfo,在EditAttributes中选择MapInfo。
选择ChangeProjection,将前面定义好的北京54坐标选上。
图6添加坐标系
这样在影像的mapinfo里面就可以看到投影信息了。
图7更改坐标信息后的结果
选择Map->
ConvertMapProjecton,进行西安80的坐标转换。
图8转换参数
打开转换后的结果,如图9所示,可以看到MapInfo中投影信息已经更新,起始点的坐标也不一样,有几米的差别,这也符合北京54和西安80存在百米范围内的系统误差。
图9西安80坐标系
6总结
由于国内坐标系的非国际标准,很多软件平台,特别是国外软需要自定义坐标系。
从上可以看到,ENVI的坐标定义还是比较简单,也非常灵活。