【cesium-4】cesium空间数据加载与管理

目录

一、cesium空间数据加载 

1、cesium画线

2、cesium绘制矩形

3、cesium绘制平面 

4、飞机模型加载

5、标签加载

6、cesium绘制多边形

二、cesium空间数据管理


一、cesium空间数据加载 

空间数据包括:
矢量数据:几何体、模型、标签等;
栅格数据:地形、地图等。

1、cesium画线

var viewer = new Cesium.Viewer('cesiumContainer', {animation: false,timeline: false});var positions = [];
for (var i = 0; i < 40; ++i) {positions.push(Cesium.Cartesian3.fromDegrees(-100.0 + i, 15.0));
}
const entity = viewer.entities.add({polyline: {positions: positions,width: 10.0,material: new Cesium.PolylineGlowMaterialProperty({color: Cesium.Color.DEEPSKYBLUE,glowPower: 0.25,}),},
});

2、cesium绘制矩形

var viewer = new Cesium.Viewer('cesiumContainer', {animation: false,timeline: false
});var position = new Cesium.Cartesian3.fromDegrees(116.39, 38.9, 0.0);const entity = viewer.entities.add({position:position,rectangle: {coordinates: Cesium.Rectangle.fromDegrees(-92.0, 20.0, -86.0, 27.0),//outline: true,outlineColor: Cesium.Color.WHITE,outlineWidth: 4,stRotation: Cesium.Math.toRadians(45),material: Cesium.Color.RED.withAlpha(0.5),},
});viewer.trackedEntity = entity;

3、cesium绘制平面 

var viewer = new Cesium.Viewer('cesiumContainer', {animation: false,timeline: false
});var position = new Cesium.Cartesian3.fromDegrees(116.39, 38.9, 0.0);
const entity = viewer.entities.add({position: position,plane: {plane: new Cesium.Plane(Cesium.Cartesian3.UNIT_Z, 0.0),dimensions: new Cesium.Cartesian2(400, 300),material: Cesium.Color.RED.withAlpha(0.5),outline: true,outlineColor: Cesium.Color.BLACK},
}) 
viewer.trackedEntity = entity;  //将摄像机视口快速绑定到模型位置 

将图片插入面中:修改material属性值。

material: "../testdata/test.png",

将图片竖起来:修改plane值。

plane: new Cesium.Plane(Cesium.Cartesian3.UNIT_X, 0.0),

4、飞机模型加载

Cesium.Ion.defaultAccessToken = '';var viewer = new Cesium.Viewer('cesiumContainer', {animation: false,timeline: false
});var position = new Cesium.Cartesian3.fromDegrees(116.39, 38.9, 400.0);//glb模型的加载
var orientation = Cesium.Transforms.headingPitchRollQuaternion(position, new Cesium.HeadingPitchRoll(-90,0,0));
var entity = viewer.entities.add({position:position,orientation:orientation,  //设置飞机的朝向和翻滚角度model:{uri:"../testdata/Cesium_Air.glb",minimumPixelSize:100,maximumScale:10000,show:true}
});
viewer.trackedEntity = entity;  //将摄像机视口快速绑定到模型位置

5、标签加载

将文字加载到标签中,通过cesium生成的标签,无论如何旋转视角,文字都是朝向屏幕的

var viewer = new Cesium.Viewer('cesiumContainer', {animation: false,timeline: false
});//对齐和缩放也不会影响文字的大小
const entity = viewer.entities.add({position: new Cesium.Cartesian3.fromDegrees(116.39, 39.915, 0),label: {text: "cesium学习",  //设置文字内容font: "50px Helvetica",  //设置文字大小和样式fillColor: Cesium.Color.SKYBLUE,  //设置文字的颜色},
}) 
viewer.trackedEntity = entity;  //将摄像机视口快速绑定到模型位置 

6、cesium绘制多边形

var viewer = new Cesium.Viewer('cesiumContainer', {animation: false,timeline: false
});  
var position = new Cesium.Cartesian3.fromDegrees(116.39, 38.9, 0.0);
var entity = viewer.entities.add({position: position,polygon: {hierarchy: Cesium.Cartesian3.fromDegreesArray([116.39,39.91,116.39,39.915,116.395,39.91]),material:Cesium.Color.PURPLE,extrudedHeight:10}
}) 
viewer.trackedEntity = entity;  //将摄像机视口快速绑定到模型位置 

通过设置extrudedHeight属性值,可对多边形进行拉伸,如果创建的是plane,则不可进行拉伸。

二、cesium空间数据管理

空间数据的管理包括增、删、改。

增加:add();

删除:remove();

全部删除:removeAll();

修改:getById()。

var viewer = new Cesium.Viewer('cesiumContainer', {animation: false,timeline: false
});  
var position = new Cesium.Cartesian3.fromDegrees(116.39, 38.9, 0.0);
var entity = viewer.entities.add({id:'BlueModel',position: position,polygon: {hierarchy: Cesium.Cartesian3.fromDegreesArray([116.39,39.91,116.39,39.915,116.395,39.91]),material:Cesium.Color.PURPLE,extrudedHeight:10}
}) 
viewer.trackedEntity = entity;  //将摄像机视口快速绑定到模型位置 
viewer.entities.getById('BlueModel').polygon.material = Cesium.Color.RED;  

参考链接 【Cesium】绘制线、面、体_cesium 绘制-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/224817.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用支付宝沙箱环境支付并公网调用sdk创建支付单服务

文章目录 1.测试环境2.本地配置2. 内网穿透2.1 下载安装cpolar内网穿透2.2 创建隧道3. 测试公网访问4. 配置固定二级子域名4.1 保留一个二级子域名4.2 配置二级子域名5. 使用固定二级子域名进行访问 1.测试环境 MavenSpring bootJdk 1.8 2.本地配置 获取支付宝支付Java SDK,…

单片机第三季-第七课:STM32中断体系

目录 1&#xff0c;NVIC 2&#xff0c;中断和事件的区别 3&#xff0c;优先级的概念 4&#xff0c;如何实际编程使用外部中断 5&#xff0c;STM32开发板通过按键控制LED 5.1&#xff0c;打开相应GPIO模块时钟 5.2&#xff0c;NVIC设置 5.3&#xff0c;外部中断线和配套…

【网络奇缘】——奈氏准则和香农定理从理论到实践一站式服务|计算机网络

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 失真 - 信号的变化 影响信号失真的因素&#xff1a; ​编辑 失真的一种现象&#xff1a;码间…

udp多播/组播那些事

多播与组播 多播&#xff08;multicast&#xff09;和组播&#xff08;groupcast&#xff09;是相同的概念&#xff0c;用于描述在网络中一对多的通信方式。在网络通信中&#xff0c;单播&#xff08;unicast&#xff09;是一对一的通信方式&#xff0c;广播&#xff08;broad…

Azure Machine Learning - Azure OpenAI GPT 3.5 Turbo 微调教程

本教程将引导你在Azure平台完成对 gpt-35-turbo-0613 模型的微调。 关注TechLead&#xff0c;分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验&#xff0c;同济本复旦硕&#xff0c;复旦机器人智能实验室成员&#xff0c;阿里云认证的资深架构师&…

使用travelbook架设自己的实时位置共享服务

travelbook 是一款开源的安卓APP&#xff0c;它能以低功耗提供实时位置共享&#xff0c;它包含功能如下&#xff1a; 好友之间分享实时位置&#xff1b;记录行程轨迹&#xff1b;标记收藏地点&#xff1b; 这款软件的主要解决的问题包括&#xff1a; 场景1&#xff1a;查看老…

云原生系列3-Kubernetes

1、Kubernetes概述 k8s缩写是因为k和s之间有八个字符。k8s是基于容器技术的分布式架构方案。官网&#xff1a;https://kubernetes.io/zh-cn/ Google在 2014年开源了Kubernetes项目&#xff0c;Kubernetes是一个用于自动化部署、扩展和管理容器化应用程序的开源系统。同样类似的…

智能优化算法应用:基于原子轨道搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于原子轨道搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于原子轨道搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.原子轨道搜索算法4.实验参数设定…

uniapp在中app,登录页能记住多个账号以及密码功能完整代码

如图所示&#x1f447;&#xff1a; 1.可以选择下拉&#xff0c;选取曾经登录成功的账户&#x1f447; 2.选择好下拉后自动赋值&#xff0c;账号密码。 3.勾选记住我则记住该账户以及密码 4.选择下拉后&#xff0c;点选删除账户&#xff0c;则删除 <template><view…

【数据结构和算法】找到最高海拔

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 前缀和的解题模板 2.1.1 最长递增子序列长度 2.1.2 寻找数组中第 k 大的元素 2.1.3 最长公共子序列…

设计模式 建造者模式 与 Spring Bean建造者 BeanDefinitionBuilder 源码与应用

建造者模式 定义: 将一个复杂对象的构建与它的表示分离&#xff0c;使得同样的构建过程可以创建不同的表示主要作用: 在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象如何使用: 用户只需要给出指定复杂对象的类型和内容, 建造者模式负责按顺序创建复杂对象…

ZooKeeper Client API 安装及使用指北

下载 wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.4-beta/zookeeper-3.5.4-beta.tar.gz解压 tar -zxf zookeeper-3.5.4-beta.tar.gz安装 cd zookeeper-3.5.4-beta/src/c/ ./configure make sudo make install到 make 这一步大概率会出现报错&#xff1a;…

几种串口扩展电路

一、IIC串口扩展电路 LCT200 是一款可以通过 I2C 接口通讯&#xff0c;拓展 2 路独立串口的通讯芯片&#xff0c;同时也支持通过 2 路串口读写 I2C 接口的数据。LCT200 的封装为 TSSOP-20。 主要功能&#xff1a;⚫ 通过对 I2C 接口读写实现拓展 2 路独立串口功能 ⚫ 通过读写…

计算机毕业设计 基于SpringBoot的高校宣讲会管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

手把手从0开始SpringBoot多模块项目搭建

最近起个小项目&#xff0c;用多模块搭建一下&#xff0c;顺便记录分享 1.创建父工程 通过Spring Lnitalizer创建&#xff0c; 我这里使用的是 springboot 2.7.3 jdk11 创建好后删除刚创建工程里不需要的文件&#xff0c; 只保留&#xff1a;.idea 文件夹 、项目 pom 文件、…

微服务概念

1.什么是微服务&#xff1f; 顾名思义&#xff0c;是一个微小的服务&#xff0c;为什么会说是“ 微 ” 呢&#xff1f; 意思整个服务的是比较微小的&#xff0c;是一个独立的业务模块&#xff0c;专做改业务的事情&#xff0c;是一个独立的功能单元。 一种独特的架构设计模式&…

【python】python课设 天气预测数据分析及可视化(完整源码)

目录 1. 前言2. 项目结构3. 详细介绍3.1 main.py3.2 GetModel.py3.3 GetData.py3.4 ProcessData.py3.5天气网.html 4. 成果展示 1. 前言 本文介绍了天气预测数据分析及可视化的实现过程使用joblib导入模型和自定义模块GetModel获取模型&#xff0c;输出模型的MAE。使用pyechart…

Java基于TCP网络编程的群聊功能

服务端 import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; import java.util.List;public class Server2 {public static List<Socket> onlineList new ArrayList<>();public static void main(String[] args) throws Except…

格密码:傅里叶矩阵

目录 一. 铺垫性介绍 1.1 傅里叶级数 1.2 傅里叶矩阵的来源 二. 格基与傅里叶矩阵 2.1 傅里叶矩阵详细解释 2.2 格基与傅里叶矩阵 写在前面&#xff1a;有关傅里叶变换的解释太多了&#xff0c;这篇博客主要总结傅里叶矩阵在格密码中的运用。对于有一定傅里叶变换基础的同…

Android/iOS APP备案流程指南

Android/iOS APP备案流程指南 摘要 本文通过详细介绍了工信部对移动互联网应用程序&#xff08;APP&#xff09;备案的要求&#xff0c;解释了APP备案的定义、时间节点、办理流程以及腾讯云、阿里云的备案流程&#xff0c;最后提供了常见问题的解答。 引言 随着移动互联网的…