免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 4849|回复: 10
收起左侧

[技术交流] ENVI和ERDAS中自定义坐标系的方法

[复制链接]

197

主题

2万

铜板

28

好友

地信贵宾

Rank: 13Rank: 13Rank: 13Rank: 13

积分
6960
发表于 2010-1-9 01:45 | 显示全部楼层 |阅读模式
1 地理投影的基本原理
常用到的地图坐标系有2种,即地理坐标系和投影坐标系。
地理坐标系是以经纬度为单位的地球坐标系统,地理坐标系中有2个重要部分,即地球椭球体(spheroid)和大地基准面(datum)。
由于地球表面的不规则性,它不能用数学公式来表达,也就无法实施运算,所以必须找一个形状和大小都很接近地球的椭球体来代替地球,这个椭球体被称为地球椭球体,我国常用的椭球体如下

大地基准面指目前参考椭球与WGS84参考椭球间的相对位置关系(3个平移,3个旋转,1个缩放),可以用其中3个、4个或者7个参数来描述它们之间的关系,每个椭球体都对应一个或多个大地基准面。
   投影坐标系是利用一定的数学法则把地球表面上的经纬线网表示到平面上,属于平面坐标系。数学法则指的是投影类型,
目前我国普遍采用的是高斯——克吕格投影,在英美国家称为横轴墨卡托投影(Transverse Mercator)。
高斯克吕格投影的中央经线和赤道为互相垂直,分带标准分为3度带和6度带。美国编制世界各地军用地图和地球资源卫星像片所采用的全球横轴墨卡托投影(UTM)是横轴墨卡托投影的一种变型。高斯克吕格投影的中央经线长度比等于1,UTM投影规定中央经线长度比为0.9996。
   我国规定1:1万、1:2.5万、1:5万、1:10万、1:25万、1:50万比例尺地形图,均采用高斯克吕格投影。1:2.5至1:50万比例尺地形图采用经差6度分带,1:1和1:2.5万比例尺地形图采用经差3度分带。
大地坐标,在地面上建立一系列相连接的三角形,量取一段精确的距离作为起算边,在这个边的两端点,采用天文观测的方法确定其点位(经度、纬度和方位角),用精密测角仪器测定各三角形的角值,根据起算边的边长和点位,就可以推算出其他各点的坐标。这样推算出的坐标,称为大地坐标。
    我国1954年在北京设立了大地坐标原点,由此计算出来的各大地控制点的坐标,称为1954年北京坐标系。为了适应大地测量的发展,我国于1978年采用国际大地测量协会推荐的IAG-75地球椭球体建立了我国新的大地坐标系,并在1986年宣布在陕西省泾阳县设立了新的大地坐标原点,由此计算出来的各大地控制点坐标,称为1980年大地坐标系。

对于地理坐标,只需要确定两个参数,即椭球体和大地基准面。
对于投影坐标,投影类型为Gauss Kruger(Transverse Mercator),除了确定椭球体和大地基准面外,还需要确定中央经线。
    大地基准面的确定关键是确定7个参数(或者其中几个参数),北京54基准面可以用三个平移参数来确定,即“-12,-113,-41,0,0,0,0”,很多软件近似为Krasovsky(0,0,0,0,0,0,0)基准面;西安80的7参数比较特殊,各个区域不一样。一般有两个途径:一是直接从测绘部门获取;二是根据三个以上具有西安80坐标系与其他坐标系的同名点坐标值,利用软件来推算,有一些绿色软件具有这个功能,如Coord MG。
中央经线获取可有以下两种方法,第一种根据已知带号计算,6度带用6*N-3,3度带用3*N;第二种方法是根据经度从图1中查找。
ENVI中定义方法:
(1) 选择 Map> Customized Map Projection
(2) 当出现 Customized Map Projection Definition 对话框时,键入一个新的投影名和参数。具体参数设置如下:
西安80坐标系的定义:
Projection Name: 比如:xian80 --------投影名称
Projection Type: Transverse Mercator --------投影类型
Projection Ellipsoid: User Defined a=6378140,b=6356755.288 --------基准椭球
False Easting: 500000 --------东伪偏移
False Northing: 0.000000 ---------北伪偏移
Latitude of projection origin: 0.000000 ---------原点纬度
Longitude of central meridian: 117 ---------中央经度
Scale_Factor: 1.000000 ----------比例系数
北京54坐标系参数如下:
Projection Name: 比如:北京54 --------投影名称
Projection Type: Transverse Mercator --------投影类型
Projection Ellipsoid: Krassovsky
False Easting: 500000 --------东伪偏移
False Northing: 0.000000 ---------北伪偏移
Latitude of projection origin: 0.000000 ---------原点纬度
Longitude of central meridian: 117 ---------中央经度
Scale_Factor: 1.000000 ----------比例系数
北京本地独立坐标系参数如下:
Projection Name: 比如:beijinglocal --------投影名称
Projection Type: Transverse Mercator --------投影类型
Projection Ellipsoid: Krassovsky
False Easting: 500000 --------东伪偏移
False Northing: 300000 ---------北伪偏移
Latitude of projection origin: 39 51 56.757 ---------原点纬度
Longitude of central meridian: 116 21 0.9065 ---------中央经度
Scale_Factor: 1.000000 ----------比例系数
(3) 一旦所有参数都被正确输入,选择 Projection > Add New Projection 将投影添加到 ENVI 用的投影列表中。
当你关闭对话框时,可利用的投影将根据当前的 ENVI 设置发生改变。系统将提问你是否将这一投影存到 “map_proj.txt” 文件中。
要存储新的或更改过的投影信息,选择 File > Save Projections 。
在 ENVI 目录结构中的 “map_proj.txt” 文件将发生改变,包含新的投影。这一文件也能用一些编辑器进行编辑达到上述改变定义的效果。
(4)选择Projection>Load Existing Projection,出现Map Projection Selection对话框,选择任意坐标系,可以查看参数设置,也可以更改参数设置。
(5) 选择 File > Cancel 退出这一功能。
ERDAS中定义方法(以定义西安80坐标系为例)
ERDAS中添加椭球体和基准面:
ERDAS 包含了一个能够自定义椭球体、基准面、投影方式的扩展库,通过这个扩展库,可以在ERDAS中添加任何可能存在的投影系统。基于以上2点,就可以将 IAG75椭球的参数添加到ERDAS中,并且应用这个椭球对栅格数据进行投影变换。下面就来说明一下具体的添加过程。
1 在ERDAS安装目录下的etc/spheroid.tab文件是用来记载椭球体和基准面参数的。它是一个TXT文本文件,可以用文本编辑器对它进行修改,只要依照它的语法就可以任意添加自定义的椭球体和基准面参数。
基本语法为:
“椭球名称”{
“椭球序号”椭球体长半轴 椭球体短半轴
“椭球名称” 0 0 0 0 0 0 0
“基准面名称1” dx1 dy1 dz1 rx1 rz1 ds1
“基准面名称2” dx2 dy2 dz2 rx2 rz1 ds2
……….
}
其中:“基准面名称” dx dy dz rx rz ds中,dx、dy、dz是x、y、z3个轴对于WGS84基准点的平移参数,单位为m。rx、ry、rz是x、y、z、3个轴对于WGS84基准点的旋转参数,单位为rad。Ds是对于WGS84基准点的比例因子。
在更多的情况下椭球的基准面是基于它本身的。这时假定椭球的中心点是与没有经过任何平移或旋转的WGS84的基准面相重合,即这时椭球基准面的7个参数均为0,即这时椭球基准面的7个参数均为0。我国在使用克拉索夫斯基椭球和IAG75椭球时就是用椭球体本身为基准。
在spheroid.tab文件末尾加入如下语句即可,假设spheroid.tab文件中最后一个椭球体序号为73(可以在文件最后一个椭球体中读出序号),则加入:
"IAG 75" {
74 6378140 6356755.2882
"xian 80" 0 0 0 0 0 0 0
}
经过以上的操作IAG75 椭球就会出现在ERDAS的椭球选择列表中。
2. 在Viewer中打开图像数据,Utility--->layer info,在projection info 栏中可以看到目前的数据投影信息还不完整。点击edit菜单中的change map model,在弹出窗口中将unite参数设为meters,projection,参数设为Tansverse Mercator。接下来再点击edit菜单中的Add/Change projection,在弹出对话框中将原始投影参数添加进去。
Custom
Projection Type:Transverse Mercator
Spheroid Name:IAG 75
Datum Name:xian80
Scale factor at central meridian:1.000000
Longitude of central meridian:117:00:00.000000000000 E
Latitude of origin of projection:0:00:00.000000000000 N
False easting:39500000.00000000000 meters
False northing:0.00000000000000000 meters
1.png
2.png

0

主题

108

铜板

0

好友

助理工程师

Rank: 5Rank: 5

积分
106
发表于 2010-3-10 16:30 | 显示全部楼层
讲解的很详细,受教了[s:121]

7

主题

1753

铜板

11

好友

高级工程师

好好工作  天

Rank: 9Rank: 9Rank: 9

积分
1164
发表于 2010-3-19 11:37 | 显示全部楼层
讲的非常好    我收藏了   我坚决的收藏 了

1

主题

292

铜板

22

好友

助理工程师

好好学习~

Rank: 5Rank: 5

积分
349
发表于 2010-6-1 11:57 | 显示全部楼层

回 楼主(asd) 的帖子

[s:204]  [s:200]  [s:202]  [s:206]

0

主题

46

铜板

0

好友

助理工程师

求学于3S

Rank: 5Rank: 5

积分
311
QQ
发表于 2010-8-11 15:47 | 显示全部楼层
坐标系和投影系挺复杂的。

0

主题

16

铜板

0

好友

助理工程师

Rank: 5Rank: 5

积分
140
发表于 2010-8-12 13:01 | 显示全部楼层
thank you
[s:185][s:184][s:203][s:206][s:195]

8

主题

1万

铜板

7

好友

黄金会员

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

积分
4161
QQ
发表于 2010-8-12 14:51 | 显示全部楼层
谢谢!!!!!!!!!!!!!!!!

0

主题

540

铜板

1

好友

助理工程师

Rank: 5Rank: 5

积分
292
发表于 2010-9-6 13:33 | 显示全部楼层
在erdas 中这个方法很管用,但是版本越高,很多投影已经添加进了
呵呵呵

1

主题

2953

铜板

8

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
619
发表于 2010-9-11 09:40 | 显示全部楼层
好东西,好好学习一下
该会员没有填写今日想说内容.

1

主题

2953

铜板

8

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
619
发表于 2010-9-19 10:07 | 显示全部楼层
一直都想知道,两个软件哪儿个更实用
该会员没有填写今日想说内容.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表