写点什么

漫话地图之高精地图生产中的坐标系

  • 2020-10-30
  • 本文字数:3915 字

    阅读完需:约 13 分钟

漫话地图之高精地图生产中的坐标系

导读

高精地图区别于普通电子地图,一般来说高精地图的精度要求在亚米级甚至厘米级,其所含有的道路交通元素也更丰富和细致。这就造成高精地图数据生产过程中会遇到很多普通地图没有的问题和困难,更需要有专业的测绘知识解题。


本文从现实世界到地图数据的抽象基础-坐标系着手,介绍相关领域知识,希望对大家深入高精地图领域有所裨益。


本文属于漫话地图系列,将会持续介绍地图行业一些有趣的知识点,欢迎持续关注。


【相关阅读】漫话 | 地图数据处理之道路匹配篇

1.如何定义地球

1.1 地球椭球体

众所周知地球表面凸凹不平,是一个无法用数学公式表达的曲面,这样的曲面不能作为测量制图的基准面。那么假想一个扁率极小的椭圆,绕大地球体短轴旋转所形成的规则椭球体称之为地球椭球体。

1.2 大地水准面

大地水准面是海平面向陆地内部的自然延伸形成的闭合面,由于地球重力面分布不均匀,大地水准面仍然不是一个标准的数学模型,无法作为制图表达。

1.3 大地基准面

大地基准面是设计为最密合部分或全部大地水准面的数学模式,它由椭球体本身及椭球体和地表原点间关系来定义,从而衍生出参考椭球体(参考于标准椭球体)的概念。此关系能以 6 个量来定义,通常是大地纬度、大地经度、原点高度、原点垂线偏差之两分量及原点至某点的大地方位角。


1.4 参心坐标系/地心坐标系

地心坐标系是以地球质心为原点建立的空间直角坐标系 XYZ,或以球心与地球质心重合的地球椭球面为基准面所建立的大地坐标系 BLH;参心坐标系是以参考椭球体的几何中心为原点的坐标系。

1.4.1 常见的坐标系-WGS 84 坐标系

  • 原点:地球质心。

  • Z 轴:BIH(1984.0)定义的地极(CTP)方向,即国际协议原点 CIO,它由 IAU 和 IUGG 共同推荐。

  • X 轴:指向 BIH 定义的零度(本初)子午面和 CTP 赤道的交点。

  • Y 轴:和 Z,X 轴构成右手坐标系。

  • WGS84 椭球体:国际大地测量与地球物理联合会第 17 届大会测量常数推荐值,长轴 6378137.000m,短轴 6356752.314,扁率 1/298.257223563。


1.4.2 北京 54/西安 80/GCJ2000

  • 北京 54:前苏联克拉索夫斯基椭球体,是前苏联 1942 坐标系的延伸,原点不在北京而是在前苏联的普尔科沃。

  • 西安 80:国际大地测量与地球物理联合会推荐值(IAG75 椭球体)。西安大地原点设在陕西省泾阳县永乐镇,位于西安市西北。1985 国家高程基准采用青岛验潮站 1952-1979 年确定的黄海平均海水面。

  • GCJ2000:地心坐标系在我国的具体体现,和 84 椭球体仅有 0.11mm 的误差。


2 如何定义二维地图

2.1 地图投影

利用一定数学法则把地球表面转换到平面上的理论和方法称为地图投影。由于地球表面是一个不可展平的曲面,所以运用任何数学方法进行投影转换都会产生误差和变形,为按照不同的需求缩小误差,就产生了各种投影方式,如圆柱投影、圆锥投影、等角投影、等面积投影、切投影、割投影等。


2.2 常见的几种投影方式

2.2.1 墨卡托/Web 墨卡托

一种正轴等角切圆柱投影。


  • 等角:保证对象形状不变以及方向位置正确。

  • 圆柱:保证纬线经线平行相互垂直且经线间隔相同。

  • 缺点:纬线间隔从赤道向两级逐渐增大,面积变形大。

  • Web 墨卡托:Google 首创,把地球模拟为球体而非椭球体,近似等角。


2.2.2 高斯投影/UTM 投影

两个投影很相似,高斯投影为等角横切椭圆柱投影,前苏联、中国和德国等所采用。UTM 投影(通用横轴墨卡托) 是一种等角横割椭圆柱投影,为世界上大部分国家采用。



3. 如何定义高精地图

相对于普通电子地图,高精地图采集方式发生了质的变化。从误差米级到厘米级能力提升主要源于高精采集车上更加丰富和立体的传感器设备,包括但不限于激光雷达、RTK、惯导、摄像机等,有能力反映更加精细的真实世界。


高精地图以采集车为基础,可以分为如下几个坐标系。

3.1 ECEF-地心地固坐标系

原点位于地球质心,z 轴沿着地轴指向北极,y 轴沿着赤道平面与格林威治子午面的交线上,y 轴在赤道平面与 x 轴 z 轴满足右手法则,该坐标系一般和 WGS84 坐标系相互转换,属于同一基准下不同表达。

3.2 东北天/当地水平坐标系

当地水平坐标系的原点位于载体所在的地球表面,x 轴和 y 轴在当地水平面内,分别指向东向和北向,z 轴垂直向上,与 x 轴 y 轴满足右手法则,称为东-北-天(e-n-u)坐标系,相对另一坐标系(北东地)。


3.3 车体坐标系

车体坐标系原点在载体质量中心与载体固链,x 轴沿载体轴指向右,y 轴指向前,z 轴和 xy 满足右手坐标法则指天,又称为右-前-上(r-f-u)坐标系


3.4 激光雷达坐标系

和选用雷达类型及安装方式有关,一般来说原点位于多线束旋转轴的交点处,z 轴沿着轴线向上,其测量的点坐标是在激光雷达坐标系下的三维坐标。雷达与载体固链,通过坐标系外参和车体姿态可以得到激光点的世界坐标系。

3.5 IMU 坐标系

IMU 坐标系的坐标原点在陀螺仪和加速度计的坐标原点,xyz 三个轴方向分别与陀螺仪和加速度计的对应轴向平行。在解算惯性导航系统中 IMU 与车体固链,因此在不考虑安装误差角的情况下,载体坐标系也即为 IMU 坐标系。

3.6 相机坐标系

以自己的光心为原点,xy 一般由相平面决定,x 朝右,y 轴朝下建立一个局部坐标系,一般与载体固链,通过外参进行刚性变化转换。

3.7 什么是右手坐标系

右手系(right-hand system)是在空间中规定直角坐标系的方法之一,两种定义方式:


a. 把右手放在原点的位置,使大姆指,食指和中指互成直角,把大姆指指向 x 轴的正方向,食指指向 y 轴的正方向时,中指所指的方向就是 z 轴的正方向。


b. 如果当右手(左手)的大拇指指向第一个坐标轴(x 轴)的正向,而其余手指以第二个轴(y 轴)绕第一轴转动的方向握紧,就与第三个轴(z 轴)重合,与之相反则为左手系。


4. 坐标系之间的转换

4.1 地学概念上的坐标转换

坐标系变换就是在相同空间点在不同椭球体下的不同坐标表达形式的数值换算,主要分为三种:


  • 大地坐标系与空间直角坐标系的相互转换(经纬度转 ECEF)。

  • 空间直角坐标系与站心坐标系的转换(ECEF 转工程)。

  • 大地坐标系与平面坐标系的转换(经纬度转投影坐标)

4.1.1 相同基准面下的变化-经纬度转笛卡尔坐标公式

相同基准下,将大地坐标系转换为空间直角坐标系的公式为


4.1.2 不同椭球体间的变化-布尔沙七参数模型

需要 7 个参数


  • 三个坐标平移量(△X,△Y,△Z),即两个空间坐标系的坐标原点之间坐标差值。

  • 三个坐标轴的旋转角度(△α,△β,△γ),通过按顺序旋转三个坐标轴指定角度,可以使两个空间直角坐标系的 XYZ 轴重合在一起。

  • 尺度因子 m,即两个空间坐标系内的同一段直线的长度比值,通常 m 值等于 1

4.2 三维空间变换相关的一些概念

4.2.1 欧拉角/欧拉旋转


旋转步骤:


  • 物体绕全局的 z 轴旋转α角。

  • 继续绕自己的 X 轴(也就是图中的 N 轴)旋转β角。

  • 最后绕自己的 Z 轴旋转γ角。


详细介绍:


https://www.matongxue.com/madocs/442.html

4.2.2 万向节死锁


沿着机身右方轴(X)进行旋转,称为 Pitch 俯仰。


沿着机头上方轴(Y)进行旋转,称为 Yaw 偏航。


沿着机头前方轴(Z)进行旋转,称为 Roll 桶滚。


详细介绍:


https://blog.csdn.net/AndrewFan/article/details/60981437#

4.2.3 旋转矩阵

任何维的旋转可以表述为向量与合适尺寸的方阵的乘积,最终一个旋转等价于在另一个不同坐标系下对点位置的重新表述。


推导过程:


https://blog.csdn.net/TOM_00001/article/details/62054572

4.2.4 旋转向量

向量旋转公式最早由 Rodrigues 提出,用一个三维向量来表示三维旋转变换,该向量的方向是旋转轴,其模则是旋转角度,设旋转向量的单位向量为 r,模为θ,三维点 p 在旋转向量 r 的作用下变换至 p′

4.2.5 四元数


四元数优势:


  • 解决万向节死锁(Gimbal Lock)问题。

  • 仅需存储 4 个浮点数,相比矩阵更加轻量。

  • 四元数无论是求逆、串联等操作相比矩阵更加高效。


相关资料


5. 坐标系转换关系

6.关于坐标系的一些周边

6.1 EPSG 欧洲石油测绘组织

European Petroleum Survey Group:成立于 1986 年,它负责维护并发布坐标参考系统的数据集参数,以及坐标转换描述,该数据集被广泛接受并使用,通过 Web 发布平台进行分发。


SRID:OGC 标准中空间参考系统的唯一 ID, https://spatialreference.org/

6.2 WGS 1984 Web Mercator

EPSG:3785 EPSG 在 2008 给 Web Mercator 设立的 WKID,但是这个坐标系的基准面是正圆球,不是 WGS 1984,存在了一段时间后被弃用。


EPSG:3857 EPSG 为 Web Wercator 最终设立的 WKID,也就是现在我们常用的 Web 地图的坐标系,并且给定官方命名 WGS 84 / Pseudo-Mercator


OPENLAYER:900913 Web Mercator 已经成为 Web 地图领域的事实标准,尽管这个坐标系由于精度问题一度得不到官方认证,Google 为 Web Mercator 任性地制定了这个 ID。

6.3 ProJ.4

Proj.4 是开源 GIS 最著名的地图投影库,许多开源软件的投影都直接使用了 Proj.4 的库文件。该项目遵循 MIT license,用 C 语言编写,由 USGS 的 Gerald I.Evenden 在 1980 年代创立并一直维护到退休,目前有 C、Java 、Python、JS 等多语言版本维护。功能主要有经纬度坐标与地理坐标的转换,坐标系的转换,包括基准变换等。

7. 参考资料


本文转载自公众号高德技术(ID:amap_tech)。


原文链接


漫话地图之高精地图生产中的坐标系


2020-10-30 10:082731

评论

发布
暂无评论
发现更多内容

年终总结:华为|字节|腾讯|京东|网易|滴滴面经分享(斩获6个offer)

Java架构之路

Java 程序员 架构 面试 编程语言

GraphX 在图数据库 Nebula Graph 的图计算实践

NebulaGraph

图数据库 图数据库实战

2020已过,2021来临,iOS 开发市场如何?一切都是未知!【未来可期】

ios 程序员

疫情成本遭不住?一招降本85%,架构特性全部公开!

数据君

这只猫在云端定居了?边缘计算在天猫精灵云应用上的落地实践

阿里云Edge Plus

CDN IoT 边缘计算 云桌面

十里选一终拿offer,准阿里java程序员分享面试经验!

Java架构之路

Java 程序员 架构 面试 编程语言

让机器人响应更快!阿里云 ARMS 助力深绘智能系统响应时长缩短50%

阿里巴巴中间件

架构师 3 期 3 班 -week10- 作业

zbest

作业 week10

LeetCode题解:69. x 的平方根,二分查找,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

点赞系统软件开发

luluhulian

List去除重复数据的五种方式

xcbeyond

Java ArrayList 28天写作

云话题 | 第3期 你女朋友在买买买时,程序员小哥在干嘛?

阿里云Edge Plus

CDN 直播 直播带货

【内含福利】流行在CDN圈内的黑话有哪些?

阿里云Edge Plus

CDN

如何避免让微服务测试成为研发团队最大的瓶颈?

阿里巴巴中间件

万字长文详细总结!关于继承、重写与重载、封装、接口的硬核干货

codevald

Java 接口 封装、继承、多态 类对象

CodeDay#5 全程回顾——一场关于动态化开发实践的技术探讨

蚂蚁集团移动开发平台 mPaaS

mPaaS Codeday 技术沙龙

字节面试太刁钻了:不加机器,怎么提升系统并发100倍

Java架构师迁哥

new的过程是怎样的?看完这一篇就懂了

codevald

Java JVM原理 面向对象编程 类对象

爱奇艺率先上线CUVA HDR标准内容,将多端支持该标准2021央视春晚直播、点播

爱奇艺技术产品团队

Elasticsearch 从 0 到千万级数据查询实践

📿

Java spring elasticsearch Spring Cloud spring data

滴滴 Flink-1.10 升级之路

Apache Flink

flink

2020-21《全球质量报告》解读

BY林子

质量保障 质量赋能 敏捷测试

技术方案设计的方法论及案例分享

阿里巴巴云原生

数据库 流计算 云原生 监控 存储

Linux-Lab 入门:体验

贾献华

Docker Linux 嵌入式 内核 Lab

云讲堂 | 5期视频带你全面了解滴滴Logi-KafkaManager

滴滴云

kafka 运维 监控 滴滴Logi

Docker开启Remote API 访问 2375端口

wjchenge

Docker 2375端口

疫情又反扑,除了不乱跑,我们还能干点啥?

数据君

满满的干货!阿里开源Java程序员2021年金三银四面试指南

Java架构之路

Java 程序员 架构 面试 编程语言

MySQL之父,MySQL官方,三大顶会齐赞,凭什么?

数据君

教你10分钟解决短信验证码接口被盗刷、轰炸、恶意点击等问题。

香芋味的猫丶

短信防刷 短信验证码 短信防轰炸 短信防火墙

Varchar竟然会自动存储成lob类型?

dbaplus社群

漫话地图之高精地图生产中的坐标系_开源_高德技术_InfoQ精选文章