Cesium专栏-terrain地形、3dtiles模型、gltf模型 高度采样
在Cesium中,对于terrain地形、3dtiles模型、gltf模型的高度采样是一个很基本的功能,基于此,可以做一些深度应用,而Cesium已经帮我们提供了相应的API,在这里,我帮大家总结一下,如果遇到了,可以当做帮助文档随时浏览。
terrain地形 高度采样(API: Cesium.sampleTerrainMostDetailed)
通过两点决定一条直线,求取这条直线在地表高度
- var start = Cesium.Cartesian3.fromDegrees(114, 30);
- var end = Cesium.Cartesian3.fromDegrees(115, 30);
- var positions = [Cesium.Cartographic.fromCartesian(start)];
- // 插值100个点(自定义)
- var count = 100;
- for (var i = 1; i < count; i++) {
- var cart = Cesium.Cartesian3.lerp(start, end, i / count, new Cesium.Cartesian3());
- positions.push(Cesium.Cartographic.fromCartesian(cart));
- }
- positions.push(Cesium.Cartographic.fromCartesian(end));
- var promise = Cesium.sampleTerrainMostDetailed(terrainProvider, positions);
- Cesium.when(promise, function (updatedPositions) {
- // 每个点的高度
- var height = [];
- for (var i = 0; i < updatedPositions.length; i++) {
- height.push(updatedPositions[i].height);
- }
- }

3dtiles模型 高度采样(API: Scene.clampToHeightMostDetailed)
- var start = new Cesium.Cartesian3(1216467.760147752, -4736154.3567799, 4081478.9167016773);
- var end = new Cesium.Cartesian3(1216183.8039071201, -4736456.592237458, 4081200.6372076278);
- // 插值100个点
- var count = 100;
- var positions = [];
- for (var i = 0; i <= count; i++) {
- positions.push(Cesium.Cartesian3.lerp(start , end , i / count, new Cesium.Cartesian3()));
- }
- scene.clampToHeightMostDetailed(positions).then(function (clampedCartesians) {
- // 每个点的高度
- var height = [];
- for (var i = 0; i < count; ++i) {
- height.push(Cesium.Cartographic.fromCartesian(clampedCartesians[i]).height);
- }
- }

gltf模型 高度采样(API: Scene.sampleHeightMostDetailed)
更多详情见下面链接文章:
Cesium专栏-terrain地形、3dtiles模型、gltf模型 高度采样
对本专栏感兴趣的话,可以关注一波
Cesium专栏-terrain地形、3dtiles模型、gltf模型 高度采样的更多相关文章
- Cesium 生成terrain地形数据----CTB方式及步骤
背景:项目前端使用Cesium,地形服务一直使用外网的,常常因为翻墙访问的问题,导致地形数据取不到,进而导致地球不能加载,故决定搭建自己的地形服务,彻底解决这个问题.博文包含以下几个过程: 下载原始地 ...
- cesium加载gltf模型点击以及列表点击定位弹窗
前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 之 ...
- Cesium 加载 gltf 模型
var viewer = new Cesium.Viewer('cesiumContainer', { /*帮助*/ navigationHelpButton: true, baseLayerPick ...
- cesium加载gltf模型
cesium加载gltf模型 一.采用vue-cesium:在项目里加载依赖包.命令如下: npm i --save vue-cesium 在main.js中加入如下代码: https://www.n ...
- Cesium专栏-大量gltf三维模型加载
Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以 ...
- Cesium专栏-地形开挖2-任意多边形开挖(附源码下载)
“任意多边形地形开挖” 是“地形开挖”的补充篇,在这节里,我们介绍关于如何使用任意多边形对地形进行开挖,同时,由于有不少小伙伴也咨询了关于“地形开挖”篇后序内容中的填充地形的效果,之前没放出来,是想让 ...
- GLTF模型查看器---优化器【转】
https://blog.csdn.net/weixin_43081805/article/details/88743277 Clay Viewer(我只想说好用,直接可以导出gltf的二进制glb格 ...
- vue中加载three.js的gltf模型
vue中加载three.js的gltf模型 一.开始引入three.js相关插件.首先利用淘宝镜像,操作命令为: cnpm install three //npm install three也行 二. ...
- 【百奥云GS专栏】全基因组选择之模型篇
目录 1. 前言 2. BLUP方法 ABLUP GBLUP ssGBLUP RRBLUP 3. 贝叶斯方法 BayesA BayesB BayesC/Cπ/Dπ Bayesian Lasso 4. ...
随机推荐
- JNI教程与技术手册
转载请标明出处:http://blog.csdn.net/shensky711/article/details/52806794 本文出自: [HansChen的博客] 概述 对于JNI,有些童鞋在没 ...
- 同步工具类 CountDownLatch 和 CyclicBarrier
在开发中,一些异步操作会明显加快执行速度带来更好的体验,但同时也增加了开发的复杂度,想了用好多线程,就必须从这些方面去了解 线程的 wait() notify() notifyall() 方法 线程异 ...
- Vue项目功能插件
项目功能插件 vue-router { path: '/', name: 'home', // 路由的重定向 redirect: '/home' } { // 一级路由, 在根组件中被渲染, 替换根组 ...
- C# 轮流展示照片
代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; u ...
- 洛谷上的C语言三连击。
注意看题目,没有0,一直错. #include<stdio.h> int panduan1(int num1,int num2, int num3); int main(){ int i, ...
- 链表-C语言实现
链式存储线性表的结构体: typedef int ElemType; //元素类型 typedef struct Node //链表结构体 { ElemType date; //链表结点数据域 str ...
- Cannot read property 'nodeType' of null; audio元素默认样式下载按钮
1.chrome-->console抛出如下错误: Uncaught TypeError: Cannot read property 'nodeType' of null 错误原因:从stack ...
- 17.Django学习之django自带的contentType表
通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/aaronthon/article/details/81714496 ...
- 设计模式GOF23(行为型模式)
场景: – 公司里面,报销个单据需要经过流程: • 申请人填单申请,申请给经理 • 小于1000,经理审查. • 超过1000,交给总经理审批. • 总经理审批通过 – 公司里面,请假条的审批过程: ...
- JavaScript基础4
数组 创建数组 A.通过构造函数创建数组 * a): var arr=new Array();//定义一个空数组,无长度的空数组. * b):var arr1=new Array(num); * 当 ...