地图(Gis)中的坐标系

文章目录

  • 地图(Gis)中的坐标系
  • 前言
  • 1.什么是坐标系(地图投影)
    • 1.1坐标系介绍
    • 1.2地理坐标系
    • 1.3投影坐标系
    • 1.4为什么要有这么多坐标系
    • 1.5什么是EPSG
    • 1.6不同坐标系的数据要如何转换
  • 2.坐标系在项目中的应用
    • 2.1地图框架和坐标系的确定
    • 2.2 Gis数据坐标系
    • 2.3 其他可能遇到的问题
  • 3.参考文献

前言

最近暂时离开的三维Gis的开发,转身投入到了二维Gis的开发,研究二维地图最好的一点终于不用考虑模型建模,贴图,着色器,粒子特效等三维方面甚至是计算机图形学的东西了,可以更加专注的研究GIS和业务相关。
近期遇到项目要求使用兰伯特和墨卡托坐标系,在和公司遥感算法小妹沟通的时候,发现她对坐标系这块也是一知半解。一开始我还比较疑惑,后来想想,虽然我是学Gis专业,但是真的理解这些也是在工作中慢慢学习和成长的。
这篇文章的主要目的是授人以渔,但是没有比较硬核的科普,主要介绍一下坐标系在地图(Gis)项目中的重要性,如何选择还有如何应用等,我认为比较实用的东西,并且尽量写一些其他文章没有的内容。
下面内容主要以我是我自己的理解,如果出现错误欢迎指正。


1.什么是坐标系(地图投影)

1.1坐标系介绍

在开发GIS项目或者涉及到GIS相关的模块的时候,我们第一步最主要的是要确定和统一地图数据使用的坐标系,因为坐标系的确定,会影响到后续一系列的功能开发和数据处理。比较严重的情况会导致所有数据重新处理,甚至是项目无法开发。例如,客户或者甲方提供了poi点等数据,却不告诉你坐标系是什么,很有可能和已有的谷歌地图,天地图怎么也对不上,这样的话,后续的功能也无法开发。

那么坐标系这么重要,什么是坐标系呢?坐标系分地理坐标系和投影坐标系。首先我们先分别来看它们概念。

地理坐标系:以参考椭球中心为原点,起始子午面和赤道面为基准面的地球坐标系。使用大地的经度纬度和高度来描述位置。

投影坐标系:投影坐标系在二维平面中进行定义。与地理坐标系不同,在二维空间范围内,投影坐标系的长度、角度和面积恒定。投影坐标系始终基于地理坐标系,而后者则是基于球体或旋转椭球体的。
定义可能看不懂,但是只要知道使用经纬度的是地理坐标系,使用米或者千米或者其他单位的就是投影坐标系。

如果不知道经纬度是啥样子,再简单一点,x和y的值在[-180,+180]和[-90,+90],那么他就是地理坐标系(经纬度为单位),如果x和y的值很大,大概在万或者百万以上,那么这个肯定是投影坐标系。只要不是太离谱的数据基本都适用。

1.2地理坐标系

地理坐标系大家应该好理解就是地球上的点都用经纬度进行表示,为什么在180和90直接呢。直接看下图。


纬线和经线一样是人类为度量方便而假设出来的辅助线,定义为地球表面某点随地球自转所形成的轨迹。任何一根纬线都是圆形而且两两平行。纬线的长度是赤道的周长乘以纬线的纬度的余弦,所以赤道最长,离赤道越远的纬线,周长越短,到了两极就缩为0。从赤道向北和向南,各分90°,称为北纬和南纬,分别用“N”和“S”表示。经度分东西,指南北,纬度分南北,指东西。

上面直接复制于百度百科,大概理解就可以了。那么为什么有不同的地理坐标系呢?因为采用的椭球不同,总所周知,地球是椭圆形的,但是也没有大家网上看的那么离谱(其实地球还是很圆的)。但是这微小的变化导致地球各处的常量不同,例如引力等。所以不同国家不同应用场景就会使用不同坐标系。例如中国一开始是使用北京54,其主要来源于前苏联的克拉索夫斯基椭球,在中国使用的时候经常不准。最后经过发展变成了现在的china2000。当然这里还涉及到大地水准面,椭球等地理信息概念,这里不再讨论,可详见其他更专业的文章。
详细请看:https://blog.csdn.net/qq_34149805/article/details/65634252

1.3投影坐标系

投影坐标系算是老大难,因为投影的方式多,应用场景多,所以导致投影坐标系特别多。理解起来也很费劲。简单来说就是在地心放一个灯泡,然后在我们用一个纸围着地球,然后大陆,海等等地物的影子就投到了纸上,接着展开的纸,这个纸上的地图就是投影坐标系的地图。下图来源https://www.cnblogs.com/onsummer/p/12081889.html

为什么要费那么大劲儿搞投影呢,因为球是无论如何也不能无损的展开成有个平面的,不信话可以拿橘子皮试试。为了大家不人均抱个地球仪,前辈们也是绞尽脑汁,但是大部分投影坐标系有个问题,就是形变,例如上图用的墨卡托投影,南北极会变形严重,南极大陆已经大离谱了,有些无良营销号还拿这种地图来瞎搞科普,实属可恶。 另外上文说的地理坐标系在实际应用(除三维地球外)上会采用经纬度直投的方式来使用。

经纬度直投,经纬度等间隔直投的特点是相同的经纬度间隔在屏幕上的间距相等,没有复杂的坐标变换。但是只是在低纬度地区长度、角度、面积、形状变化比较小,越向高纬度,水平距离变长越大,很小的纬圈都变得和赤道一样长。同时要素自身会变形,长方形会变成上宽下窄的倒梯形。

上文来源https://blog.csdn.net/qq_32202099/article/details/113185220

1.4为什么要有这么多坐标系

比较深入接触到GIS行业后,肯定有疑问,为什么要搞这么多坐标系啊,大家用一个不好吗。这好吗,这确实不好。一个原因在地理坐标系章节有提及。其次不同行业对地图的需求也不同。投影坐标系章节大家知道投影后经常有形变等问题,这会导致面积,两点连线角度,距离等等都会产生很大变化。所以为了满足不同行业需求就产生了很多不一样的坐标系,例如航海航空需要两点连线角度准确,那么他们一般会使用兰伯特等投影,这种投影的学名叫做“等角正轴搁圆锥投影”,看名字就能知道他大概是如何生成的。这种坐标系就可以保证两点连线角度不会因为形变而改变,使用这种坐标系的地图导航,驾驶员设定好行驶角度,就可以“无人驾驶”了。

当然还有很多坐标系都是为了解决一些使用上的问题,所以在跨行业集成的时候,常常出现数据坐标系不同,需要转换的情况。这么的坐标系难道都要学习背下来吗,其实不用的,前人已经帮咱们归纳总结好了,通过EPGS编号基本都可以找到。

1.5什么是EPSG

EPSG的全称是European Petroleum Survey Group,中文名称为欧洲石油调查组织,http://epsg.io。搞石油自然是离不开地图的,而我们从上文知道,地图又分出了这么多坐标系和投影,那么他们为了更好的管理和互相转换这些坐标系的地图数据,于是就给常见和通用的坐标系都赋予了一个唯一的编号,方便管理和查询。例如地图开发常用的坐标系WGS84,编号就是4326,http://epsg.io/4326,giser直接为了方便交流也就称其为epsg4326或者简称为4326。同理更常用的Pseudo-Mercator 坐标系的EPSG编号为3857,http://epsg.io/3857,交流沟通的时候就常称呼其为3587坐标系。

1.6不同坐标系的数据要如何转换

首先要确定数据坐标系和目标坐标系,最好要的两个坐标系的EPSG编号。有的客户或者甲方甚至同事他们不太懂GIS相关知识。很有可能出现下面的情况,最开始的生成数据的人说我这个数据是wgs84 web-Mercator投影的,等他们口口相传到你这里可能就变成了这个是84坐标系的,虽然没传歪,但是84坐标系这么多,就算是试一下常用的也很耽误时间,如果是小众坐标系,那就问题多了去。如果是说是3857的就很明确,如果有问题,直接甩给数据方,让他们确定坐标系后再进行后续工作。

有了明确坐标系后,就可以通过arcgis或者其他GIS软件进行坐标系转换工作了,如果需要动态转换,需要proj4,这个放在下面详细介绍,软件操作就不多介绍了。 如果没有EPSG编号呢,这个分两个情况。

情况一,大家不知道EPSG是什么,坐标系是常用坐标系,那么也是可以在软件里面搜索坐标系直接转换的。
情况二,地方坐标系,火星坐标系,百度坐标系,首先和客户或者数据提供方确定,如果他们说不出来,问问是否为地方坐标系,火星坐标系,还是百度坐标系,如果是这三个坐标系,那么恭喜你进入的地狱模式。

地方坐标系,各个地方为数据保密和精度问题,都会自创一套坐标系,基本上是用3857进行魔改,如果要转的话需要七参数转换或者配准。地方坐标系的七参数一般不会给到,如果给了七参数,建议找GIS大神处理。没有七参数的话,那么剩下还有一个方法的就是配准了。配准需要提供一套对应的坐标,来进行配准,具体过程不具体讨论了。所以尽量还是让数据方提供常见坐标系的数据来进行系统开发。

2021-12-7 补充:年轻了,qgis可以转换火星坐标系和百度坐标系,链接:https://blog.csdn.net/weixin_36123300/article/details/112243349

火星坐标系(GCJ02),国家加密的坐标系,如果范围小也可以配准解决,转换参数别想了,除非你想让国家管吃管住,具体可参考https://www.cnblogs.com/onsummer/p/12081889.html中的4.5. 假坐标系统:GCJ02与BD09

百度坐标系(BD09),在火星坐标系上又进行了偏移,可以通过配准解决,但是除非必要,能不用就不用,具体参考同上。

其他未知坐标系,没有配准解决不了的,如果有,那么说明你控制点不够多,误差不够小。但是不推荐使用,费时费力,最后成果误差往往还非常大。

总而言之,一定一定要用常见坐标系,所有数据都要往常见坐标系去转换,并且统一坐标系,用了乱七八糟的坐标系,那就是进了深坑。

2.坐标系在项目中的应用

这个章节主要是分享一下我的一些工作经验。正如开头所说,坐标系对于地图相关项目真的是十分重要,希望我这些经验能帮大家少踩一些坑。

2.1地图框架和坐标系的确定

地图框架和坐标系可能会相互影响,例如cesium是个三维gis框架,那么他对地理坐标系支持的最好,例如4326。而leaflet或者openlayer这种二维地图框架对大部分坐标系都支持的很好,那么坐标系的选择范围就会更大一些。
具体选择的话,需要看结合需求和公司的整体规划,但是主要遵循两个原则。
第一,二维地图可以完成的项目或者需求,就不要用三维去做。(三维的坑我能写一车)
第二,尽量选择常见坐标系作为基础坐标系。

2.2 Gis数据坐标系

地图框架和坐标系确定后,项目的基础就已经构建好了。接下来就会开始进入到下面开发,地图开发离不开地理信息数据,数据的坐标系遵循一个原则即可,所有地理信息数据的坐标系全部转换为之前确定好的坐标系。当然最好是能直接提供相同的坐标系的数据。如果需要转换可以查看上文的不同坐标系的数据要如何转换。

2.3 其他可能遇到的问题

1.除非必要,不要更换确定好的坐标系。
2.如果使用互联网底图例如天地图,谷歌等,那么坐标系只能选择4236,3857,4490
3.如果数据上图出现问题,可以借助arcgis,supermap等软件来对错误进行排查。
4.尽量减少地图模块的直接操作的功能尤其是三维,不然交互逻辑的代码会很复杂。

如果还遇到了什么问题,可以在评论区留言,我能解决的,尽量帮你解决。我一直觉得Gis只是计算机科学的一个分支领域,现在却变成了做技术的不了解Gis,觉得Gis太难理解,做Gis的又觉得技术太难太深不想接触。希望我的一点点努力,能帮助大家成为双修(计科和Gis)人才。

3.参考文献

百度百科:地理坐标系
百度百科:经纬度
投影和坐标系统那点事
你必须知道的地理坐标系和投影坐标系
聊聊GIS中的坐标系|再版
聊聊GIS中的坐标系|再版 识别各种数据的坐标系及代码中的坐标系
GIS基础一: GIS中的WGS84地理坐标系和墨卡托投影坐标系

地图(Gis)中的坐标系相关推荐

  1. GIS中的坐标系定义与转换

    GIS中的坐标系定义与转换 青岛海洋地质研究所 戴勤奋 2002-3-27 14:22:47 ----------------------------------------------------- ...

  2. GIS中的坐标系定义与转换【转】

    1. 椭球体.基准面及地图投影   GIS中的坐标系定义是GIS系统的 基础,正确定义GIS系统的坐标系非常重要.GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对 ...

  3. 聊聊GIS中的坐标系|再版

    目录 1. 经纬度(例: 119.32°E, 32.48°N)与米(∟, 直角坐标) 2. 为什么有两种表达(不同点) 3. 内在联系(相同点) 4. 常用坐标系统 4.1. 一对名词:WKID与EP ...

  4. 聊聊GIS中那些坐标系

    聊聊GIS中那些坐标系 </h1><div class="clear"></div><div class="postBody&q ...

  5. GIS中的坐标系问题

    文章首发于[地信休息站],禁止转载 坐标系问题是GIS中非常重要又比较难以理解的一个问题,有时候考研复试或者工作面试都会问这个问题,最近几天就把这个重点难点给大家解释一下. 什么是GCS(Geogra ...

  6. ArcGIS——GIS中的坐标系

    从第一次上地图学的课开始,对GIS最基本的地图坐标系统就很迷.也难怪,我那时候并不是GIS专业的学生,仅仅是一门开卷考试的专业选修课,就没怎么在意. 等我真正接触到了各种空间数据产品,我才知道万里长征 ...

  7. 聊聊GIS中那些坐标系(转)

    转载自:https://www.cnblogs.com/onsummer/p/7451128.html B站/博客园/CSDN/知乎:@秋意正寒 从第一次上地图学的课开始,对GIS最基本的地图坐标系统 ...

  8. ArcGIS中的坐标系定义与转换 (转载)

    原文:ArcGIS中的坐标系定义与转换 (转载) 1.基准面概念:  GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定,因此欲正确定义GIS系统坐 ...

  9. ArcGIS中的坐标系详解及部分坐标问题解决方案

    ArcGIS中的坐标系 地理空间的数学基础是空间分析的基准,在GIS中,所有的空间数据都要划归到统一的空间参考下才可以进行进一步的空间分析.地球空间参考解决的是地球的空间定位和数学描述问题,投影解决的 ...

最新文章

  1. 关于定于如何弄的漂亮点
  2. centos6 dns转发_CentOS6 配置DNS服务器
  3. ASP.NET 获取MSN联系人列表
  4. xcode工程命令行生成ipa安装包
  5. 2017.4.07 js 中的function 实现的方式
  6. linux 查看neihe版本_linux查看系统内核版本号
  7. USACO-Section1.4 Prime Cryptarithm (搜索)
  8. 信息学奥赛一本通(2020:【例4.5】第几项)
  9. HTML复古游戏官网模板
  10. Linux进程间通信[转]
  11. 多线程的那点儿事(之死锁)
  12. ArcGIS学习总结(九)——将.kml转换为.shp
  13. 【软件工程】 期末考试 重点复习
  14. 百度地图api的实现
  15. Android简单的编写一个txt阅读器(没有处理字符编码),适用于新手学习
  16. 大豆SNP位点信息查找V2.1版本
  17. 计算机房用什么气体灭火,气体灭火系统在通信机房中用量计算方法
  18. oracle 获取当月的1号_Oracle 获取当前年、月、日
  19. matlab模拟超声波信号_MATLAB模拟超声波声速测量实验
  20. 计算机网络通信基础 概述

热门文章

  1. 第二十一章《万年历》第1节:万年历项目简介
  2. 数据中心网络里的Underlay和Overlay
  3. ROC-RK3308-CC开发实例总结--PAJ7620手势传感器模块调试
  4. 联想t168服务器安装系统,联想万全T168服务器板载Sata+raid系统设置图解.doc
  5. 水果编曲软件走带面板使用方法
  6. 实现地图实时定位,拯救“路痴”
  7. 小白到运维工程师自学之路 第三十九集 (LVS架构)
  8. 综述 | GNN金融风控领域业界进展调研
  9. Gin Mode的选择
  10. 农业银行快捷支付php版说明和实例代码