mars3d绘制区域范围(面+边框)

1、图例(绿色面区域+白色边框)

 2、代码

1)、绘制区域ts文件

import { mapLayerCollection } from '@/hooks/cesium-map-init'
/*** 安全防護目標* @param map*/
export const addSafetyProtection = async (map) => {const coverDatas = await mapLayerCollection.value.safety_protection.formatter()if (coverDatas) {const graphicLayer = new mars3d.layer.GeoJsonLayer({name: mapLayerCollection.value.safety_protection.label,data: coverDatas,symbol: {styleField: 'levels',styleFieldOptions: {'1': { color: '#0ec758' },'2': { color: '#0ec758' },'3': { color: '#0ec758' },},styleOptions: {clampToGround: true,classificationType: Cesium.ClassificationType.BOTH,distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 20000),outline: true,outlineColor: Cesium.Color.WHITE,outlineWidth: 0.9,opacity: 0.6,},merge: true,},})mapLayerCollection.value.safety_protection.initLayer(map, graphicLayer)}
}

解释:

1、new mars3d.layer.GeoJsonLayer

     生成矢量图层

2、styleField

      "levels" 是在json文件中区分不同级别景区的标志,值为1、2、3等

3、styleFieldOptions

      根据styleField获取到的值进行区分,划分不同颜色的区域

4、styleOptions

  • clampToGround:布尔值,表示是否将对象固定在地表上。如果设置为true,对象将贴合到地表上,不会浮在地表之上。
  • classificationType:枚举值,定义对象的分类类型。                                                  可选值有NONETERRAINCESIUM_3D_TILEBOTH。                                                   1)、NONE表示对象不进行分类,                                                                             2)、TERRAIN表示对象只在地形表面上显示,                                                         3)、CESIUM_3D_TILE表示对象只在3D瓦片上显示,                                                 4)、BOTH表示对象同时在地形和3D瓦片上显示。
  • distanceDisplayCondition:定义对象的可见距离条件。它接受一个 Cesium.DistanceDisplayCondition 对象,其中包含两个距离参数,表示对象的最小和最大可见距离。对象只有在距离相机在这个范围内时才可见。
  • outline:布尔值,表示是否给对象添加轮廓线。
  • outlineColor:定义对象轮廓线的颜色。可以使用 Cesium.Color 对象来指定颜色。
  • outlineWidth:定义对象轮廓线的宽度。
  • opacity:定义对象的不透明度,取值范围为0到1,其中0表示完全透明,1表示完全不透明。
  • merge 是一个额外的属性,它用于指示是否将当前样式选项与现有的样式进行合并。如果设置为true,当前样式将与现有的样式合并,否则会覆盖现有的样式。

2)、矢量图层加载

export const mapLayerCollection = ref({safety_protection: {label: '防护目标',code: '23',// url: import.meta.env.VITE_BASE_URL + 'static/data/' + window.globalConfig.tag + '/safety-protection.json',initLayer: function (map, graphicLayer = {}) {map.addLayer(graphicLayer)this.init = true// return graphicLayer},formatter: getSafety,show: true,edit: false,init: false,}
})// 注意:formatter: getSafety这个是封装出去的
const getSafety = async () => {const url = import.meta.env.VITE_BASE_URL + 'static/data/' + window.globalConfig.tag + '/safety-protection.json'const [err, data] = await to(getUrl(url))if (err) return []return data
}// 解释:
1、url是在地图上绘制区域生成的json文件1)、import.meta.env.VITE_BASE_URL  【是好多个景区使用这个项目,所以地址前面是动态生成的】2)、'static/data/'    【文件实在vue3项目下的】public/static/data/中的3)、景区的名称也是动态生成的     4)、'/safety-protection.json'这个就是生成的JSON文件
2、const [err, data] = await to(getUrl(url))     调取后台接口获取数据

3)、在map.vue引用addSafetyProtection ()方法即可

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

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

相关文章

6个ChatGPT4的最佳用途

文章目录 ChatGPT 4’s Current Limitations ChatGPT 4 的当前限制1. Crafting Complex Prompts 制作复杂的提示2. Logic Problems 逻辑问题3. Verifying GPT 3.5 Text 验证 GPT 3.5 文本4. Complex Coding 复杂编码5.Nuanced Text Transformation 细微的文本转换6. Complex Kn…

Windows下安装HBase

Windows下安装HBase 一、HBase简介二、HBase下载安装包三、环境准备3.1、 JDK的安装3.2、 Hadoop的安装 四、HBase安装4.1、压缩包解压为文件夹4.2、配置环境变量4.3、%HBASE_HOME%目录下新建临时文件夹4.4、修改配置文件 hbase-env.cmd4.4.1、配置JAVA环境4.4.2、set HBASE_MA…

使用Hutool工具类中的BeanUtil.fillBeanWithMap方法报错`DateException`

使用Hutool工具类中的BeanUtil.fillBeanWithMap方法报错DateException 问题背景 在实现登录功能时,我先将用户信息存入Redis中,然后再获取用户信息的时候,又取出来。我存入Redis的用户信息是Hash格式的,所以取出来的时候&#xff…

Ansible的脚本 --- playbook 剧本

文章目录 一、playbook剧本的组成创建剧本运行playbook二、定义、引用变量三、指定远程主机sudo切换用户四、when条件判断五、迭代Templates 模块tags 模块 一、playbook剧本的组成 playbooks 本身由以下各部分组成 (1)Tasks:任务&#xff0…

kubernetes 证书更新

参考: https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/https://kubernetes.io/zh-cn/docs/tasks/tls/certificate-rotation/ 查看证书 查看 kubelet是否支持证书自动轮换,默认轮换的证书位于目录 /var/lib/kubele…

vscode 打开文件时如何在资源管理器中展开文件所在的整个目录树(包含node_modules)

如题。去 首选项 --> 设置 中 搜索 “Auto Reveal”,然后选true,注意把下面的Auto Reveal Exclude排除项中的node_modules去掉,这样才能定位到node_modules中的文件。 **/node_modules

Leetcode刷题---C语言实现初阶数据结构---单链表

1 删除链表中等于给定值 val 的所有节点 删除链表中等于给定值 val 的所有节点 给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.valval的节点,并返回新的头节点 输入:head [1,2,6,3,4,5,6], val 6 输出:[…

基于 ThinkPHP 5.1(稳定版本) 开发wms 进销存系统源码

基于ThinkPHP 5.1(LTS版本)开发的WMS进销存系统源码 管理员账号密码:admin 一、项目简介 这个系统是一个基于ThinkPHP框架的WMS进销存系统。 二、实现功能 控制台 – 权限管理(用户管理、角色管理、节点管理) – 订…

Docker 入门终极指南[详细]

前言 富 Web 时代,应用变得越来越强大,与此同时也越来越复杂。集群部署、隔离环境、灰度发布以及动态扩容缺一不可,而容器化则成为中间的必要桥梁。 本节我们就来探索一下 Docker 的神秘世界,从零到一掌握 Docker 的基本原理与实…

忽略nan值,沿指定轴计算标准(偏)差numpy.nanstd()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 沿指定轴方向 计算标准(偏)差 numpy.nanstd() [太阳]选择题 import numpy as np a np.array([[1,2],[np.nan,3]]) print("【显示】a ") print(a) print("【执行】np.std(a)&qu…

链表OJ题目1 (移除链表元素)

力扣(链接放这里喽) 先贴代码再做讲解: struct ListNode* removeElements(struct ListNode* head, int val) {struct ListNode* cur head;struct ListNode* tail NULL;while(cur){if(cur->val val){if(cur head){head head->next…

chatGPT 学习分享:内含PPT分享下载

InstructGPT论文地址: Training language models to follow instructions with human feedbackchatGPT地址:openAI个人整理的PPT(可编辑),下载地址:chatGPT学习分享PPT

java排序算法之插入排序

文章目录 📋插入排序概念📖实现步骤🔖代码示例 📈总结 📋插入排序概念 插入排序(Insertion Sort)是一种简单直观的排序算法。它将数组划分为已排序和未排序两个部分,每次从未排序部分…

Linux 多线程并发Socket服务端的实现( 11 ) -【Linux通信架构系列 】

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 设计模式系列 期待你的关注哦!!! 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everythi…

25.9 matlab里面的10中优化方法介绍—— 惩罚函数法求约束最优化问题(matlab程序)

1.简述 一、算法原理 1、问题引入 之前我们了解过的算法大部分都是无约束优化问题,其算法有:黄金分割法,牛顿法,拟牛顿法,共轭梯度法,单纯性法等。但在实际工程问题中,大多数优化问题都属于有约…

SpringBoot读取配置文件顺序

文章目录 一、前言二、SpringBoot配置文件目录读取顺序源码解析 三、SpringBoot配置文件类型读取顺序源码解析 一、前言 本文通过源码分析 SpringBoot 加载配置文件目录的顺序,以及 properties、xml、yml、yaml文件的读取顺序 二、SpringBoot配置文件目录读取顺序…

【MySQL】库的操作

废话不多说,直接上操作: 目录 一、查看数据库 二、创建数据库 2.1 数据库的字符集及校验规则 2.1.1 查看系统默认字符集 2.1.2 查看系统默认校验规则 2.1.3 查看数据库支持的字符集 2.1.4 查看数据库支持的校验规则 2.2 创建数据库时设置字符集和…

【二叉树进阶】搜索二叉树(递归+非递归两种版本详解)

文章目录 前言1. 二叉搜索树的概念2. 二叉搜索树的结构2.1 结点结构2.2 树结构 3. 插入操作(非递归)3.1 思路分析3.2 代码实现3.3 中序遍历(测试用) 4. 查找操作(非递归)4.1 思路分析4.2 代码实现 5. 删除操…

【设计模式】观察者设计模式解析

目录 一、观察者模式定义 二、观察者模式角色 三、观察者模式类图 四、观察者模式实例 五、观察者模式优缺点 5.1、优点 5.2、缺点 六、观察者模式应用 6.1、Spring 中观察者模式的四个角色 6.2、coding~~~~~~ 一、观察者模式定义 观察者模式(Observer Pattern)&#…

【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存(二)

系列文章 【如何训练一个中英翻译模型】LSTM机器翻译seq2seq字符编码(一) 【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存(二) 【如何训练一个中英翻译模型】LSTM机器翻译模型部署(三) 【如何训…