热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SuperMapiClient3DforWebGL教程(地形篇)EllipsoidTerrainProvider

作者:为梦齐舞本文同步更新于简书文章https:www.jianshu.compb8934d5186ed一、EllipsoidTerrainProvider介绍Ell

作者:为梦齐舞

本文同步更新于简书文章https://www.jianshu.com/p/b8934d5186ed
一、EllipsoidTerrainProvider介绍
EllipsoidTerrainProvider是WebGL中最简单的一种地形,当我们初始化一个三维球时,Globe默认会加载一层地形,这个默认的地形就是本文的主角EllipsoidTerrainProvider。
EllipsoidTerrainProvider其实就是地形高度全是0的地形图层,不支持水面,不支持法向量,下图中可以看到水面和法向量实现中直接返回的false
水面和法向量实现
EllipsoidTerrainProvider如果没有特意指定的情况下,默认采用WGS84坐标系。实现方法是以高度图的方法进行实现的,默认网格大小16*16
网格实现
二、构造EllipsoidTerrainProvider
首先我们来看下构造参数,只有两个tilingScheme和ellipsoid:
1、tilingScheme如果不进行指定的话,默认使用GeographicTilingScheme,而GeographicTilingScheme的默认参考椭球是Ellipsoid.WGS84。
2、ellipsoid,如果指定了tilingScheme,则ellipsoid无效,如果未指定任何参数,则使用WGS84椭圆体
构造参数
接下来看下EllipsoidTerrainProvider的属性
1、hasVertexNormals:法向量,上面已经提过了,EllipsoidTerrainProvider不支持。
2、hasWaterMask:水纹,和hasVertexNormals一样也不支持。
3、isCreateSkirt:是否创建裙边,这个参数是为了避免Tile之间的缝隙,每一个Tile四周会围成一个栅栏,指定该栅栏的高度,保证和相邻的Tile拼接时没有间隙。
常用的参数大致就是这些。
三、实战EllipsoidTerrainProvider
1、创建的viewer时,我们可以看下已经默认自动添加了一个EllipsoidTerrainProvider
viewer默认添加
当然如果你希望代码实现一把,也是没有问题的,另外这两句代码也可以用于移除当前添加的地形,就是让它重回默认值。

var terrainProvider=new Cesium.EllipsoidTerrainProvider();
viewer.terrainProvider=terrainProvider;

2、修改EllipsoidTerrainProvider为墨卡托投影,这样如果添加的影像切片为墨卡托时,地形的TileScheme和影像的保持一致,就不再需要去转换影像的坐标进行渲染,性能会更好,代码如下:

var terrainProvider=new Cesium.EllipsoidTerrainProvider({tilingScheme:new Cesium.WebMercatorTilingScheme()});
viewer.terrainProvider=terrainProvider;

可以对比默认添加的,这里的TileScheme已经变为墨卡托了
墨卡托投影


推荐阅读
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文比较了eBPF和WebAssembly作为云原生VM的特点和应用领域。eBPF作为运行在Linux内核中的轻量级代码执行沙箱,适用于网络或安全相关的任务;而WebAssembly作为图灵完备的语言,在商业应用中具有优势。同时,介绍了WebAssembly在Linux内核中运行的尝试以及基于LLVM的云原生WebAssembly编译器WasmEdge Runtime的案例,展示了WebAssembly作为原生应用程序的潜力。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
author-avatar
奶油晓生2502876643
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有