Cesium 使用 Entity 绘制点线面

news2025/1/20 1:49:32

文章目录

    • 一、绘制点
      • 1. 第一种
      • 2. 第二种
    • 二、绘制面
    • 三、绘制线
    • 四、移除 Entity

<!--
 * @Author: HuKang
 * @Date: 2023-08-18 11:06:43
 * @LastEditTime: 2023-08-25 09:16:59
 * @LastEditors: HuKang
 * @Description: program-c
 * @FilePath: \global-data-display\src\views\program-c\index.vue
-->
<template>
  <div>
    <div id="cesiumContainer"></div>
  </div>
</template>

<script setup lang="ts">
import * as Cesium from "cesium";
import { Viewer } from "cesium";
import cesium from "vite-plugin-cesium";
import { getSatellitecloudApi, getGenerateGridApi } from "@/api/servies";

import { onMounted } from "vue";
import TOKEN from "@/utils/Tooken";

/**
 * Cesium
 */
// Token 设置
Cesium.Ion.defaultAccessToken = TOKEN;
}
// Viewer
const viewer = ref();
/**
 * 初始化函数
 */
const initViewer = () => {
  viewer.value = new Cesium.Viewer("cesiumContainer", {
    infoBox: false,
  });

  // 去除版权信息
  viewer.value.cesiumWidget.creditContainer.style.display = "none";

  // 增加太阳光效果
  // viewer.value.scene.globe.enableLighting = true;

  // 控制视角不转到底下
  viewer.value.scene.globe.depthTestAgainstTerrain = true;

  // 增加瓦片-海图数据
  const imageryProvider = new Cesium.UrlTemplateImageryProvider({
    url: "cesium-api/map/getMap/{x}/{y}/{z}.png",
    credit: "mapname",
    tilingScheme: new Cesium.GeographicTilingScheme({
      ellipsoid: Cesium.Ellipsoid.WGS84,
    }),
    maximumLevel: 18,
  });
  viewer.value.scene.imageryLayers.addImageryProvider(imageryProvider);

// 创建自己的数据集合
const datasource = new Cesium.CustomDataSource("")

};
onMounted(() => {
  initViewer();
});
</script>

<style scoped></style>

一、绘制点

在这里插入图片描述

1. 第一种

var pointentity = viewer.value.entities.add({
  id: "point1",
  position: Cesium.Cartesian3.fromDegrees(109, 34),
  point: {
    pixelSize: 10,
    color: Cesium.Color.YELLOW, // 点的颜色
    outlineColor: Cesium.Color.RED, // 外边框颜色
    outlineWidth: 2,  // 外边框宽度
  },
});

2. 第二种

const pointentity2 = new Cesium.Entity({
  id: "point2",
  position: Cesium.Cartesian3.fromDegrees(109, 34),
  point: {
    pixelSize: 10,
    color: Cesium.Color.YELLOW,
    outlineColor: Cesium.Color.RED,
    outlineWidth: 2,
  },
});
viewer.value.entites.add(pointentity2)

二、绘制面

在这里插入图片描述

viewer.value.entities.add({
   id: 'polygontest',
   name: 'mian',
   polygon: {
       hierarchy: Cesium.Cartesian3.fromDegreesArray([
           109.080842, 45.002073,
           105.91517, 45.002073,
           104.058488, 44.996596,
           104.053011, 43.002989,
           104.053011, 41.003906,
           105.728954, 40.998429,
           107.919731, 41.003906,
           109.04798, 40.998429,
           111.047063, 40.998429,
           111.047063, 42.000709,
           111.047063, 44.476286,
           111.05254, 45.002073,
           109.080842, 45.002073]),
       height: 100,
       material: Cesium.Color.RED.withAlpha(0.5),
       outline: true,
       outlineColor: Cesium.Color.BLUE,
       outlineWidth: 1,
       fill: true
       }
});

三、绘制线

在这里插入图片描述

viewer.value.entities.add({
   id: 'polygontest',
   name: 'line',
   polygon: {
       positions: Cesium.Cartesian3.fromDegreesArray([
           109.080842, 45.002073,
           105.91517, 45.002073,
           104.058488, 44.996596,
           104.053011, 43.002989,
           104.053011, 41.003906,
           105.728954, 40.998429,
           107.919731, 41.003906,
           109.04798, 40.998429,
           111.047063, 40.998429,
           111.047063, 42.000709,
           111.047063, 44.476286,
           111.05254, 45.002073,
           109.080842, 45.002073]),
       width: 2,
       material: Cesium.Color.YELLOW,
       }
});

四、移除 Entity

var tempEntity = viewer.value.entites.getById("point1");
// 第一种移除
viewer.value.entities.remove(tempEntity);
// 第二种移除
viewer.value.entities.removeById("point1");

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图像读取、显示与保存

一、图像读取 二、图像显示 namedWindow(const String &winname, int flags WINDOW_AUTOSIZE) imshow(const String &winname, InputArray mat) 三、图像保存 #include <opencv2/opencv.hpp> //the basic building blocks of the library #include <…

黑客炼成手册

一、什么是网络安全&#xff1f;什么是黑客&#xff1f; 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等…

Nature重大突破:科学家成功完成Y染色体测序,标志着人类基因组的完整解读

这张扫描电子显微镜图像显示了一对连接的Y染色体&#xff08;右&#xff09;与一对连接的X染色体相比&#xff0c;在细胞分裂前期时重复的Y染色体&#xff08;右&#xff09;小了多少。图片来源&#xff1a;BIOPHOTO ASSOCIATES/SCIENCE SOURCE 长期以来&#xff0c;Y染色体的全…

Hugo快速创建和发布网站

你应该先阅读Windows上安装Hugo的环境。 我们使用PowerShell运行下面的Hugo命令。 1 创建网站 我们在文档下面创建一个名为MyHugoSite的目录结构&#xff1a; cd Documents hugo new site MyHugoSite cd MyHugoSite提示告诉我们有关主题的获取方式、文件的添加和站点的构建。…

uni.uploadFile上传 PHP接收不到

开始这样&#xff0c;后端$file $request->file(file);接收不到 数据跑到param中去了 去掉Content-Type&#xff0c;就能接收到了 param只剩下

maven可用的插件列表

maven可用的插件列表&#xff1a;https://maven.apache.org/plugins/ 在插件列表页面找到自己想要了解的插件&#xff0c;点击进去&#xff0c;可以看到插件的详细信息&#xff0c;例如这个插件有哪些goals&#xff0c;goal的参数、用法、样例等&#xff0c;还是很有用的。 B…

Python支持下最新Noah-MP陆面模式站点、区域模拟及可视化分析技术

查看原文>>> Python支持下最新Noah-MP陆面模式站点、区域模拟及可视化分析技术 熟悉陆表过程的主要研究内容以及陆面模型在生态水文研究中的地位和作用&#xff1b;深入理解Noah-MP 5.0模型的原理&#xff0c;掌握Noah-MP模型&#xff08;2023年最新发布的5.0版本&am…

【云卓笔记】mavlink java文件

根据飞控提供的xml文件来生成的 生成的就是这样的java文件 准备工作: Mavlink协议生成 参考 1.安装mavlink : 使用MAVLink工具的要求是 Python 3.3 (recommended) or Python 2.7 Python future模块 (可选) PythonTklnter模块(如果需要使用图形用户界面)。 环境变量PYTHO…

容器进阶操作

查看容器信息 容器创建成功后&#xff0c;用户可以通过docker inspect命令查看容器的详细信息&#xff0c;这些详细信息包括容器的id、容器名、环境变量、运行命令、主机配置、网络配置以及数据卷配置等信息。执行部分结果如下图&#xff1a; 使用format参数可以只查看用户关心…

浅谈视频汇聚平台EasyCVR视频平台在城市安全综合监测预警台风天气中的重要作用

夏日已至&#xff0c;台风和暴雨等极端天气频繁出现。在城市运行过程中&#xff0c;台风所带来的暴雨可能会导致城市内涝等次生灾害&#xff0c;引发交通瘫痪、地铁停运、管网泄漏爆管、路面塌陷、防洪排涝、燃气爆炸、供热安全、管廊安全、消防火灾等安全隐患&#xff0c;影响…

IEC61499/ OPCUA 融合(1)功能块通信的PUB/SUB协议

OpenDACS 是基于OPCUA 信息模型的IEC61499 分布式自动控制系统。用于研究OPCUA 与IEC61499 相互融合。本文介绍它如何采用Opcua Pub/Sub 实现分布式系统中IEC61499功能块之间的通信。在IEC61499 中并没有明确地确定采取哪一种协议&#xff0c;在具体实现中可能采取TCP/IP,UDP …

CVE-2016-3088漏洞复现

1.背景介绍。 ActiveMQ的web控制台分三个应用&#xff0c;admin、api和fileserver&#xff0c;其中admin是管理员页面&#xff0c;api是接口&#xff0c;fileserver是储存文件的接口&#xff1b;admin和api都需要登录后才能使用&#xff0c;fileserver无需登录。 fileserver是…

解析跨境电商环境下的撸卡、撸货等业务运作模式

随着亚马逊在国内用户中的流行&#xff0c;越来越多的人做亚马逊测评自养号&#xff0c;作为一个传统的跨境电商平台&#xff0c;亚马逊上有许多进口商品可供购买&#xff0c;在购物过程中&#xff0c;有的是用信用卡下单&#xff0c;有的是用礼品卡下单&#xff0c;也会有一些…

CS144 计算机网络 Lab3:TCP Sender

前言 在 Lab2 中我们实现了 TCP Receiver&#xff0c;负责在收到报文段之后将数据写入重组器中&#xff0c;并回复给发送方确认应答号。在 Lab3 中&#xff0c;我们将实现 TCP 连接的另一个端点——发送方&#xff0c;负责读取 ByteStream&#xff08;由发送方上层应用程序创建…

2023-08-25 LeetCode每日一题(统计二叉树中好节点的数目)

2023-08-25每日一题 一、题目编号 1448. 统计二叉树中好节点的数目二、题目链接 点击跳转到题目位置 三、题目描述 给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&#xff1a;从根到该节点 X 所经过的节点中&#xff0c;没有…

低调大佬造车,扒一扒极石01

作者 | 普通一涛 编辑 | 德新 又一个汽车新品牌诞生了。 极石&#xff0c;是的&#xff0c;很多人没有听过。它不是传统汽车品牌&#xff0c;也不是传统主机厂成立的新品牌&#xff0c;而是一家新势力。 乍听名字&#xff0c;极字辈都是高端品牌家族——极狐、极星、极氪、极越…

广场小记

&#xff08;1&#xff09; 广场上有人唱卡拉ok&#xff1a; 女声唱的是&#xff1a;嫁人就要嫁给你 男声唱的是&#xff1a;我爱我的祖国 非常的50年代。 那一代人就是这么真挚、直接、热烈。 那一代人经历60大饥荒、66wg、68上山下乡、80回城个体户、90大下岗。16岁时的他们&…

正确进行自动化测试

前言&#xff1a; &#x1f4d5;作者简介&#xff1a;热爱编程的小七&#xff0c;致力于C、Java、Python等多编程语言&#xff0c;热爱编程和长板的运动少年&#xff01; &#x1f4d8;相关专栏Java基础语法&#xff0c;JavaEE初阶&#xff0c;数据库&#xff0c;数据结构和算法…

惊!同事做汇报都开始卷大屏了,问了一嘴,这个工具小白最好上手

老陈最近出差&#xff0c;去上海的一个公司考察学习&#xff0c;在人家会议室听别人分享的时候&#xff0c;发现大家现在是真的卷&#xff0c;连个普通的汇报都搞了张可视化大屏&#xff0c;直接把公司的核心数据展现得明明白白&#xff0c;鼠标点哪亮哪&#xff0c;真的特别炫…

Effective C++条款16——成对使用new和delete时要采取相同形式(资源管理)

以下动作有什么错? std::string* stringArray new std::string[100]; // ... delete stringArray;每件事看起来都井然有序。使用了new&#xff0c;也搭配了对应的 delete。但还是有某样东西完全错误:你的程序行为不明确&#xff08;未有定义&#xff09;。最低限度&#xff…