Ceisum官方教程3 -- 空间数据可视化

原文地址:https://cesiumjs.org/tutorials/Visualizing-Spatial-Data/

这篇教程教你如何使用Cesium的Entity API去绘制空间数据,如点,图标,文字标注,折线,模型,图形和立体图形。虽然这章不需要什么前提,但是如果你对Cesium一无所知,最好从第一个教程开始。
Entity API是什么?
Cesium丰富的空间数据可视化API分为两部分:Primitive API 面向三维图形开发者,更底层一些。Entity API 是数据驱动更高级一些。
Primitive API的主要目的是为了完成(可视化)任务的最少的抽象需求。他要求我们以一个图形开发者的方式去思考,并且使用了一些图形学术语。它是为了最高效最灵活的实现可视化效果,忽略了API的一致性。比如绘制三维模型和创建Billboard不同,和多边形绘制更是彻底不同。每种可视化都有自己鲜明的特色。此外,他们每种都有自己的独特的性能提升方式,也需要遵守不同的优化原则。虽然它很强大又很灵活,但是大多数项目需要比Primitive API更高层次的抽象。
Entity AP的主要目的是定义一组高级对象,它们把可视化和信息存储到统一的数据结果中,这个对象叫Entity。 它让我们更加关注我们的数据展示而不是底层的可视化机制。它提供了很方便的创建复杂的,与静态数据相匹配的随时间变化的可视化效果。Entity API实际内部在使用Primitive API ,它的实现细节,我们无需关心。经过各种数据的测试,Entity API提供灵活的,高层次的可视化,同时暴露一些一致性的、容易去学习和使用的接口。
第一个 Entity
学习Entity API基本使用的最好方式就是去读代码。简单其间,我们使用Sandcastle去创建 Hello World 示例。如果你已经创建了本地的cesium项目,那么使用你自己的项目。

假设,我们需要从经纬度列表中创建美国怀俄明州(选择怀俄明州Wyoming,是因为它的边界足够简单)的多边形。把下面的代码粘贴拷贝到Sandcastle中去:
在这里插入图片描述
单机Run 按钮(或者按下F8)就看到如下图所示效果:
在这里插入图片描述
怀俄明州

第一个 entity.怀俄明州从来没有让人如此兴奋.

我们尽力使Cesium的代码容易理解,上面的代码不用解释也应该明白什么意思。首先创建Cesium程序的基础对象 Viewer widget, 然后使用viewer.entities.add添加 Entity。传给 add 方法的参数一个包含了初始化配置的js 对象. 返回值就是 entity 对象. 最后调用 viewer.zoomTo 定位到到这个entity。
Entity 的配置项里有大量的参数,但是现在我们只是设置了 polygon 的填充面为半透明红色,边界线时黑色的。最后把这个entity命名为“Wyoming”。
面和体
学了基础的添加多边形知识,多亏Entity API的一致性非常好,我们结合Sandcastle 的示例,就很容易就创建各种图形。下面是所有支持的面和体的图形列表:
在这里插入图片描述
Box
六面体盒子entity.box
在这里插入图片描述
Ellipse
圆和椭圆entity.ellipse
在这里插入图片描述
Corridor
Corridor entity.corridor
在这里插入图片描述
Cylinder
圆柱和圆锥 entity.cylinder
在这里插入图片描述
Polygon
多边形 entity.polygon
在这里插入图片描述
Polyline
折线 entity.polyline
在这里插入图片描述
Volume
Polyline Volumes entity.polylineVolume
在这里插入图片描述
Rectangle
矩形 entity.rectangle

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值