博客
关于我
闲聊三维WebGIS中的坐标系
阅读量:444 次
发布时间:2019-03-06

本文共 986 字,大约阅读时间需要 3 分钟。

转载请带原出处~全网@秋意正寒 如有错误请指出~

ArcGIS jsAPI

if 投影坐标系

原点在地表(严格来说是椭球面上),y一般朝北,x一般朝东,z一般是地心到原点的向量方向,可以粗略认为是地球表面的一个空间直角局部坐标系。

if 地理坐标系

地理坐标,虽然可以认为是球面坐标系统引申而来,但是将地球展平来看,地理坐标还是二维的。

z只不过是某个坐标点的地面高度(严格来说是相对椭球面)。

Cesium

严格来说,Cesium仅支持一个坐标系:空间直角坐标系,地心为原点,度量衡是米。

Cesium默认的坐标系在 EPSG 是有定义的,WKID是4979,不难得知其地理坐标参考椭球是WGS84

但是,Cesium支持自己new 一个椭球对象作为基础框架,所以椭球是可以自己定义的。

区别

最大的区别就是坐标系的原点,以人的习惯来说,ArcGIS的做法更接近直观。

所以,Cesium中几何体在地球表面的移动,都得经过地心为坐标原点的这个空间直角坐标系的计算,显得比较麻烦。

三维坐标系

可以粗略认为,三维坐标系的定义是由原点、三个方向+单位长度来定义的(精确定义见线性代数)。

椭球体不能叫坐标系,仅仅定义了形状。

WGS84是椭球,WGS84坐标系,或者严格一点,WKID=4326坐标系实际上仍是个二维坐标系,其原点是 经纬度 (0,0),y轴朝正北,x轴朝东,没有高程定义。

我们看到WKID=4979这个坐标系,它不严格说也可以叫 WGS84坐标系,但是,它的原点是在地心,并且指明了三轴朝向,是一个完整的三维坐标系。它的形状由WGS84椭球定义。

XIAN80是二维坐标系,它的地球形状由IAG75椭球体定义,它的原点位于中国陕西西安,正北为y,正东为x,其本身没有z轴的定义。

同理,WKID=4490,即我们熟悉的CGCS2000经纬度,实际上也是二维坐标系,但是官方说 CGCS2000 是三维坐标系,严格来说,是指 CGCS2000 椭球是三维坐标系的基础。

海拔

有人会说,海拔呢?有海拔不就是三维了吗?

还记得坐标系是怎么定义的吗?三个轴朝向+单位长度+坐标原点,海拔的定义是地面高度,其原点与每个点有关...

但是,硬要说原点那一点的地表垂直向上为z轴也不是不可以,但是这默认就做了投影变换,坐标系已经改变了(投影变换后坐标轴定义是要变的)

你可能感兴趣的文章
NN&DL4.3 Getting your matrix dimensions right
查看>>
NN&DL4.7 Parameters vs Hyperparameters
查看>>
NN&DL4.8 What does this have to do with the brain?
查看>>
nnU-Net 终极指南
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
NO 157 去掉禅道访问地址中的zentao
查看>>
no available service ‘default‘ found, please make sure registry config corre seata
查看>>
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
查看>>
no connection could be made because the target machine actively refused it.问题解决
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named 'pandads'
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>