Cesium入门:Primitives 核心知识点总结

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。

在这里插入图片描述

No.内容链接
1Openlayers 【入门教程】 - 【源代码+示例300+】
2Leaflet 【入门教程】 - 【源代码+图文示例 150+】
3Cesium 【入门教程】 - 【源代码+图文示例200+】
4MapboxGL【入门教程】 - 【源代码+图文示例150+】
5前端就业宝典 【面试题+详细答案 1000+】


在这里插入图片描述

Cesium中的Primitives是用于直接管理底层图形数据和渲染过程的核心组件,它提供了比Entities更低层级的控制,适合对性能有严格要求或者需要更细粒度自定义的场景。下面是关于Cesium Primitives的一些核心知识点总结:

1. 基本概念

  • Primitive:代表场景中的几何图形实例,它是直接与图形管道交互的低级对象。相比Entities,它提供了更直接的图形渲染控制。
  • PrimitiveCollection:用于管理多个Primitive对象的集合,可添加至场景中进行统一管理。

2. 创建Primitive

  • 使用viewer.scene.primitives.add(primitive)方法将Primitive添加到场景中。
  • 构造Primitive时,通常需要提供geometryInstances(几何实例数组)和appearance(外观定义),例如使用BoxGeometryEllipsoidGeometry等定义几何形状,并通过Appearance(如EllipsoidSurfaceAppearance)指定材质。

3. 几何实例(GeometryInstance)

  • 几何实例包含实际的几何数据(如BoxGeometry、CorridorGeometry等)以及该几何体的变换矩阵、属性等信息。
  • 可以通过GeometryInstance创建单个几何实例,并应用于Primitive。

4. 外观(Appearance)

  • 控制Primitive的视觉效果,如颜色、纹理、光照等。
  • 常用的有EllipsoidSurfaceAppearancePerInstanceColorAppearance等,可根据需求选择合适的Appearance类型。

5. 分类渲染(Classification)

  • 使用ClassificationPrimitive可以实现地面覆盖物的分类渲染,比如基于高度的地形覆盖分类。
  • 这种类型的Primitive可以用于绘制地形上的建筑物或其他地面特征,而不会遮挡底下的地形。

6. 性能与优化

  • 直接操作Primitives可以减少Entity带来的额外开销,适合大量静态几何图形的高效渲染。
  • 利用实例化(Instancing)技术,通过单个几何体实例创建大量相同或相似的物体,以减少GPU内存占用和提高渲染效率。
  • 考虑几何体的合并(Geometry Instancing)和细节层次(Level of Detail, LOD)策略以优化渲染性能。

7. 动态更新

  • 虽然Primitives设计偏向静态数据,但可以通过修改几何实例或外观的属性实现动态效果。
  • 对于频繁更新的场景,可能需要手动管理更新逻辑和资源重用。

8. 与其他Cesium组件的交互

  • Primitives与Scene, Camera, DataSource等其他Cesium组件紧密集成,理解它们之间的交互对于复杂应用的开发至关重要。

总之,Cesium中的Primitives为开发者提供了强大的底层图形渲染控制能力,适用于高性能、定制化需求较高的3D应用开发场景。正确运用Primitives,结合Cesium提供的其他高级功能,可以创造出既美观又高效的地理空间可视化应用。

  • 67
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 39
    评论
CESIUM EPSG::900913 是指Cesium中常用的投影坐标系,也被称为Web墨卡托投影(Web Mercator)。该投影使用了EPSG:3857的代码。它是一种等距投影,用于在Web地图中显示经纬度坐标。Web墨卡托投影将地球表面投影到一个平面上,使得在地图上的距离与实际距离近似相等,从而方便进行地理数据的可视化和分析。 要在Cesium中使用EPSG::900913投影,您可以在代码中使用相应的坐标系转换库(例如proj4)来将其他坐标系转换为EPSG::900913。您还可以查找提供的地理数据文件(如geojson或json文件)中的"crs"字段,查找与EPSG::900913或EPSG::3857相关的字段名称。 请注意,虽然EPSG::900913常用于Web地图应用程序中,但它实际上是一个非正式的投影代码,因此更推荐使用EPSG::3857来表示Web墨卡托投影。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Cesium出现Unknown crs name: urn:ogc:def:crs:EPSG:xxxx](https://blog.csdn.net/weixin_43972992/article/details/127066824)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [ol-cesium:OpenLayers-Cesium集成](https://download.csdn.net/download/weixin_42121086/14949890)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还是大剑师兰特

打赏一杯可口可乐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值