使用Cesium做三维特别是房屋白模啥的,通常会用3DTiles,这种情况我通常用FME来生成,不管我的数据是什么坐标系,他都会自己处理好坐标系的问题。直到我需添加单个房屋模型时,glb模型文件就成了比较好的选择,但是在加的过程中遇到了很多问题,特别是建模的时候基础线框使用了比较通用的墨卡托投影坐标系的数据导致模型大小不对的问题,亏自己搞了十年GIS了,刚遇到的时候竟然没意识到这个问题,真是蠢透了。

Cesium的三维空间坐标系

首先记录一个跟标题没啥关系,但也是加载过程中遇到的问题。这跟Cesium的三维空间坐标轴有关,Cesium的三维空间坐标系是这样的

但是建模软件,比如我用的Sketchup Pro的坐标轴却有所不同,蓝色是Z轴,红色是X轴,绿色是Y轴。

跟Cesium坐标轴相比,Sketchup的X轴和Y轴都得顺时针转个90°,因此导出的模型也会有差别,不同的建模软件可能会不同,记录这个事情就行。

墨卡托投影的变形

其实说明标题的问题很简单,因为墨卡托坐标系在长度上是会有变形的,越靠近赤道变形越少,越靠近两极变化越大

有大佬做了一个演示摩卡他投影的小游戏,下面也贴了游戏的演示动画。可以理解成有一个内切地球的圆柱,地球中心放一盏灯,将地球投影到圆柱上。

通过演示可以看出,周长为2πR的球,投影出来的地图是一个变成变成为2πR的正方形。在赤道,长度为2πR投影距离也是2πR,实际长度和投影长度的比是1,没有变形,实际上我在想到这个问题之后真的跑去osm下了一点印度尼西亚的数据试了下。在维度为ϕ的地方,纬线周长为2πR*cos(ϕ),投影长度仍然是2πR,实际长度和投影长度的比是cos(ϕ)。

如果已经用墨卡托投影做了很多模型,在Cesium里面也不是不能用,根据模型所在的维度将变换比例算出来然后还原即可,不过得注意,高度不能还原。

高斯-克吕格投影的变形

不能用墨卡托投影,再一个比较常用的就是高斯-克吕格投影了,其实高斯投影与墨卡托投影类似,是一种横轴墨卡托投影。不同之处在于高斯-克吕格的圆柱体沿经线而不是赤道接触球体或椭圆体,且只正投影中央经线两侧一定范围的椭球面。

高斯-克吕格投影的中央经线无变形,自中央经线向投影带边缘,变形逐渐增加,变形最大之处在投影带内赤道的两端。
其变形公式为:

μ=1+1/2λ2cos2(1+η2)+1/24λ2cos2ϕ(5−4tan2ϕ)+...μ = 1+ 1/2λ^2cos^2(1+η^2) + 1/24λ^2cos^2ϕ(5-4tan^2ϕ)+...μ=1+1/2λ2cos2(1+η2)+1/24λ2cos2ϕ(5−4tan2ϕ)+...

其中μ是长度比,ϕ是纬度,λ是经度与中央经线经度差,η=e′cosϕη=e'cosϕη=e′cosϕ,嗯,算起来挺麻烦的,好在查论文查到了别人算的数据

可以看到,高斯-克吕格投影的长度和面积变形是很小的,到房屋模型这么大的比例尺,用三度带,最大经差1.5°,我国最南端北纬20°左右,变形量千分之三左右。

总结

三维GIS建模的时候不要随便使用墨卡托投影,除非在赤道附近,可以使用高斯-克吕格投影,我试验下来的效果也很好。

三维GIS建模不要用墨卡托投影相关推荐

  1. 3DMAX在三维GIS建模中的应用与优化

    3DMAX在三维GIS建模中的应用与优化 黄名华 (广西基础地理信息中心 广西南宁 530023) [摘 要] 将一个城市或某一区域的地理空间数据制作成三维的可视化地理信息系统,在当今有着非常重要的现 ...

  2. 电子沙盘数字沙盘M3D GIS虚拟三维大数据人工智能无人机倾斜摄影三维全景建模课程第47课

    电子沙盘数字沙盘M3D GIS虚拟三维大数据人工智能无人机倾斜摄影三维全景建模课程第47课 设置system.ini 如下内容 Server=122.112.229.220 user=GisTest ...

  3. 从事GIS开发多年,2017年对GIS行业的心得,尤其对三维GIS的理解

    个人群号 309141738 本人从事GIS方面开发六年了,但是一开始大学并未学的是GIS方面的专业,本人学习的专业叫对日软件开发,呵呵...很新颖的一个名字把,没错,本来想着毕业后去日本从事软件开发 ...

  4. 基于TerraDeveloper的三维GIS开发研究

    [中文题名]  基于TerraDeveloper的三维GIS开发研究 [英文题名]  Research on the Development of 3D GIS Based on TerraDevel ...

  5. 超图三维GIS开发概念学习

    1 二三维一体化 所谓三维是指三维地理空间和基于地理球面或椭球面的二维地图空间. 三维 GIS 指的是以三维地理空间和基于地理球面或椭球面二维地图空间为基础的 GIS. 三维 GIS 在展示效果和分析 ...

  6. gis环境设置在哪_三维GIS平台的可视化应用 (下)

    上一篇主要对三维GIS的基础数据和三维模型进行了一点说明,本篇将接着聊剩下的部分,主要是三维GIS平台能够支持什么样的场景展示,并来对平台的应用进行一些介绍. 没看过上篇的朋友可以先了解一下再看本篇: ...

  7. osg 三维gis开发_三维GIS平台的可视化应用 (下)

    上一篇主要对三维GIS的基础数据和三维模型进行了一点说明,本篇将接着聊剩下的部分,主要是三维GIS平台能够支持什么样的场景展示,并来对平台的应用进行一些介绍. 没看过上篇的朋友可以先了解一下再看本篇: ...

  8. 《流浪地球》地下城怎么建?三维地学建模探秘地下空间

    "上天.入地.下海"是人类畅想科技发展的主题,众多科幻小说.电影都描摹了未来奇妙的地下世界.在电影<流浪地球>中,随着地球自转停止.太阳远离,地表环境恶化,人类只得居住 ...

  9. 空间分析建模目的_房产测绘与二三维一体化建模研究——以连云港市为例

    王玉振丨连云港市住房局信息管理中心 连云港市早期测绘资料以手工编制和管理为主,2002年开始应用CAD技术,但其管理和利用程度仍较为低下,其图形数据无法应用到房产信息系统中,无法做到以图管房,无法真正 ...

最新文章

  1. 记一次简单的 JVM 调优经历
  2. 神器推荐,可视化 Python 打包 exe,牛逼
  3. 庖丁解牛剖析国际学术论文写作的快速入门
  4. OpenCV 计算物体的凸包
  5. wsl ubuntu 版本_让Ubuntu滚动更新
  6. linux嵌入式开发流程,听听牛人怎么说
  7. android 拦截外拨电话,Android拦截外拨电话程序示例
  8. C语言文件打开方式及说明
  9. Magento布局layout.xml文件详解
  10. 一边撸猫一边写代码,Linus Torvalds 谈在家办公
  11. Tip:创建SCOM 2012 R2报表服务器时的报错
  12. Visual C# 2005——超好用的DropDown与DropDownClosed事件
  13. Android studio xpose的使用
  14. html 横屏滚动字幕,手机知识:手机横屏滚动字幕
  15. MarkDown - Latex符号(箭头)的整理
  16. 读《天才在左,疯子在右》01--偷取时间
  17. 使用python创建NBA Shotchart
  18. 人脸识别与美颜算法实战-图像特效
  19. 任务调度系统-业务线资源隔离
  20. 宇视科技线上c语言笔试答案,宇视科技2016招聘试题.docx

热门文章

  1. 自顶向下 谢希仁计算机网络第七版课后答案
  2. java aes128加密解密_java AES 128 位加密解密算法
  3. 动态规划解决数字三角形
  4. 使用codeblock开发图形化游戏
  5. 栈的压入及弹出序列(C++)
  6. 基于Qt的实时温度传输系统
  7. 微服务电商实战(九)注册接口(dto+jpa+mysql+redis)
  8. 哈工程计算机学院论文造假,《河南工程学院本科毕业论文(设计)学术不端行为检测及处理规定》的规定...
  9. Mybatis 传入数组参数
  10. HTML5初学-第五天-作业及知识点总结