cesium从入门到进阶(一):Viewer、Scene、Camera、加载第三方影像、地形服务

与 twist 有关的方法就是在相机位置不变的情况下,调整相机视角向左(逆时针)或向右(顺时针)扭转,这类方法不会改变相机的位置,只会改变相机的朝向;,与 look 有关的方法就是在相机位置不变的情况下,调整相机镜头的上下左右四个方向朝向,这类方法不会改变相机的位置,只会改变相机的朝向;,与 rotate 有关的方法会根据提供的角度参数旋转相机视角,这类方法会改变相机的位置,也会改变相机的朝向;是高程为 0 的地形,若初始化时不指定地形,那么默认的就是使用的该地形服务,加载。
摘要由CSDN通过智能技术生成

cesium从入门到进阶(一)

目录

cesium从入门到进阶(一)

视图 Viewer

场景 Scene

相机 Camera

viewer Scene Camera 常用配置

加载第三方影像

ArcGisMapServerImageryProvider

BingMapsImageryProvider

GridImageryProvider

SingleTileImageryProvider

TileCoordinatesImageryProvider

UrlTemplateImageryProvider

Google 影像服务

高德影像服务

WebMapTileServiceImageryProvider

天地图影像(推荐)

加载地形服务

地形提供者 TerrainProvider

ArcGISTiledElevationTerrainProvider

CesiumTerrainProvider

自行发布的地形服务

火星科技地形

maptiler 地形

CustomHeightmapTerrainProvider

EllipsoidTerrainProvider


在 Cesium 中有几个比较核心的类,也是开发过程中比较常用的:

  • Viewer: Cesium 的核心类,对应着 Cesium 展示三维要素内容的主窗口

  • Scene: 是在 Viewer 或 CesiumWidget 内部隐式创建的

  • CameraCamera主要用来描述和操作场景的视角

视图 Viewer

Viewer 是 Cesium 的核心类,对应着 Cesium 展示三维要素内容的主窗口。

主要详解可参考:

https://blog.csdn.net/happy81997/article/details/103527477

它不仅仅是包含三维地球的视窗,还包含一些基础控件,所以在定义 Viewer 对象的同时需要设定基础部件图层等的初始化状态。

Cesium 开发的大部分工作在 Scene 场景中执行,包括调用图层3D Tiles 数据加载、场景交互等。

另外 Cesium 提供了 EntityDataSource 等封装好的数据加载方式,降低了三维开发难度。

Viewer对象主要包括如下属性:

  • camera:相机属性,主要用于控制视角;

  • widgets(非属性):widgets并非Viewer对象的属性,在这里特指所有控件:

    • animation:动画控件;

    • baseLayerPicker:影像图层选择器;

    • fullscreenButton:全屏按钮;

    • geocoder:查找位置;

    • homeButton:返回视角到初始位置;

    • navigationHelpButton:帮助按钮;

    • timeline:时间轴;

    • vrButton:VR 按钮。

  • imageryLayers:影像图层集合;

  • terrainProvider:地形提供者;

  • entities:实体集合;

  • dataSources:矢量数据集合;

  • Event(非属性):Event并非Viewer对象的属性,在这里特指所有事件:

    • screenSpaceEventHandler:屏幕操作事件;

    • selectedEntityChanged:选取实体事件;

    • trackedEntityChanged:追踪实体事件。

  • scene:场景,sceneViewer对象的属性,但它也是 Cesium 中的一个关键的对象,用于添加图形(primitive)、添加场景特效和添加场景事件

场景 Scene

Scene 是构建场景的类, 是 Cesium 中非常重要的类。Cesium 开发大多基于 Scene 类,其主要包含四部分内容:

  • 基础地理环境设置,如地球参数(globe)、光照(light)、(fog)、大气(skyAtmosphere)

  • 基础图层设置,包含地图图层地形图层

  • 场景数据,Cesium 底层空间数据绘制方式是依赖 Primitive。Primitive API 功能强大而且非常灵活.为程序员绘制高级图形提供很大自由度、开发者可根据图形学原理自定义高级图形。技术难度较大,对于初学者较为困难,相比较面言Entity封装程度高,构造简单,使用便捷,目前不支持自定义。3D Tiles是 Primitive 的非常重要部分,可以实现大数据量加载

  • 场景交互函数,如pick(鼠标事件)、camera(相机事件)

相机 Camera

Cesium 通过相机来控制场景中的视域旋转缩放平移等操作都可控制相机移动,使用相机Camera操作场景分为如下几类:

  • 飞行 fly:flyHomeflyToflyToBoundingSphere,与 fly 有关的方法的特点就是在改变相机视角时会伴随飞行动画;这类方法一定会改变相机的位置,但是不一定会改变相机的朝向;

  • 缩放 zoom:zoomInzoomOut,与 zoom 有关的方法类似于使用鼠标滚轮来操作场景进行缩小或放大;这类方法不会改变相机的朝向,只会改变相机的位置;

  • 移动 move :moveBackwardmoveDownmoveForwardmoveLeftmoveRightmoveUp,与 move 有关的方法就是在前后左右上下这六个方向上移动相机,这类方法不会改变相机的朝向,只会改变相机的位置;

  • 视角 look :lookDownlookLeftlookRightlookUp,与 look 有关的方法就是在相机位置不变的情况下,调整相机镜头的上下左右四个方向朝向,这类方法不会改变相机的位置,只会改变相机的朝向;

  • 扭转 twist :twistLefttwistRight,与 twist 有关的方法就是在相机位置不变的情况下,调整相机视角向左(逆时针)或向右(顺时针)扭转,这类方法不会改变相机的位置,只会改变相机的朝向;

  • 旋转 rotate :rotateDownrotateLeftrotateRightrotateUp,与 rotate 有关的方法会根据提供的角度参数旋转相机视角,这类方法会改变相机的位置,也会改变相机的朝向;

  • 其他操作相机的方法:

    • setView直接将相机视角定位到某个位置;

    • lookAt直接将相机视角定位到某个位置,但是会锁定相机视角。

viewer Scene Camera 常用配置

下面给大家总结一些 viewer Scene Camera

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值