Cesium使用primitive添加点线面(贴地)

article/2025/6/24 6:00:22
 // 创建一个图元集合const primitives = viewer.scene.primitives.add(new Cesium.PrimitiveCollection());

1、点上图

 // 定义点的位置(中国不同城市的经纬度)const points = [{ lon: 116.4074, lat: 39.9042, name: "北京" },{ lon: 121.4737, lat: 31.2304, name: "上海" },{ lon: 113.2644, lat: 23.1291, name: "广州" },{ lon: 104.0658, lat: 30.5728, name: "成都" },{ lon: 114.0579, lat: 22.5431, name: "深圳" }];// 创建点集合实例const pointCollection = new Cesium.PointPrimitiveCollection();// 为每个点创建PointPrimitive并添加到集合中points.forEach(point => {pointCollection.add({position: Cesium.Cartesian3.fromDegrees(point.lon, point.lat),pixelSize: 10,color: Cesium.Color.RED,outlineColor: Cesium.Color.WHITE,outlineWidth: 2,label: new Cesium.LabelStyle({text: point.name,font: '14px Inter, sans-serif',fillColor: Cesium.Color.WHITE,backgroundColor: Cesium.Color.BLACK.withAlpha(0.7),backgroundPadding: new Cesium.Cartesian2(5, 5),showBackground: true,verticalOrigin: Cesium.VerticalOrigin.BOTTOM,pixelOffset: new Cesium.Cartesian2(0, -15)})});});// 将点集合添加到图元集合中primitives.add(pointCollection);
  1. 线上图
// 定义一条连接中国几个城市的线(北京-上海-广州-成都-北京)
const linePositions = Cesium.Cartesian3.fromDegreesArray([116.4074, 39.9042,  // 北京121.4737, 31.2304,  // 上海113.2644, 23.1291,  // 广州104.0658, 30.5728,  // 成都116.4074, 39.9042   // 回到北京形成闭环
]);// 创建线实例
const line = new Cesium.Primitive({geometryInstances: new Cesium.GeometryInstance({geometry: new Cesium.PolylineGeometry({positions: linePositions,width: 5,vertexFormat: Cesium.PerInstanceColorAppearance.VERTEX_FORMAT}),attributes: {color: Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.BLUE)}}),appearance: new Cesium.PerInstanceColorAppearance({flat: true,renderState: {lineWidth: Math.min(5, viewer.scene.maximumAliasedLineWidth)}})
});// 将线添加到图元集合中
primitives.add(line);
  1. 面上图
// 定义一个多边形(以中国部分边界为例)
const polygonPositions = Cesium.Cartesian3.fromDegreesArray([116.4074, 39.9042,  // 北京附近121.4737, 31.2304,  // 上海附近113.2644, 23.1291,  // 广州附近104.0658, 30.5728,  // 成都附近106.5049, 29.5331,  // 重庆附近114.3055, 30.5928,  // 武汉附近116.4074, 39.9042   // 回到北京形成闭环
]);// 创建多边形实例
const polygon = new Cesium.Primitive({geometryInstances: new Cesium.GeometryInstance({geometry: new Cesium.PolygonGeometry({polygonHierarchy: new Cesium.PolygonHierarchy(polygonPositions),vertexFormat: Cesium.PerInstanceColorAppearance.VERTEX_FORMAT}),attributes: {color: Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.GREEN.withAlpha(0.5))}}),appearance: new Cesium.PerInstanceColorAppearance({translucent: true,flat: true})
});// 将多边形添加到图元集合中
primitives.add(polygon);
  1. 贴地展示方式一
    点贴地显示:为点图元设置了heightReference属性
    线贴地显示:为线图元设置了heightReference属性
    在这里插入图片描述
heightReference: clampToGround ? Cesium.HeightReference.CLAMP_TO_GROUND : Cesium.HeightReference.NONE

面贴地显示:为面图元设置了classificationType属性
在这里插入图片描述

classificationType: Cesium.ClassificationType.TERRAIN
  1. 贴地展示方式一

贴地线:

// 创建贴地线段几何实例
const positions = Cesium.Cartesian3.fromDegreesArray([116.4074, 39.9042,  // 北京121.4737, 31.2304,  // 上海113.2644, 23.1291,  // 广州104.0658, 30.5728,  // 成都116.4074, 39.9042   // 回到北京形成闭环
]);const geometry = new Cesium.GroundPolylineGeometry({positions : positions
});

贴地多边形:

const instance = new Cesium.GeometryInstance({id: "PolygonGeometry",geometry: new Cesium.PolygonGeometry({polygonHierarchy: new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArray([116.4074, 39.9042,  // 北京121.4737, 31.2304,  // 上海113.2644, 23.1291,  // 广州104.0658, 30.5728,  // 成都116.4074, 39.9042   // 回到北京形成闭环]))}),
});const primitive = new Cesium.GroundPrimitive({geometryInstances: instance,  //可以是实例数组appearance: new Cesium.MaterialAppearance({material: Cesium.Material.fromType('Color', {color: Cesium.Color.BLUE}),
})

在这里插入图片描述


http://www.hkcw.cn/article/bkstSTkmtG.shtml

相关文章

杨明洋社媒晒国足训练照 备战印尼全力以赴

国脚杨明洋更新了社交媒体,分享了自己随国足备战与印尼比赛的照片。国足目前在上海进行最后两场18强赛的备战工作,并计划于今日启程前往雅加达。杨明洋表示,首次入选国家队感到非常荣幸,能够成为其中一员对他来说意义重大。责任编辑:zx0176

警方通报上海迪士尼打架事件 拍照争执引发冲突

6月1日,浦东公安分局接到报警称,5月31日18时许迪士尼乐园内有人打架。经初步调查,闫某某(男,22岁)与女友在拍照时,因刘某某(男,36岁)夫妻的女儿进入拍摄画面,双方发生口角后引发肢体冲突,造成闫某某和刘某某互有皮外伤,小女孩未受伤。目前,调查处理工作正在进一步…

机器视觉图像处理之图像滤波

1.均值滤波 均值滤波是一种基本的线性图像滤波方法,主要用于图像平滑和噪声去除。 特点 优点: 算法简单,计算速度快 对高斯噪声有较好的去除效果 能有效平滑图像中的小波动 缺点: 会导致边缘模糊 对椒盐噪声(脉冲噪声)效果不…

8、电解电容—数据手册解读

目录 1、寿命 2、Rated Voltage 额定电压(VR) 3、Capacitance 额定容量(CR) 4、Surge Voltage 浪涌电压(VS) 5、Leakage Current 泄漏电流(ILC) 6、Dissipation Factor (Tanδ)损失角正切值 7、Ripple Current 纹波电流(IRC, rms) 8、参数特性 9、寿命计算 9.1 以江海为例&…

Python----目标检测(《YOLOv3:AnIncrementalImprovement》和YOLO-V3的原理与网络结构)

一、《YOLOv3:AnIncrementalImprovement》 1.1、基本信息 标题:YOLOv3: An Incremental Improvement 作者:Joseph Redmon, Ali Farhadi 机构:华盛顿大学(University of Washington) 发表时间:2018年 代…

ck-editor5的研究 (5):优化-页面离开时提醒保存,顺便了解一下 Editor的生命周期 和 6大编辑器类型

前言 经过前面的 4 篇内容,我们已经慢慢对 CKEditor5 熟悉起来了。这篇文章,我们就来做一个优化,顺便再补几个知识点: 当用户离开时页面时,提醒他保存数据了解一下 CKEditor5 的 六大编辑器类型了解一下 editor 实例对…

unity开发棋牌游戏

使用unity开发的棋牌游戏,目前包含麻将、斗地主、比鸡、牛牛四种玩法游戏。 相关技术 客户端:unity 热更新:xlua 服务器:c Web服务器:ruoyi 游戏视频 unity开发棋牌游戏 游戏截图

2025GDCPC广东省赛游记(附赛时代码)

我觉得算是给swan的自证之旅画上一个句号吧...说实话HDU给我带来的不止是排位上的压力,更多的是对自己能力的怀疑,特别是pluto不明说但是我很清楚的看不起(没有责备本人的意思),evil和jxj之类的总感觉看到我就是看小丑…

元器件基础学习笔记——双极结型晶体管 (BJT)

一、概述 1.1 基本结构 双极结型晶体管(Bipolar Junction Transistor)由发射极(Emitter)、基极(Base)和集电极(Collector)三个掺杂程度不同的半导体区域组成,分别对应有…

2024最新DEM数据

数据简介 今天我们分享的数据是在2024年最新更新的全球DEM数据,并将其裁剪成中国区域以及各个省份与各个城市的数据,方便大家研究使用。 该数据来源于GEBCO,GEBCO是一个由测绘专家组成的国际小组,在国际水文组织(IHO&a…

小车冲进屋10岁姐姐神速救起妹妹 惊险瞬间化险为夷

小车冲进屋10岁姐姐神速救起妹妹 惊险瞬间化险为夷!老头乐作为一款低速电车,深受广大百姓的喜爱,甚至一些年轻人也对这种小车子爱不释手。然而,随着老头乐的不断发展,一些问题也随之而来,有些厂家甚至制造出了“老头乐半挂”,让人感到非常离谱。人们并不是讨厌这种车子,…

杨天真发视频回应留学争议 活出所有可能性

杨天真发视频回应留学争议 活出所有可能性。6月1日,壹心娱乐的杨天真在社交媒体上发文回应了她“出国留学”的消息。她表示:“我为什么去留学?用人生给自己写一封情书。为什么总是在改变?因为我渴望在有限的人生里活出所有的可能性。”杨天真在发布的视频中提到,由于长期不…

2岁娃遭遇危险卖菜大叔救助 警民合力寻回家长

近日,在湖北阳新县兴国镇的一个农贸市场,一名2岁男童独自一人从市场走向车流密集的马路。幸好一位在市场门口卖菜的村民及时发现,立刻上前拉住了他。孩子受惊后哭闹不止,村民把他带到自己的菜摊边,和路人一起耐心陪伴安抚,并报警为孩子寻找家长。民警赶到后带着孩子在市场…

全球首个4冠QQ用户即将诞生 回忆杀重现

全球首个4冠QQ用户即将诞生 回忆杀重现!你有多久没登录过自己的 QQ 了?自从 QQ 和微信开始小程序互通后,我偶尔会重新关注这个尘封已久的社交平台。最近,QQ 又迎来了一条新闻:全球第一个 QQ 等级达到 4 个皇冠的用户即将诞生。很多人可能已经忘记了“QQ 等级”这件事。200…

Matlab绘图

Matlab绘图 MATLAB 绘图一、基本绘图函数 plot1.1 基本语法1.2 样式字符串 s 的格式: 二、函数绘图 ezplot2.1 显函数绘图2.2 隐函数绘图2.3 参数方程绘图 三、其他二维图3.1 条形图 bar3.2 阶梯图 stairs3.3 杆图 stem3.4 填充图 fill3.5 极坐标图 polar3.6 饼图 p…

【学习笔记】On the Biology of a Large Language Model

On the Biology of a Large Language Model 1 Introduction 目标是对这些模型的内部工作机制进行逆向工程,从而更好地理解它们,并评估它们是否适合特定用途。 正如细胞是生物系统的基本构建单元,我们假设特征是模型内部计算的基本单位。仅仅…

打开、重新打开、关闭项目

目录 打开、重新打开、关闭项目打开项目从命令行打开项目 重新打开最近项目使用Run Anything命令打开项目从最近的项目列表中删除项目 关闭项目关闭当前项目关闭所有项目关闭除当前项目外的所有项目 打开多个项目更改项目打开策略取消附加项目合并项目窗口 (macOS)已知问题 打开…

“网红”副局长彭勃任新职 调任开发区管委会

去年因推介东北大米而走红的沈阳于洪区文旅局副局长彭勃,近期已调任新职。据“沈阳农工”微信公众号消息,近日,农工党沈阳市委员会举行第10期“咖咖辽悦建言”沙龙活动,彭勃以沈阳永安经济开发区管委会局长的身份参加了相关调研活动。报道显示,彭勃已调任沈阳永安经济开发…

陈梦妈妈谈与陈梦相处:除了训练吃饭睡觉,没精力谈恋爱

陈梦妈妈谈与陈梦相处。6月2日,在最新一期综艺节目中,陈梦妈妈表示:陈梦除了训练吃饭睡觉,哪有精力谈恋爱。陈梦妈妈提到自己与陈梦的相处,表示:“9岁前,她必须听我的,不听我的就不行。她毕竟是个小孩儿,有些东西她不懂。”“9岁她就进省队了,她的工资卡永远在我手里…

杨毅发文祝贺王楚钦夺冠 世乒赛荣耀加冕!

杨毅发文祝贺王楚钦夺冠世乒赛荣耀加冕。王楚钦世乒赛夺冠的热度可谓是非常高,热度已经突破了15亿。先农坛体校作为王楚钦梦开始的地方,为庆祝夺得双冠在校内立起了宣传板,满满的骄傲与自豪。杨毅作为篮球评论员也在社交平台发文大方的恭喜王楚钦夺得双冠,此前他也因为一些…