GIS原理篇 投影变换

目录

前言 

GIS投影变换一

GIS投影变换二

 题外话


前言 

(请略过此处直奔正文,描述不是很恰当,但竭力叙述清楚)

好久没更博文了,总想写点什么,但又找不到,灵光一闪:“说说自己专业所学知识,记录心得,以供后看。何如啊?”

地理信息专业的必修课之一地图学,不知现在的学弟学妹怎么看待这门课,在当时自己的同级中,有为这么课所累的,也有为这门科所授,我便是其一,这门课的魅力只有熬住了那份枯燥,才有后来的遨游其中的乐趣,以至于现在在工作中,也常常用到其中的不少理论。

 投影变换只是地图学中的一部分,而在我看来这部分内容最具魅力。投影即是字面意思,将"物体的形"“影射”到“幕布”上,而变换在GIS(地理信息系统)中即指空间位置的变化(这种变化不是简单,可以说,在GIS中任何空间变换都是涉及变换参数的)。

GIS投影变换一

此路甚长。

不知不觉三调已经开始很久了,作为GIS应用与开发的小白,还有很多事要做,很多东西要学,下面谈点浅见。

进入正题:

在近期的三次土地调查中,做了不少二次开发的工作,多多少少遇到一些问题,下面来总结一下:

问题一:有同事问我:“我有一个

PROJCS:"CGCS2000_3_Degree_GK_CM_108E"

GEOGCS:"GCS_China_Geodetic_Coordinate_System_2000"

和一个

PROJCS:"CGCS_2000_3_Degree_GK_Zone_35"

GEOGCS:"GCS_CGCS_2000"

的矢量数据,虽然他们能叠到一起,但是我想把他们的投影坐标系(PROJCS)转为一样(如把CGCS2000_3_Degree_GK_CM_108E转为CGCS_2000_3_Degree_GK_Zone_35,或者相反。)

同事是这样做的:

利用定义拖影把第一个108E的转为35度带(105E)的,两者叠不到一起去,为什么?

我想,大多数情况下,我们所理解的,或者第一想法,是地理坐标与平面平面之间的投影转换,可是这种情况不是,这个问题属于投影与投影之间的投影转换,即平面与平面之间的投影转换 

其实呢,我们平时接触的,最多的就是投影。这样的问题,在没有熟悉投影的概念的时候,很容易进入误区。 以上两个投影带都是GCS2000的地理基准,这也简化了问题,至少不用考虑基准面不一样的问题(即使不一样,原理还是一样的)。下面来说说为什么用ArcGIS的定义投影,并不能实现想要的结果。

简单的来说,CGCS2000_3_Degree_GK_CM_108E和CGCS_2000_3_Degree_GK_Zone_35都属于投影坐标系,定义投影的功能是什么:一没投影或者投影错误的数据,通过定义正确投影,将球面投影到平面上。也就是说,如果对CGCS2000_3_Degree_GK_CM_108E的数据定义投影,是把GCS_China_Geodetic_Coordinate_System_2000球面上对应的信息投影到CGCS_2000_3_Degree_GK_Zone_35平面上,而不是将数据从CGCS2000_3_Degree_GK_CM_108E平面投影变换到CGCS_2000_3_Degree_GK_Zone_35平面。图解一下:

 投影变换的过程也是参数变换的过程。

后来还有人问我:平面(直角坐标系)之间的投影不就是直角坐标系的平移吗?那我平移数据就行了。其实不然,平面之间的平移同球面到平面或者平面到球面一样,都需要转换参数


GIS投影变换二

今天聊个枯燥的话题:地图学中的投影变换 (万物皆可“投影”,万物皆可“变换”)

有相关专业知识的朋友看这个话题应该已猜到我大致会说什么,没有相关知识的朋友,哈哈,对不起,你应不会搜索到此类文章。

前些日子朋友曾问我,自己有一个CGCS2000的数据,想转为WGS84的数据,怎么弄?

在此之前,他是这样操作的:在ArcCatalog中将源数据的空间参考信息直接改成WGS84的(非常方便的做法),可加载到程序中,发现这数据的坐标信息有问题,虽显示WGS84空间参考,但是数据的“行为”(指一些在开发中可能会用到的属性,或基于此而作的一些空间分析)却不对,一直很是纳闷,就来问我为什么。

(嘿嘿,我哪管三七二十一,一顿猛如虎的操作就解决了(咳咳,不吹N,不吹N))

在解惑之前先问个如下的问题:(此例子其实并不恰当,但当时我就是这么比喻的)

拥有中国国籍的你,哪天想移民美国了,为了得到美国国籍,你把自己的国籍信息改成了美国,然后准备愉快的过海关飞往美国了,从此就是华裔了。(啪,打脸的是立马被警察叔叔带回去审问,别说去美国了)。

这里面存在个问题,国籍变更,简单的来说是要走流程的,大致是提交申请,条件符合同意批准后,先注销中国国籍,再注册美国国籍,这样才是正规的渠道。

在程序开发中,这里的注销与注册相对投影变换这个问题,实质是一样的,即为投与变的动作,而完成这个动作(注册或注销)所需的条件即是投影变化的参数(所以为了安全,要走正常渠道),这个参数可以是自定义的,也可以由第三方提供,如ESRI(ArcGIS系列产品的研发公司,这里主要不是介绍ESRI,而是介绍ArcGIS,强大的空间地理数据加载、处理、输出的的软件)。

想必聊到这里也是明白个七七八八了,之所以会出现数据“行为”不对的问题,还是因为坐标系变化这个过程出了问题。

首先,无论是什么坐标系,如地理坐标系(也是大地坐标系)、投影坐标系或是自定义的独立坐标系。两两之间变换,或者同类型之间两两变换,都要遵寻投影变换的规则,这个规则就是投影变换的参数,而这些变换我们统称为投影变换,而投影变换从来就不仅仅是指地理坐标系与投影坐标系之间的变换,也包括地理坐标系与地理坐标系之间、投影坐标系与投影坐标系之间。

其次,自定义的独立坐标系,若其原点迁至标准坐标系,也可自定义变换参数,而得到独立坐标系在某个坐标系下的绝对位置。

最后上一张图理解理解:


 题外话

其实对这种变换的理解,对于在三维开发中是很有帮助的,例如基于Cesium三维开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值