cesium编程入门(五)绘制形状
通过Entity添加形状
先来看一个添加立方体的例子
var viewer = new Cesium.Viewer('cesiumContainer');
var redBox = **viewer.entities.add**({
  name : 'Red box with black outline',
  position: Cesium.Cartesian3.fromDegrees(-107.0, 40.0, 300000.0),
  box : {
    dimensions : new Cesium.Cartesian3(400000.0, 300000.0, 500000.0),
    material : Cesium.Color.RED.withAlpha(0.5),
    outline : true,
    outlineColor : Cesium.Color.BLACK
  }
});
viewer.zoomTo(viewer.entities);
效果如图:

通过CZML添加
通过CZML也可以添加几何形状,而且CZML还可以描述动画(现在先有个印象,动画以后介绍)
先来看看官网上的说明,CZML是一种JSON格式的字符串,用于描述与时间有关的动画场景,CZML包含点、线、地标、模型、和其他的一些图形元素,并指明了这些元素如何随时间而变化。某种程度上说, Cesium 和 CZML的关系就像 Google Earth 和 KML。
var czml = [{
    "id" : "document",
    "name" : "box",
    "version" : "1.0"
},{
    "id" : "shape2",
    "name" : "Red box with black outline",
    "position" : {
        "cartographicDegrees" : [-107.0, 40.0, 300000.0]
    },
    "box" : {
        "dimensions" : {
            "cartesian": [400000.0, 300000.0, 500000.0]
        },
        "material" : {
            "solidColor" : {
                "color" : {
                    "rgba" : [255, 0, 0, 128]
                }
            }
        },
        "outline" : true,
        "outlineColor" : {
            "rgba" : [0, 0, 0, 255]
        }
    }
}];
var viewer = new Cesium.Viewer('cesiumContainer');
var dataSourcePromise = Cesium.CzmlDataSource.load(czml);
viewer.dataSources.add(dataSourcePromise);
viewer.zoomTo(dataSourcePromise);
可以看到单个的形状和Entity的描述基本一致,只不过是使用JSON语法来描述,关于形状描述可以参考官方API,下一节列出形状的相关信息
形状相关描述
下表来自于官方网站,但是连接改为本地链接了
| Point |  | entity.point - Reference Build/Documentation | 
| Boxes |  | entity.box - Code example - Reference Build/Documentation | 
| Circles and Ellipses |  | entity.ellipse - Code example - Reference Build/Documentation | 
| Corridor |  | entity.corridor - Code example - Reference Build/Documentation | 
| Cylinder and Cones |  | entity.cylinder - Code example - Reference Build/Documentation | 
| Polygons |  | entity.polygon - Code example - Reference Build/Documentation | 
| Polylines |  | entity.polyline - Code example - Reference Build/Documentation | 
| Polyline Volumes |  | entity.polylineVolume - Code example - Reference Build/Documentation | 
| Rectangles |  | entity.rectangle - Code example - Reference Build/Documentation | 
| Spheres and Ellipsoids |  | entity.ellipsoid - Code example - Reference Build/Documentation | 
| Walls |  | entity.wall - Code example - Reference Build/Documentation | 
cesium编程入门(五)绘制形状的更多相关文章
- cesium编程入门(九)实体 Entity
		cesium编程入门(九)实体 Entity 在cesium编程入门(五)绘制形状提到过添加实体的方法,这一节聊一聊实体相关的一些内容: 先来看 Entity 的各个属性 id 唯一标志,如果没设置, ... 
- cesium编程入门(八)设置材质
		cesium编程入门(八)设置材质 Cesium中为几何形状设置材质有多种方法 第一种方法 Material 直接构建Cesium.Material对象,通过设置Material的属性来进行控制,官方 ... 
- cesium编程入门(一)cesium简介
		cesium编程入门 cesium是什么 Cesium 是一个跨平台.跨浏览器的展示三维地球和地图的 javascript 库. Cesium 使用WebGL 来进行硬件加速图形,使用时不需要任何插件 ... 
- cesium编程入门(七)3D Tiles,模型旋转
		cesium编程入门(七)3D Tiles,模型旋转 上一节介绍了3D Tiles模型的位置移动,和贴地的操作,这一节来聊一聊模型的旋转, 参考<WebGl编程指南>的第四章 假设在X轴和 ... 
- 脑残式网络编程入门(五):每天都在用的Ping命令,它到底是什么?
		本文引用了公众号纯洁的微笑作者奎哥的技术文章,感谢原作者的分享. 1.前言 老于网络编程熟手来说,在测试和部署网络通信应用(比如IM聊天.实时音视频等)时,如果发现网络连接超时,第一时间想到的就是 ... 
- cesium编程入门(七)3D Tiles,模型旋转
		cesium编程入门(七)3D Tiles,模型旋转 上一节介绍了3D Tiles模型的位置移动,和贴地的操作,这一节来聊一聊模型的旋转, 参考<WebGl编程指南>的第四章 假设在X轴和 ... 
- cesium编程入门(五)绘制形状
		通过Entity添加形状 先来看一个添加立方体的例子 var viewer = new Cesium.Viewer('cesiumContainer'); var redBox = **viewer. ... 
- cesium编程入门(六)添加 3D Tiles,并调整位置,贴地
		添加 3D Tiles,并调整位置 3D Tiles 是什么 3DTiles数据集是cesium小组AnalyticlGraphics与2016年3月定义的一种数据集,3DTiles数据集以分块.分级 ... 
- cesium编程入门(六)添加 3D Tiles,并调整位置,贴地
		添加 3D Tiles,并调整位置 3D Tiles 是什么 3DTiles数据集是cesium小组AnalyticlGraphics与2016年3月定义的一种数据集,3DTiles数据集以分块.分级 ... 
随机推荐
- redis相对关系型数据库的优势
			它是键值数据库(非关系),数据查询比关系型数据库快. ps:redis是树状结构,查询快 redis是基于内存的一个数据库,I/O的效率影响较小. ps: 备份数据同步是才进行I/O操作.这个数据同步 ... 
- WordPress无法发送电子邮件,可能原因:您的主机禁用了mail()函数解决方案
			体验更优排版请移步原文:http://blog.kwin.wang/website/wp-cant-send-email-solution.html 最近折腾了下WordPress,给米表 搭了个论坛 ... 
- Nginx 前后端分离配置 分发
			前端项目VUE 端口8081 , 后端项目JAVA 端口8080 # For more information on configuration, see: # * Official English ... 
- Windows下python3安装pip管理包(转贴)
			方法有两种: 请参考:http://www.pip-installer.org/en/latest/installing.html#prerequisites 1.通过setuptools安装 安装s ... 
- sql中纵表变横表
			纵表格式如图所示: 查询sql语句如下: ),content)content,Date from SummerChina ' 变成横表如图所示: 纵表变横表sql语句如下: select Time, ... 
- hibernate查询出的实体,set值后,自动更新到数据库
			1.问题症状描述 最近在处理一个新需求问题,代码的大致逻辑是获取一个实体对象,调用该对象的set方法设置其中的某些字段,然后把修改后的实体作为参数供其他地方调用,根据返回值来决定是否更新这个 ... 
- 【Git】四、Git工作
			一.Git创建仓库 版本库:代码仓库(repository),可以理解为一个项目的目录,在这个项目的目录中Git对每个文件进行管理,记录每个文件的增删改查记录,并能够追踪历史,在需要的时候可以回退到某 ... 
- Linux下强大的查找命令find 用法和常见用例
			Linux系统下find是较为常用的指令,find命令在目录结构中搜索文件,并执行指定的操作,掌握它的形式与用法对我们很有用处. 因为Linux下面一切皆文件,经常需要搜索某些文件来编写,所以对于Li ... 
- docker swarm test
			consul: 192.168.111.111: docker run -d -p 8500:8500 --name=consul progrium/consul -server -bootstrap ... 
- HDFS设计理念
			[HDFS设计理念] 1. 读取整个数据集的时间延迟比读取第一条记录的延迟更重要. 2. HDFS以高延迟为代价,要求低时间延迟数据访问的应用,不适合在HDFS上运行. 3. namenode决定了集 ... 
