1.自定义坐标系(北京54、西安80、2000坐标系)

1.1 内容介绍

1.1.1 地理投影的基本原理

常用到的地图坐标系有2种,即地理坐标系和投影坐标系。

地理坐标系是以经纬度为单位的地球坐标系统,地理坐标系中有2个重要部分,即地球椭球体(spheroid)和大地基准面(datum)。由于地球表面的不规则性,它不能用数学公式来表达,也就无法实施运算,所以必须找一个形状和大小都很接近地球的椭球体来代替地球,这个椭球体被称为地球椭球体,我国常用的椭球体如下表1.1所示。

表1.1 我国常用椭球体

大地基准面是指目前参考椭球与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度分带。

1.1.2 国内坐标系介绍

先了解大地坐标的概念。大地坐标,在地面上建立一系列相连接的三角形,量取一段精确的距离作为起算边,在这个边的两端点,采用天文观测的方法确定其点位(经度、纬度和方位角),用精密测角仪器测定各三角形的角值,根据起算边的边长和点位,就可以推算出其他各点的坐标。这样推算出的坐标,称为大地坐标。我国1954年在北京设立了大地坐标原点,由此计算出来的各大地控制点的坐标,称为1954年北京坐标系。为了适应大地测量的发展,我国于1978年采用国际大地测量协会推荐的IAG-75地球椭球体建立了我国新的大地坐标系,并在1986年宣布在陕西省泾阳县设立了新的大地坐标原点,由此计算出来的各大地控制点坐标,称为1980年大地坐标系。随着社会的进步,国民经济建设、国防建设和社会发展、科学研究等对国家大地坐标系提出了新的要求,迫切需要采用原点位于地球质量中心的坐标系统作为国家大地坐标系。2000国家大地坐标系(China Geodetic Coordinate System 2000,CGCS2000)是全球地心坐标系在我国的具体体现,其原点为包括海洋和大气的整个地球的质量中心,CGCS2000是我国当前最新的国家大地坐标系。我们经常给影像投影时用到的北京54、西安80和2000坐标系是投影直角坐标系,如下表所示为国内坐标系采用的主要参数。从中可以看到我们通常称谓的北京54坐标系、西安80坐标系实际上指的是我国的大地基准面。

表1.2 北京54、西安80和2000坐标系

1.1.3 参数的获取

对于地理坐标,只需要确定两个参数即椭球体和大地基准面。对于投影坐标,投影类型为Gauss Kruger,除了确定椭球体和大地基准面外,还需要确定中央经线。大地基准面的确定关键是确定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.1.1中查找。

1.2  详细操作步骤

1.2.1  添加椭球体

修改文件为ellipse.txt,语法为<椭球体名称>,<长半轴>,<短半轴>。这里的逗号为英文半角输入状态下的逗号,建议直接复制文件中已有的椭球体进行修改。这里将下面三行加在ellipse.txt文件的末尾,保存关闭即可。最终效果如下图1.2.1所示。

图1.2.1 定义椭球体

1.2.2 添加基准面

修改文件为datum.txt,语法为<基准面名称>,<椭球体名称>,<平移三参数>。这里将下面三行添加在datum.txt文件末尾,保存关闭即可。最终效果如下图1.2.2所示。

图1.2.2 定义基准面

1.2.3 定义坐标系

(1) 打开ENVI Classic,选择Map > Customize Map Projection工具;

(2) 在弹出的对话框内命名Beijing_1954_GK_Zone_20N,选择Transverse Mercator类型,点击D_Beijing_1954,东偏500000,北偏0,中央纬线0,中央经线117,缩放系数为1,如图1.2.3所示

(3) 选择Projection > Add New Projection…,保存投影坐标系;

(4) 选择File > Save Projections…,在弹出对话框中点击OK,将新建坐标系保存在map_proj.txt文件内

图1.2.3 北京54坐标系参数设置

1.2.4 使用自定义坐标系:

定义投影步骤:

(1) 打开文件“…\数据\f49e011021.img”,在Available Bands List中右键点击文件列表下的Map Info,选择Edit Map Information…;

(2) 在弹出的Edit Map Information对话框中点击Change Proj…按钮,选择新建好的北京54坐标系,点击OK如图1.2.4。ENVI将自动为f49e011021.img的头文件中添加Map Info,识别结果如下图1.2.5所示。

图1.2.4 坐标系的选择

图1.2.5 识别结果

将北京54坐标系转换为2000坐标系步骤:

(1) 按照之前的步骤定义2000坐标系如图1.2.6.

(2) 在弹出的对话框内命名CGCS_2000_GK_Zone_20N,选择Transverse Mercator类型,点击D_Beijing_1954,东偏500000,北偏0,中央纬线0,中央经线117,缩放系数为1。

(3) 选择Projection > Add New Projection…,保存投影坐标系;

(4) 选择File > Save Projections…,在弹出对话框中点击OK,将新建坐标系保存在map_proj.txt文件内

图1.2.6 自定义2000坐标系参数

(5) 进行投影转换,选择Map > Convert Map Projection工具,选择输入文件f49e011021.img(已经定义为北京54坐标系),点击OK;

(6) 在弹出的Convert Map Projection Parameters对话框中点击Change Proj…按钮,选择新建的2000坐标系,点击OK;

(7) 在Convert Map Projection Parameters面板右侧修改转换参数(如下图所示),选择输出路径,点击OK即可。

(8) 投影转换结果如图1.2.7和1.2.8所示。

图1.2.7 投影转换参数设置

图1.2.8 投影转换结果

1.3 使用ArcGIS国内坐标系

通过以上操作可以看出,虽然在ENVI中自定义坐标系非常方便,但是由于每一个坐标系均存在3度和6度分带,并且分带较多,如果逐个定义也是非常繁琐的。为了让用户更加方便使国内坐标系,我们定义好了国内坐标系文件,只要替换三个txt文件并重启ENVI即可使用所有分带的国内坐标系。首先将文件路径为“…\自定义坐标系(北京54、西安80、2000坐标系)\数据\国内坐标系文件”三个文件复制到C:\Program Files\Exelis\ENVI53\classic\map_proj,然后重启ENVI。点击Map-Convert Map Projection-Open-Previous File,选择自己刚保存文件,选择xian1980坐标系20带,选中memory,保存在电脑上,结果如图1.3.1。

图1.3.1 保存结果

将54坐标系在ArcGIS中打开,右键文件名点击属性-符号系统-拉伸,将类型改为标准差,确定如图 1.3.2。右键图层属性,点击坐标系,自己命名的54坐标系可以正常显示,说明ENVI中的自建坐标系正常导入,可以正常使用如图1.3.3 。

图1.3.2 图层属性

图1.3.3 结果显示

ENVI学习总结(一)——自定义坐标系相关推荐

  1. ENVI:(2022年最详细的教程)自定义坐标系

    软件:ENVI5.3 b站视频讲解:[ENVI]遥感图像处理入门教程_哔哩哔哩_bilibili 数据下载:学习数据.rar_免费高速下载|百度网盘-分享无限制 (baidu.com) 提取码:LOV ...

  2. boost::geometry模块使用变换自定义坐标系示例

    boost::geometry模块使用变换自定义坐标系示例 实现功能 C++实现代码 实现功能 boost::geometry模块使用变换自定义坐标系示例 C++实现代码 #include <i ...

  3. boost::geometry模块自定义坐标系示例

    boost::geometry模块自定义坐标系示例 实现功能 C++实现代码 实现功能 boost::geometry模块自定义坐标系示例 C++实现代码 #include <iostream& ...

  4. Vue.js 学习笔记 十一 自定义指令

    之前看到过v-bind,v-on等指令,Vue还可以自定义指<div id="divApp"        <div v-focus></div> & ...

  5. Vue.js 学习笔记 十 自定义按键事件

    <div id="divApp"><!--任何键盘动作都会触发--><input type="text" v-on:keyup=& ...

  6. 微信小程序开发学习5(自定义组件)

    微信小程序开发学习5(自定义组件) 1.学习目标 能够知道如何自定义小程序组件 能够知道小程序组件中behaviors的作用 能够知道如何安装和配置vant-weapp组件库 能够知道如何使用MobX ...

  7. Pytorch学习笔记7——自定义数据集

    Pytorch学习笔记7--自定义数据集 1.读取数据 首先继承自torch.utils.data.Dataset 重写len与getitem train就用train数据集,test就用test数据 ...

  8. 西安80转2000坐标参数_ERDAS中自定义坐标系的方法(转自百度,仅供参考)

    ERDAS中自定义坐标系的方法 打开ERDAS目录(中的spheroid.tab) 找到spheroid.tab文件 选择用记事本打开 输入想添加的坐标 "Xian 1980" { ...

  9. 【QGIS入门实战精品教程】5.2:QGIS自定义坐标系案例教程

    我国全国版图常用的投影为双标准纬线圆锥投影,如等积Albers投影或者等角Lambert投影,所使用的地理坐标参照系则依据数据生产时间而有所不同,如早期的北京54坐标系和西安80坐标系,以及近年来所普 ...

  10. 深度学习之“制作自定义数据”--torch.utils.data.DataLoader重写构造方法。

    深度学习之"制作自定义数据"–torch.utils.data.DataLoader重写构造方法. 前言: ​ 本文讲述重写torch.utils.data.DataLoader类 ...

最新文章

  1. python免费试听-小栈春季编程免费试听课 倒数6天!
  2. opencv-Canny边缘检测(Python)
  3. IOCP不可忽视的细节
  4. php图片自动分页,WordPress点击图片自动进入下一分页代码【图片站福利】
  5. Modbus协议栈应用实例之五:Modbus ASCII主站应用
  6. graphpad prism画折线图_如何用Graphpad Prism 8作折线图
  7. 计算机专业最低院校门槛,2021年全国各省高考高校录取最低位次排名查询系统...
  8. 扫盲——敏捷开发 Agile development 之 Scrum开发
  9. 大数据分析工具BI应用在哪方面
  10. Pycharm下载包慢的问题
  11. 前端开发工具Axure——Axure原型图查看
  12. python xy 官网_zwPython,字王集成式python开发平台,比pythonXY更强大、更方便。
  13. ipython的安装和使用过程_数据分析之一:IPython安装及使用
  14. mysql分页查询公式
  15. 什么叫做风险纳税人?如何解除风险
  16. 邮箱激活功能,前台用户注册后需要登录邮箱激活账号才能够登录的,请简述激活过程,重点是安全性
  17. 浙师大 计算机科学技术导论,计算机科学技术导论
  18. 墙后的全部姿势,全被“瞎眼”AI透视
  19. c程序语言中long,C语言long
  20. java c2 compiler_C2中的CompilerThread

热门文章

  1. 爬虫实例5 爬取58房源信息(xpath)
  2. vue组件之间的参数传递
  3. html钢琴谱播放器,蛐蛐五线谱播放器(77player)
  4. 鸿蒙系统公布名单,鸿蒙系统支持名单曝光,有你的手机吗?
  5. python 参数一样结果不一样_使用不同的参数多次调用同一个函数python
  6. JetBrains:更改webstrom、IDEA等主题
  7. oracle union orderby,Oracle中union 和 order by 的联用
  8. 深度学习实现工业零件的缺陷检测
  9. SVM支持向量机算法详解
  10. python学习之路(10)--难点