当前位置: 首页 > news >正文

Cesium 问题:加载 geojson 数据量大浏览器会崩,使用primitive方式加载

文章目录

    • 问题
    • 分析

问题

之前加载geojson数据都是使用dataSource和entity的方式,但是当数据量大时,浏览器就会崩掉:提示浏览器内存不足,已暂停渲染

分析

使用primitive方式加载数据,可以提高加载渲染效率。实现方法如下:

getServePyApi(tempData).then((res)=>{if(res){var contents = res.data.result;console.log(res);const instances = [];let features = contents.features;for (let i = 0; i < features.length; i++) {for (let j = 0; j < features[i].geometry.coordinates.length; j++) {const polygonArray = features[i].geometry.coordinates[j].toString().split(',');const polygon = new Cesium.PolygonGeometry({polygonHierarchy: new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArray(polygonArray)),// 设置面的拉伸高度extrudedHeight: 35,});var count = features[i].properties.index_coun;const color = null; // 根据 count 值设置不同的颜色if (count >= 0 && count < 10) {color = Cesium.Color.fromCssColorString('#FF0000');  // 设置红色} else if (count >= 10 && count < 20) {color = Cesium.Color.fromCssColorString('#00FF00');  // 设置绿色} else {color = Cesium.Color.fromCssColorString('#0000FF');  // 设置蓝色}const geometry = Cesium.PolygonGeometry.createGeometry(polygon);instances.push(new Cesium.GeometryInstance({geometry: geometry,attributes: {color: Cesium.ColorGeometryInstanceAttribute.fromColor(color),},}));}}// 合并单个geometry,提高渲染效率this.od5 = new Cesium.Primitive({geometryInstances: instances,appearance: new Cesium.PerInstanceColorAppearance(),});window.viewer.scene.primitives.add(this.od5);});

相关文章:

Cesium 问题:加载 geojson 数据量大浏览器会崩,使用primitive方式加载

文章目录 问题分析 问题 之前加载geojson数据都是使用dataSource和entity的方式&#xff0c;但是当数据量大时&#xff0c;浏览器就会崩掉&#xff1a;提示浏览器内存不足&#xff0c;已暂停渲染 分析 使用primitive方式加载数据&#xff0c;可以提高加载渲染效率。实现方法…...

C++ Primer----1.5类简介 章节练习

头文件 Sales_item.h #ifndef SALESITEM_H #define SALESITEM_H #include <iostream> #include <string>class Sales_item{ public:Sales_item(const std::string &book):isbn(book),units_sold(0),revenue(0.0){}Sales_item(std::istream &is){ is >&…...

爬楼梯Java(斐波那契数列)

题目:有n阶楼梯,一次只能爬一层或者两层,请问有多少种方法? 这类题目其实都可以用斐波那契数列来解决,比如: 一阶楼梯只有一种方法 二阶楼梯有(11,2)两种方法 三阶楼梯有(111,12,21)三种方法 四阶楼梯有(1111,121,112,22,211)五种方式 五阶楼梯有(11111,1112,122,1211,1…...

Maven项目package为jar包后在window运行报A JNI error has occurred

原因&#xff1a;本地java版本与项目结构中使用的java版本不一致&#xff08;之前因为别的需求把idea的java版本改为了18&#xff09; 解决方法 打开项目结构&#xff0c;将idea的java版本改为与本地一致 再修改项目中的pom.xml 重新编译&#xff0c;package即可...

iview 的table表格组件使单元格可编辑和输入

表格的列定义中&#xff0c;在需要编辑的字段下使用render函数 template表格组件 <Table border :data"data" :columns"tableColumns" :loading"loading"></Table>data中定义table对象 table: {tableColumns: [{title: 商品序号,k…...

统计的基本概念及抽样分布

文章目录 &#x1f34b;引言&#x1f34b;总体&#xff08;Population&#xff09;&#x1f34b;总体参数 &#x1f34b;样本&#xff08;Sample&#xff09;&#x1f34b;随机样本&#x1f34b;样本统计量 &#x1f34b;统计量&#xff08;Statistic&#xff09;&#x1f34b;…...

【C++】class的设计与使用(四)this指针

this指针 this作用域是在类内部&#xff0c;只能在成员函数中使用&#xff1b;this在成员函数的开始前构造&#xff0c;在成员函数的结束后清除&#xff1b;编译器在编译的时候也会自动加上this&#xff0c;它作为非静态成员函数的隐含形参&#xff0c;对各成员的访问均通过th…...

mysql 导入sql文件

mysql 导入sql文件 sudo mysql -uroot -p123456 -h127.0.0.1 sudo mysql -uroot -p123456 -h127.0.0.1然后 show databases;然后 use 数据库名称; 然后 source 20230920031001.sql;如果不加 -h127.0.0.1 可能会出现错误 /var/lib/mysql.sock error 通过 navicat导入的话&am…...

springcloud:三、ribbon负载均衡原理+调整策略+饥饿加载

Ribbon负载均衡原理 调整Ribbon负载均衡策略 第一种会对order-service里所有的服务消费者都采用该新规则 第二种会针对order-service里某个具体的服务消费者采用该新规则 饥饿加载...

【Unity编辑器扩展】Tranform组件自定义扩展,复制位置旋转缩放数据

目录 一、Tranform组件数据的扩展 二、 RectTransform组件数据的扩展 很多时候我们在做Tranform属性配置的时候需要反复的获取对象的位置信息,旋转信息。这个时候有个方便的工具会使得我们的效率大大提升。 一、Tranform组件数据的扩展 1.可以复制世界坐标,世界旋转 V…...

自动驾驶领域中的CMS系统应用探讨

由佐思汽研主办的“ ICVS汽车智能网联大会”正式启幕&#xff0c;邀请Tier1、软件供应商、操作系统商、智能驾驶及智能驾舱相关企业&#xff0c;共同探讨行业现状、创新技术应用交流、以及未来行业发展趋势等。 赛格导航视频产品线总监刘玉龙应邀参加本次大会&#xff0c;并发…...

十分钟理解OSPF路由协议

十分钟理解OSPF路由协议 1.RIP的缺陷以跳数为度量值最大跳数为15更新路由表采用全更新收敛速度慢 2.RIP与OSPF比较OSPF概述运行OSPF协议之前运行OSPF协议之后 3.OSPF协议工作过程1.发现邻居2.建立邻接关系3.传递链路状态信息4.计算路由 4.OSPF分区域管理 有RIP协议&#xff0c;…...

Python 编程基础 | 第一章-预备知识 | 1.4、包管理工具

一、包管理工具 1、pip简介 pip是Python自带的包管理器&#xff0c;它可以帮助我们安装、升级和卸载Python包。Python包是一组Python模块&#xff0c;它们可以提供各种功能&#xff0c;例如数据分析、Web开发、机器学习等等。pip可以让我们轻松地安装这些包&#xff0c;以便我…...

delphi中使用CADVCL 10.0 Enterprise控件解析DXF文件生成图片保存到本地

使用案例demos中GettingStarted案例 修改OnClick方法 更换代码 varvDrawing: TsgCADDXFImage;I: Integer;vEnt: TsgDXFEntity;vDXFImage:TsgCADImage;Bitmap: TBitmap;jpg: TJpegImage; beginvDrawing : TsgCADDXFImage.Create;vDrawing.LoadFromFile(d:\Entities.dxf);for …...

Hazelcast系列(三):hazelcast管理中心

系列文章 Hazelcast系列(一)&#xff1a;初识hazelcast Hazelcast系列(二)&#xff1a;hazelcast集成 Hazelcast系列(三)&#xff1a;hazelcast管理中心 目录 前言 平台搭建 测试 其他 参考 总结 前言 前面&#xff0c;我们通过几种配置方式&#xff08;Hazelcast系…...

QT 绘画功能的时钟

.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPaintEvent> #include <QDebug> //信息调试类 #include <QPainter> #include <QPixmap> //图像引擎类 #include <QTime> #include <QTimer> …...

设计模式之道-模板方法模式

文章目录 模板方法模式简介作用模板方法模式的缺点模板方法模式的应用场景业务场景开源框架中的应用 对比回调和Hook模式关于组合优先于继承 关于设计模式乱用的现象 模板方法模式 简介 模板方法模式是一种行为型设计模式&#xff0c;该设计模式的核心在于通过抽象出一套相对…...

头哥的实践平台的Linux文件/目录管理

一 Linux 文件/目录管理 1.本关的编程任务是补全右侧代码片段中Begin至End中间的代码&#xff0c;具体要求如下&#xff1a; 新创建两个文件空文件file1和file2。 删除系统已存在的两个文件oldFile1和oldFile2。 #!/bin/bash#在以下部分写出完成任务的命令 #***********begi…...

软件测试基本常识

【软件测试面试突击班】如何逼自己一周刷完软件测试八股文教程&#xff0c;刷完面试就稳了&#xff0c;你也可以当高薪软件测试工程师&#xff08;自动化测试&#xff09; 一、测试用例的编写 1.在测试中最重要的文档&#xff0c;他是测试工作的核心&#xff0c;是一组在测试时…...

Xmake v2.8.3 发布,改进 Wasm 并支持 Xmake 源码调试

Xmake 是一个基于 Lua 的轻量级跨平台构建工具。 它非常的轻量&#xff0c;没有任何依赖&#xff0c;因为它内置了 Lua 运行时。 它使用 xmake.lua 维护项目构建&#xff0c;相比 makefile/CMakeLists.txt&#xff0c;配置语法更加简洁直观&#xff0c;对新手非常友好&#x…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...