声明:本文所指空间规划师特指城乡规划师,此处仅在标题名称提法上与国家空间规划体系改革相呼应,文中仍以规划师或城乡规划师相称,并无额外之意,请勿过度解读;封面图片来自于网络,版权归原作者所有。
随着自然资源部的成立以及“建立国家空间规划体系”的提出,无论是国土规划还是城乡规划都在向统一的空间规划体系转变升级。作为统一空间规划体系的重要事件,2018年7月1日起,自然资源部全面启用2000国家大地坐标系,以此作为统一空间规划的一致性空间参考体系,对于城乡空间规划的空间参考要求也将会越来越高,城乡规划师也需要逐步学会如何将多元数据在不同空间参考下进行转换,尤其是转换为国家2000大地坐标系,这就是作者撰写本文的初衷,本文命名为《空间规划师的坐标转换手册》,其实更像是一个入门介绍,并不像手册那么深入完善的面面俱到,主要是怕写的太深又把我们规划师朋友讲糊涂,本文重点是想让规划师能看懂,能理解坐标系及其转换的原理,但我还是保留了这个名字,一是本文主要针对城乡规划师,二是希望规划师朋友们能把它像手册一样收藏,有需要的时候就想手册一样把它打开看看能够解决疑惑。
本文不是一篇专业的坐标系理论学术文章,而是试图尽量避开参数堆叠,通过规划师能理解的语境(作者本人也是规划出身的业余GISer),对坐标系的原理进行简化讲解,并对坐标系定义和转换的方法进行概括梳理,以便规划师在日常工作中需要的时候参考阅读。
作为一名城乡规划师,在传统的CAD+SU+PS的套路下,对坐标系的定义是弱化了的,甚至是完全忽略的,通常认知里,只有测绘和地信相关专业才会关注空间参考坐标系的定义,也只有他们才懂坐标系转换,对于规划设计专业的朋友来讲,一是看不懂各种复杂的坐标系参数,二是不会GIS,不知道如何进行坐标转换操作,看到各类介绍坐标系知识的文章和教材是非常晦涩的,通过阅读本文,规划师可以初步理解坐标系及不同坐标系之间的转换原理,结合专业的学术专著及论文可进一步深入学习研究。
一、坐标系的原理概述
1.1坐标系的相关原理
(1)坐标系
无论是在抽象的数学几何空间还是在现实的地理空间中,我们要确定一个要素(点、线、面、体或者地理对象)的空间位置,都要定义一个坐标系作为空间参考,然后以这个坐标系下的坐标值去描述要素的空间位置。
对于同一空间要素,定义不同的坐标系,其空间参考位置就会存在差异,对应的其坐标值也就不一样,如图1.1、图1.2就是同一个要素点M在两个不同坐标系下的坐标值描述,在A坐标系的空间参考下,M点的坐标值为(3,2),在B坐标系下M点的坐标值为(4,3)。
▲图1.1对点要素定义空间参考(坐标系)A所获得的坐标值(3,2)▲图1.2对点要素定义空间参考(坐标系)B所获得的坐标值(4,3)(2)坐标转换
正如上文所述,M点在A、B两个不同的坐标系空间参考下,其坐标值是不一样的,假设当前M点的空间参考为坐标系A(如为西安80坐标系),其对应坐标值为(3,2),现根据某些要求(如现在国家要求统一转换至国家大地2000坐标系),需要将其空间参考转变为坐标系B(假设为国家大地2000坐标系),那么对应的坐标值也将会转变为(4,3),这里有两种方法可以实现:
第一种方法就是保持坐标系A的空间位置不变,将M点移动到坐标系A下的(4,3)的位置后从新将坐标系A强制性定义为坐标系B,如下图1.3所示;
▲图1.3 坐标转换方式一:移动要素
第二中方法是保持M位置不变,将坐标系A向左、向下分别移动一个单位,及将坐标系A变换为坐标系B,则M的坐标值也会变成(4,3)。
▲图1.4 坐标转换方式二:移动坐标系
以上就是简化后的坐标和坐标系变换的基本原理,然而实际的地理坐标和坐标系变换要复杂的多,这是因为一方面地球表面不是上图中简单的规则图面,另一方面地理坐标线也不是上图中简单的直角坐标系,具体请参阅相关专业文档,本文仅做简单院里讲解,便于规划师入门理解。
(3)坐标转换变形
以上两种坐标转换方法都只有平移变换,其都有个前提,就是A、B两个坐标系的坐标尺度和单位是一致的,这就是我们常见的地理坐标系向地理坐标系转换,投影坐标系向投影坐标系之间转换的简化原理。
另外一种情况是两个坐标系之间的坐标尺度和单位不一致,如下图1.4、图1.5所示,坐标系B的Y轴刻度是坐标轴A的一半,也就是坐标刻度尺寸不一样,因此Y轴方向同样距离在坐标系B下会比坐标系A显示效果进行收缩显示,最后导致图形显示变形。这就是我们在坐标转换中常见会遇到的变形,常见于地理坐标系与投影坐标系之间的转换,因为地理坐标系的单位是角度单位(度、分、秒),而投影坐标系的坐标单位为公制单位(米、千米等)。
对于地理要素坐标转换而言,除了缩放变形之外,通常还伴有旋转扭曲变形。
▲图1.5 坐标转换变形根据以上的分析,我们在进行地理空间要素坐标变换时通常会涉及到平移、缩放、旋转几类操作,对应的变换参考量选择就可能会有4个参考量(3个平移参考量,1个缩放因子参考量,没有旋转变形)或者7个参考量(3个平移参考量、3个旋转角度参考量、1个尺度缩放因子参考量),这就是我们常见的4参数、7参数坐标转换的来源。
2.2 地理要素空间参考坐标系分类
(1)地理坐标系
我们知道地球是不规则椭球体,在进行地理要素定位描述时,通常会用一个最接近于地球形状及其表面的规则椭球体对齐进行拟合,然后再基于这个椭球体构建一个球体坐标,也就是我们常说的地理坐标系,该坐标系的坐标原点为拟合椭球体的球心,也就是最接近于地球球心的点,通常有地球质心或几何中心,地球表面的点通过经纬度来表示,其坐标值的单位为度、分、秒,根据球心的不同通常有地心坐标系(WGS84)或参心坐标系(Xian80)等。地理坐标系通常用来表示地物的位置,不太适合用来测量地物的长度、面积等尺度大小。
(2)投影坐标系
在日常工程设计中,我们除了了解地理要素的位置之外,通常还需要了解地理要素的长度、面积等尺度大小,也需要了解不同地理要素之间的距离等属性,测量单位通常为米、千米等公制单位,因此就需要将地理坐标系转换为以公制(米、千米等)单位为坐标系单位的投影坐标系,这个过程就是地图投影。
前面我们讲到,不同坐标系之间的转换存在变形,尤其是地理坐标系向投影坐标系之间转换,加上地球表面的复杂性,因此地理坐标系向投影坐标系转换过程中必然存在复杂的变形,同时也就会产生不同程度的误差,为了减少这种误差以提高测绘的准确性,不同地域、不同尺度下就有不同的地图投影方法,以减少转换变形和误差,提高测绘精度,因此也就有不同的投影坐标系了。换个说法就是不同尺度或不同地域会用最接近于其对应地球表面的的球面去拟合地球球面,然后再进行投影变换,以得到最接近于真实情况的地球表面地物的坐标值。这就是地图投影及投影坐标系的意义所在。
(3)我国常见坐标系
在我国的测绘及相关地理信息产品中,常见的坐标系有:
WGS84地理坐标系(通常会用UTM横轴墨卡托对其进行投影)
北京54坐标系(包含地理坐标系及其对应的投影坐标系)
西安80坐标系(包含地理坐标系及其对应的投影坐标系)
国家大地2000坐标系(包含地理坐标系及其对应的投影坐标系)
地方独立坐标系(常用于局部区域的空间参考)
另外还有两类坐标系,分别为GCJ02、BD09坐标系,也就是我们常说的火星坐标系和百度坐标系,常见于国内网络地图产品,其中百度地图相关产品使用的是百度坐标系、国内其他地图产品用到的是火星坐标系,这两类坐标系都是在国家大地坐标系基础上做了二次变形,而且其变形参数是保密的。(注意,Google地图所用的是WGS84世界地理坐标系)
【TIPS】
关于各种不同地理坐标系及投影坐标系的参数可通过网络自行查阅,本文不再赘述,以免又把大家讲晕。
【END】
二、ArcGIS中的动态投影
在讲下一步之前,我们在这里先简单说一下ArcGIS中的动态投影,这对于理解坐标系空间参考也是非常重要的知识点。
动态投影就是在ArcGIS中,每一个地理数据框架(MXD文件)可以有一个独立于数据的空间参考坐标系,而这个坐标系可以与数据的坐标系相同,也可以不相同;不同数据之间的坐标系也可以相同,也可以不同,只要是同一个地理空间范围的数据并定义了正确的坐标系,那么在同一个地理数据框架(MXD)文件中,他们就能正确的空间叠加显示和分析。
如图2.1,为某地区卫星影像图,其空间参考坐标系为WGS84的地理坐标系。
▲图2.1 WGS84坐标系数据
如图2.2,为相同地区的现状用地图斑,其空间参考坐标系为西安80投影坐标系。
▲图2.2 西安80坐标系数据
如图2.3,当我们将上述图2.1、2.2所示两个不同数据加载到同一个MXD图层框架中时,两个不同坐标系不同的数据图层能自动对齐,这就是ArcGIS中神奇而又强大的动态投影。
▲图2.3 动态投影显示数据
三、为什么要统一使用2000坐标系
要求《国土资源部 国家测绘地理信息局关于加快使用2000国家大地坐标系的通知》(国土资发〔2017〕30号),2018年7月1日起,将在全系统各类自然资源空间数据全面使用2000国家大地坐标系。
那为什么要统一使用2000国家大地坐标系呢,根据前文的描述,我们定义坐标系的目的是通过数学方法拟合表示地理空间,不同坐标系就是采用不同的数学描述方法对地理空间(某一区域地球表面)进行拟合,不同坐标系也就是说不同的数学描述方法对地理空间的拟合精度是不一样的,我们在坐标系设计的时候就是尽可能的优化和修正这个数学方法,让它更接近于我们真实的地理空间,简单理解,2000大地坐标系就是比原来北京54和西安80能够更好拟合我国国土地理空间的一种坐标系,使用2000大地坐标系对我国自然地理要素进行空间位置和尺度描述时比原来的北京54和西安80更准确,因此我们现在需要使用精度更高更准确的2000大地坐标系。
四、各类坐标系转换2000坐标系的方法
在我们日常的规划设计中,会遇到各种空间数据类型,归纳起来主要包括矢量、栅格两大类,不同的数据数据或许有坐标系,或许没有定义坐标系,即使定义了坐标系也可能是各种不同的坐标系,在这里引用我在另一篇推文里面关于坐标系定义和投影变换操作逻辑图(详情见《说说投影和坐标系那些事儿》),请将图中最后的"目标坐标系"替换为的2000坐标系即为转换2000坐标系的逻辑思路。
▲图4.0 | 坐标系和投影操作总体流程图
(注意图中黑色线条是针对单个数据的流程,蓝色线条流程是针对多个数据的流程)
既然都要转换为2000坐标系,就要分别进行阐述,本文根据各类坐标系的转换方法,总体上将数据分为三大类,分别是已知坐标系及坐标参数的数据,已知坐标系但是未知坐标系参数的数据以及未知坐标系的数据,下面分别针对本文描述的三大类数据及其转换方法进行阐述。
4.1已知坐标系及坐标系参数
已知坐标系及坐标参数就是指我们拿到一个数据,我们明确知道其坐标系为某一特定坐标系,而且有可能在其数据属性中已经定义了对应的坐标系信息,即使没定义,我们根据知道的坐标系信息也可以对其定义准确的坐标系(对于数据的坐标系定义请参考《说说投影和坐标系那些事儿》),这类数据常见于之前国土、林业等部门提供的Shapefile格式数据,一般为我国之前使用的北京54及西安80坐标系,另外在网上下载的公开影像图、数字高程DEM等数据也会有公开的WGS84坐标系,对于这类数据,其转换方法较为简单,因为北京54、西安80以及国家大地2000坐标系的坐标参数都是内置于ArcGIS系统中的,其坐标系之间的转换可以通过ArcGIS自动完成。
(1)如图4.1.1,原始数据“卫星影像图”坐标系为WGS84地理坐标系,现在需要将其转换为国家2000大地坐标系。
▲图4.1.1 原始WGS84坐标系数据
(2)如图4.1.2,设置数据框图层的坐标系为我们需要转换的目标坐标系——国家2000大地坐标系,此处应该选"投影坐标系-Gauss Kruger-CGCS2000-CGCS2000 3 Degree GK CM 102E",设置完点击“确认”即可(有警告提示请点“是”)。
▲图4.1.2 设置数据框坐标系属性
【TIPS】
1、CGCS2000跟西安80、北京54一样都是采用的高斯克格的分带投影方法,但这并不代表他们的坐标系参数一样,因为除了投影方法,还有他们的椭球体以及基准面是不一样的,可以按前文理解就是他们的坐标系参考原点和坐标轴的位置是不一样的。
2、这里选择CGCS2000 3 Degree GK CM 102E的原因是因为我们所选择的区域正好位于经度东经102度附近,所以在实际应用中请根据实际数据所在区域选择离其最近的中央经线投影带即可。(末尾的102E即表示该投影带对应的中央经线)
【END】
(3)如图4.1.3,在数据层上"右键_数据_导出数据",在导出数据设置对话框按图中将空间参考设置为“数据框(当前)”,也就是我们之前定义的国家2000大地坐标系,这就是我们需要转换的目标坐标系,按此设置后点击保存即可,导出的数据会自动完成坐标转换。
▲图4.1.3 按目标坐标系导出数据
(4)如图4.1.4,我们打开转换完成后的数据属性,查看其坐标系信息,已经成功转换为我们的国家2000大地坐标系。
▲图4.1.4 转换成果数据
通过对比,可以发现转换后的数据与转换前的数据完全重叠,似乎并没有变化,这正是因为两个数据都是定义了“正确”的坐标系,ArcGIS通过动态投影将该地理空间数据进行了正确的空间参考表达,因此两个数据必然能够完全重叠。
这种对于已知坐标系及其参数的数据坐标系转换是相对简单的转换方法,所以我们拿到数据首先就看其有没有原始坐标系,如果有的话我们就可以直接按这种方法进行坐标系转换。
一般情况下,WGS84、北京54、西安80几种坐标系都可以按这种方法转换为国家2000大地坐标系。
4.2已知坐标系但未知坐标系参数
已知坐标系但是未知坐标系参数是指我们能够判断某一个数据对应的坐标系,但是由于保密等原因,其坐标系参数是不公开的,所以即使我们知道是某一个坐标系,也不能将这个坐标系定义到数据上,火星坐标系和百度坐标系就属于这一类,出于保密要求,他们都是在国家标准大地坐标系基础上做了偏移和变形的,而且偏移和变形参数属于保密信息,所以我们无法在GIS系统中直接对其定义相应的坐标系。
对于这两类坐标系的转换本文介绍两种方法,分别为手动矫正、配准和第三方辅助法。
(1)手动矫正、配准
手动矫正、配准是指在不知道数据的空间参考坐标系的前提下,强制对其定义为国家2000坐标系,然后通过手动移动、变形等操作将其对齐到正确位置上。
在ArcGIS中针对矢量和删格数据,分别使用空间矫正和地理配准来实现数据的手动矫正和配准。具体操作方法参照本公众号历史推文,本文不再赘述:
《“空间校正”在坐标变换中的应用》、《“地理配准”在坐标变换中的应用》
(2)第三方辅助法
第三方辅助法是指通过第三方工具实现坐标系的转换,该类工具网上较多,使用比较多的有城市数据派和南京师范大学张海平博士开发的GeoSharp、未来交通实验室开发的万能坐标转换工具等;另外,网上还有很多基于JAVA、Python语言的转换代码。针对第三方工具请参考对应使用手册和帮助文件,对于转换代码需要一定编程基础,本文作为面向大部分规划师的教程,不做深入介绍,如果有兴趣的可以自行研究。
本文推荐在小范围内的少量数据可以使用手动矫正和地理配准的方法进行坐标系转换,对于数据量大,精度要求相对较高建议使用第三方工具或者代码法进行转换。
需要说明的是,常见的第三方工具及公开代码通常只能将火星坐标系或百度坐标系转换为WGS84地理坐标系,我们通常需要在此基础上按前文所述再将其转换为我们需要的国家2000大地坐标系。
4.3未知坐标系(必然未知坐标系参数)
未知坐标系是指事先无法知道数据本身的坐标系信息,甚至也无法从数据的坐标值大概判断其坐标系信息。
(1)独立坐标系
独立坐标系是各地方制定的更符合当地拟合精度要求的坐标系,由于不同地方对应不同的独立坐标系,因此我们是很难对独立坐标系进行统一的参数定义和属性描述,况且独立坐标系的参数都是保密的,因此我们也是无法对数据进行独立坐标系的定义,此类坐标系的正确转换方法是交由当地测绘信息主管部门进行转换,然后再进行使用。在无法识别其是否为独立坐标系或者无法交由相关部门转换的情况下就只能将其作为未知坐标系进行转换处理。
(2)其他未知坐标系
在规划设计项目中,我们还经常会遇到各类成果JPG甚至是PDF格式的图纸,这类图件就完全不具有空间参考坐标系了,如果我们要将他纳入GIS信息系统中对其进行空间位置定义,就需要对其定义一个坐标系,以便其识别准确的地理位置。
针对以上的未知坐标系,如果需要将其转换为国家2000坐标系也是先将其定义为2000坐标系,然后通过空间矫正(矢量数据)或地理配准(删格数据)的方式进行坐标系变换。
具体操作方法参照本公众号历史推文,本文不再赘述:
《“空间校正”在坐标变换中的应用》、《“地理配准”在坐标变换中的应用》
五、总结
坐标系和投影变换的概念和操作一直是GIS学习中的重难点,甚至有人将其形容为规划专业学习GIS的壁垒,尤其是在地信和测绘专业的语境中对坐标系和地图投影的介绍都会涉及到各种参数,这对于规划专业的学生或者从业者来讲无异于看天书,然而对于规划师来讲,如果不能很好的理解坐标系和地图投影的原理以及转换方法,在GIS学习和使用过程中必然会遇到各类莫名其妙的问题,而现在随着自然资源部的成立,以后对于城乡规划中的地理空间参考的重视程度和要求必然会越来越高,统一使用2000坐标系就是一个重要的标志性事件,本文试图通过这次契机,以理论解释和实际操作相结合的形式,让规划师能够更好的理解空间参考坐标系的含义,并能够在ArcGIS中方便快捷的完成规划设计项目中的坐标转换,以此进一步帮助规划师理解坐标系的含义,激发GIS学习的兴趣和积极性。
当然,由于作者能力有限,文中难免有错误和不足,本文仅作为规划师入门学习坐标系和投影变换的建议参考操作手册,系统的理论知识还请查阅相关专业书籍或教程,在坐标转换过程中或者针对本文有任何疑问或者问题请在本公众号(UGISER)留言或者直接添加后台微信号(UGISER0084)咨询,由于是非商业运营,后台回复可能不及时,敬请谅解!