Cesium 展示——根据文件中的 count 对加载的每个实体赋予不同的颜色

文章目录

    • 需求
    • 分析
    • 数据案例

需求

绘制 geojson 文件,并根据文件中count的值分别给这个entities赋予不同颜色

在这里插入图片描述

分析

在 Cesium 中,可以使用 Cesium.GeoJsonDataSource 类来加载和绘制 GeoJSON 文件。根据 GeoJSON 文件中的 count 值为每个实体赋予不同的颜色,你可以使用 Cesium 的实体属性和材质来实现.以下是一个基本的示例

var viewer = new Cesium.Viewer('cesiumContainer');// 创建 GeoJsonDataSource 对象
var dataSource = new Cesium.GeoJsonDataSource();// 加载 GeoJSON 文件
Cesium.GeoJsonDataSource.load('/path/to/your/file.geojson').then(function(jsonDataSource) {// 将加载的数据源添加到视图中viewer.dataSources.add(jsonDataSource);// 获取加载的实体集合var entities = jsonDataSource.entities.values;// 遍历每个实体for (var i = 0; i < entities.length; i++) {var entity = entities[i];// 根据 count 值设置不同的颜色var count = entity.properties.count;  // 假设 count 是实体的属性if (count >= 0 && count < 10) {entity.polygon.material = Cesium.Color.fromCssColorString('#FF0000');  // 设置红色} else if (count >= 10 && count < 20) {entity.polygon.material = Cesium.Color.fromCssColorString('#00FF00');  // 设置绿色} else {entity.polygon.material = Cesium.Color.fromCssColorString('#0000FF');  // 设置蓝色}}}).otherwise(function(error) {console.error(error);
});
  • 示例中,我们首先创建了一个 Cesium.GeoJsonDataSource 对象,然后使用 load() 方法加载指定路径的 GeoJSON 文件。加载成功后,返回一个 Promise 对象,我们在 then() 方法中将数据源添加到 Cesium 视图中。

  • 接下来,我们可以获取加载的实体集合(entities),并对每个实体进行自定义操作,如设置样式、添加标签等。

  • 例如遍历每个实体,并根据 count 值设置不同的颜色。通过访问实体的 polygon.material 属性,我们可以为多边形几何体设置材质。在这里,我们使用了 Cesium.Color.fromCssColorString() 方法将颜色值从 CSS 字符串转换为 Cesium 的颜色对象。

  • 根据 count 值的不同范围,你可以自行设置相应的颜色。

数据案例

{"type": "FeatureCollection","name": "数据分布","crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:OGC:1.3:CRS84" }},"features": [{ "type": "Feature", "properties": {"LONCOL": 167, "LATCOL": 260, "HBLON": 121.7, "HBLAT": 36.0, "count": 15 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 121.65, 35.95 ], [ 121.65, 36.05 ], [ 121.75, 36.05 ], [ 121.75, 35.95 ], [ 121.65, 35.95 ] ] ] ] } },{ "type": "Feature", "properties": {"LONCOL": 167, "LATCOL": 260, "HBLON": 121.7, "HBLAT": 36.0, "count": 15 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 121.65, 35.95 ], [ 121.65, 36.05 ], [ 121.75, 36.05 ], [ 121.75, 35.95 ], [ 121.65, 35.95 ] ] ] ] } },]
}

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

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

相关文章

redis桌面连接工具Another Redis Desktop Manager使用介绍

Another Redis Desktop Manager是一种类似于navicat的数据库连接工具&#xff0c;专门用来连接redis&#xff0c;使用起来非常简单方便&#xff0c;在这里推荐给大家。 没有用过这个软件的&#xff0c;首先通过下面的网盘链接下载Another Redis Desktop Manager 百度网盘redi…

#define定义标识符详解

0.预定义符号 在讲解#define之前先给大家介绍几个预定义符号 __FILE__ //进行编译的源文件 __LINE__ //文件当前的行号 __DATE__ //文件被编译的日期 __TIME__ //文件被编译的时间 __STDC__ //如果编译器遵循ANSI C&#xff08;标准C&#xff09;&#xff…

【系统架构】软件可靠性基础知识

导读&#xff1a;本文整理关于软件可靠性基础知识构建系统架构知识体系。完整和扎实的系统架构知识体系是作为架构设计的理论支撑&#xff0c;基于大量项目实践经验基础上&#xff0c;不断加深理论体系的理解&#xff0c;从而能够创造新解决系统相关问题。 目录 1、软件可靠性…

Docker ---- network中的命令详解

最近一直在使用docker&#xff0c;记录一些遇到的问题。 问题1&#xff1a;在搭建ealsticsearch与kibana时运行成功后第二次想运行出错了或者访问不了&#xff1f; 因为两个启动的容器是被互相隔离的&#xff0c;没有启用网络的互相通信不了。 问题2&#xff1a;怎么查看自己…

外汇天眼:外汇新手开展交易需要做哪些准备,你都知道么?

外汇交易&#xff0c;如同任何一项专业工作&#xff0c;需要不断积累知识和经验&#xff0c;以及稳定的心态。正如古语所说&#xff1a;“工欲善其事&#xff0c;必先利其器。” 在外汇市场&#xff0c;这句话同样适用。在踏上外汇交易之旅之前&#xff0c;我们迫切需要做好外汇…

【面试经典150 | 双指针】判断子序列

文章目录 写在前面Tag题目来源题目解题解题思路方法一&#xff1a;双指针方法二&#xff1a;动态规划 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对…

整合minio时出现的错误

Action:Correct the classpath of your application so that it contains compatible versions of the classes io.minio.S3Base and okhttp3.RequestBody 这个错误是我在整合minio时报的错&#xff0c;说实话遇到这个错误我还是很头大的&#xff0c;因为之前在springboot项目…

【技巧】Ubuntu临时授予用户sudo权限,并在一定时间后自动撤销

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 目录 背景说明 开始操作 at指令 背景说明 有时候普通用户需要使用sudo来执行一些操作&#xff0c;作为服务器管理员&#xff0c;需要盯着该用户使用完后再给他撤销sudo权限。当用户多起来的时候&#xff0c;这…

ES6之Map和Set有什么不同?

一、Map 1.定义 Map是ES6提供的一种新的数据结构&#xff0c;它是键值对的集合&#xff0c;类似于对象&#xff0c;但是键的范围不限于字符串&#xff0c;各种类型的值都可以当做键。 Object结构是“字符串-值”的对应&#xff0c;Map结构则是“值-值”的对应 2.代码示例 M…

什么是FMEA(失效模式和影响分析)?

失效模式和影响分析&#xff08;FMEA&#xff09;是一个在开发阶段&#xff0c;用于确定产品或流程可能的风险和失败点的有条理的过程。FMEA团队会研究失效模式&#xff0c;也就是产品或流程中可能出错的地方&#xff0c;以及这些失效可能带来的影响&#xff08;如风险、损害、…

向建筑人推荐中国建筑出版传媒的《乡村振兴战略下传统村落文化旅游设计》

向建筑人推荐中国建筑出版传媒的《乡村振兴战略下传统村落文化旅游设计》

【计算机网络笔记三】传输层

端口 在网络中如何标记一个进程&#xff1f; TCP/IP 体系的传输层使用【端口号】来标记区分应用层的不同应用进程。这里说的端口是一个逻辑的概念&#xff0c;并不是实实在在的物理端口。 端口号使用 16 比特表示&#xff0c;取值范围是 0 ~ 65535&#xff0c;端口号分为以…

Selenium常用操作之单选复选框、下拉列表、键盘、截屏、断言、(显式隐式)等待

目录 1. 窗口最大化 2.单选框操作 3. 复选框操作 4. 下拉列表 5. selenium 三种等待 6. 键盘操作 7.截屏 8.断言 9. Selenium操作JS弹窗控件 10.鼠标悬停与释放 1. 窗口最大化 driver.maximize_window() 2.单选框操作 driver.find_element_by_xpath("//input[…

R语言贝叶斯非参数模型:密度估计、非参数化随机效应META分析心肌梗死数据...

全文链接&#xff1a;http://tecdat.cn/?p23785 最近&#xff0c;我们使用贝叶斯非参数&#xff08;BNP&#xff09;混合模型进行马尔科夫链蒙特卡洛&#xff08;MCMC&#xff09;推断&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 概述 相关视频 在这篇文…

Mac磁盘空间满了怎么办?Mac如何清理磁盘空间

你是不是发现你的Mac电脑存储越来越满&#xff0c;甚至操作系统本身就占了100多G的空间&#xff1f;这不仅影响了电脑的性能&#xff0c;而且也让你无法存储更多的重要文件和软件。别担心&#xff0c;今天这篇文章将告诉你如何清除多余的文件&#xff0c;让你的Mac重获新生。 一…

Java根据模版导出(ftl方式)

实际项目中经常遇到需要根据模版导出数据&#xff0c;普通一点的导出模版都挺好实现的&#xff0c;如果涉及到勾选框、表格循环的方式就比较麻烦一点&#xff0c;这篇文章主要记录一下我在项目中是如何导出word&#xff08;其中包括根据值勾选、表格循环、图片&#xff09; 一…

kanzi动态替换图片不增加内存方案

如果每一个新图片都创建Texture会导致kanzi内存增长&#xff0c;想要不增加内存&#xff0c;需要在原Texture基础上直接替换其内容(BitmapImage)

从零学习开发一个RISC-V操作系统(三)丨嵌入式操作系统开发的常用概念和工具

本篇文章的内容 一、嵌入式操作习系统开发的常用概念和工具1.1 本地编译和交叉编译1.2 调试器GDB&#xff08;The GNU Project Debugger&#xff09;1.3 QEMU模拟器1.4 项目构造工具Make 本系列是博主参考B站课程学习开发一个RISC-V的操作系统的学习笔记&#xff0c;计划从RISC…