Cesium入门9 - Loading and Styling Entities - 加载和样式化实体_cesium entities 在infobox中显示属性值-程序员宅基地

技术标签: cesium  三维GIS  Web GIS  cesiumjs  

Cesium入门9 - Loading and Styling Entities - 加载和样式化实体

Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/

现在我们已经为我们的应用程序设置了Viewer配置、imagery和terrain的阶段,我们可以添加我们的应用程序的主要焦点——geocache数据。

为了便于可视化,Cesium支持流行的矢量格式GeoJson和KML,以及一种我们团队自己开源的格式,我们专门开发用于描述Cesium场景的[]CZML](https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/CZML-Guide)。

无论初始格式如何,Cesium中的所有空间数据都使用Entity API来表示。Entity API以一种有效提供灵活的可视化的方式,以便对Cesium进行渲染。Cesium Entity是可以与样式化图形表示配对并定位在空间和时间上的数据对象。测试沙盒中提供了许多简单Entity的例子。为了在Entity API的基础上加快速度,从这个应用程序中休息一下,然后阅读可视化的空间数据教程 Visualizing Spatial Data tutorial

以下有一些关于不同entity类型的例子:

一旦你掌握了一个Entity的样子,用Cesium装载数据集将是变得容易理解。要读取数据文件,需要创建适合于数据格式的数据源DataSource,该数据源将解析在指定URL中承载的数据文件,并为数据集中的每个地理空间对象创建包含EntityEntityCollection***。DataSource只是定义了一个接口——您需要的数据源的确切类型将取决于数据格式。例如,KML使用KmlDataSource*源代码。比如:

var kmlOptions = {
   
    
    camera : viewer.scene.camera,
    canvas : viewer.scene.canvas,
    clampToGround : true
};
// Load geocache points of interest from a KML file
// Data from : http://catalog.opendata.city/dataset/pediacities-nyc-neighborhoods/resource/91778048-3c58-449c-a3f9-365ed203e914
var geocachePromise = Cesium.KmlDataSource.load('./Source/SampleData/sampleGeocacheLocations.kml', kmlOptions);

上述代码读取我们样例的geocahce点,从一个KML文件中,调用KmlDataSource.load(optinos)带一些配置。针对一个KmlDataSource,相机和Canvas配置项是必须的。clamptoGround选项激活了ground clamping**,一种流行的描述配置用于是地面的几何entities比如多边形和椭圆符合地形而且遵从WGS84椭圆面。

由于这些数据是异步加载的,因此针对KmlDataSource返回一个的Promise,它将包含我们所有新创建的entities。

如果您不熟悉使用异步函数的PromiseAPI,这里的“异步”基本上意味着您应该在所提供的回调函数中完成所需的数据**.then.为了实际地将这些实体集合添加到场景中,我们必须等待直到promise完成,然后将KmlDataSource添加viewer.datasrouces**。取消以下几行注释:

// Add geocache billboard entities to scene and style them
geocachePromise.then(function(dataSource) {
   
    
    // Add the new data as entities to the viewer
    viewer.dataSources.add(dataSource);
});

默认情况下,这些新创建的实体具有有用的功能。单击将显示与实体相关的元数据的信息框Infobox,并双击缩放并查看实体。若要停止查看该实体,请单击“home”按钮,或单击“信息框”上的“划出”相机图标。接下来,我们将添加自定义样式来改善我们的应用程序的外观style。

对于KML和CZML文件,可以在文件中建立声明式样式。然而,对于这个应用,让我们练习手动设计我们的实体。要做到这一点,我们将采取类似的方法来处理这个样式示例,等待我们的数据源加载,然后迭代数据源集合中的所有实体,修改和添加属性。默认情况下,我们的geocache点标记被创建为BillboardsLabels,所以为了修改这些实体的外观,我们这样做:

// Add geocache billboard entities to scene and style them
geocachePromise.then(function(dataSource) {
   
    
    // Add the new data as entities to the viewer
    viewer.dataSources.add(dataSource);

    // Get the array of entities
    var geocacheEntities = dataSource.entities.values;

    for (var i =
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43736464/article/details/84244087

智能推荐

Android中在sdcard上创建文件夹_代码 安卓本地sd卡创建文件夹-程序员宅基地

文章浏览阅读1.4w次,点赞2次,收藏6次。//在SD卡上创建一个文件夹 public void createSDCardDir(){ if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){ // 创建一个文件夹对象,赋值为外部存储器的目录 File sdcardDir_代码 安卓本地sd卡创建文件夹

容器的cbegin()、crbegin()、crend()和cend()函数_cbegin crbegin-程序员宅基地

文章浏览阅读593次。容器的iterator概述访问顺序容器和关联容器中的元素,需要通过“迭代器(iterator)”进行。迭代器是一个变量,相当于容器和操纵容器的算法之间的中介。迭代器可以指向容器中的某个元素,通过迭代器就可以读写它指向的元素。从这一点上看,迭代器和指针类似。命名规则以vector 为例子,说明命名规则:类型方法修饰正向迭代器vector::iterator itervector反向迭代器vector::reverse_iterator rever_itervect_cbegin crbegin

设置RichTextbox行间距-程序员宅基地

文章浏览阅读374次。RichTextbox虽然内置的功能已经很强大了,但是还是有些功能没有提供,就比如“行间距”,不知道其内置的功能是否可以实现,这里在网上找到一个使用win32来设置的View Code 1publicconstintWM_USER=0x0400;2publicconstintEM_GETPARAFORMAT=WM_USER+6..._vb6.0 richtexrbox 行间距设置

spice-gtk-0.35源代码解析之spicy解析_g_mkdir_with_parents-程序员宅基地

文章浏览阅读3.6k次。 spice-gtk介绍:spice-gtk是基于红帽的spice远程连接协议的一套客户端核心源码,上层有一套virt-viewer也是客户端源代码,只不过spice-gtk属于底层直接对话协议的项目,而virt-viewer是基于spice-gtk的更加偏向于界面的项目。spicy:spicy是基于spice-gtk项目的一个测试可执行文件(virt-viewer的可执行文件re..._g_mkdir_with_parents

JAVA IO - 字符输出流 FileWriter_执行结果:abcdfilewriter (文件字符输出流)filewriter 是 writer 的-程序员宅基地

文章浏览阅读480次。1.继承关系图首先了解一下 FileWriter 的继承关系图,熟悉他的位置:FileWriter 是 OutputStreamWriter 的一个子类。OutputStreamWriter 是 Writer 的一个子类。2.API介绍字符输出流,就是将内容按字符从程序写入到文件中。 /** * 1.FileWriter : * 如果文件存在,可以直接写入内容 * 如果文件不存在,则会先创建文件再写入内容 * 【注】FileWrit_执行结果:abcdfilewriter (文件字符输出流)filewriter 是 writer 的子类,用于将字

SQL 获取某月最后一天_sql 当月最后一天-程序员宅基地

文章浏览阅读5.5k次。declare @year varchar(50)declare @month int declare @day int --超出日期declare @yearmonth varchar(50)set @year=2020set @month=10set @day=1set @yearmonth = @year + '-' + cast(@month+1 as varchar(50)) + '-01'--获取当月最后一天:dateadd(day,-1,cast(@yearmonth as d_sql 当月最后一天

随便推点

单一职责、接口隔离、依赖倒转、里氏替换、开闭原则、迪米特、合成复用_开闭原则和接口隔离原则-程序员宅基地

文章浏览阅读6.6k次,点赞12次,收藏49次。一、单一职责原则1、目的降低代码复杂度、降低系统耦合度、提高可读性2、定义对于一个类,只有一个引起该类变化的原因;该类的职责是唯一的,且这个职责是唯一引起其他类变化的原因。3、解决将不同的职责封装到不同的类或者模块中,当有新的需求将现有的职责分为颗粒度更小的职责的时候,应该及时对现有代码进行重构。4、注意事项和细节(1)降低类的复杂度,一个类只负责一项职责;(2)提高类的可读性,可维护性;(3)降低变更引起的风险;(4)通常情况下,我们应当遵守单一职责原则,只有逻_开闭原则和接口隔离原则

【正点原子Linux连载】 第十八章 platform设备驱动实验 摘自【正点原子】ATK-DLRK3568嵌入式Linux驱动开发指南-程序员宅基地

文章浏览阅读617次,点赞19次,收藏26次。62行设置paltform_driver中的device_driver成员变量的name和of_match_table这两个属性。其中name属性用于传统的驱动与设备匹配,也就是检查驱动和设备的name字段是不是相同。of_match_table属性就是用于设备树下的驱动与设备检查。对于一个完整的驱动程序,必须提供有设备树和无设备树两种匹配方法。最后63和64这两行设置probe和remove这两成员变量。

记录一下 踩的坑,安装MySQL 8.0.19教程_python8.0.19安装教程-程序员宅基地

文章浏览阅读388次。DML语句 data manipulation languagesDML只是对表内部数据操作。关键字主要有insert、delete、updata、select等。对表记录的插入(insert)、更新(update)、删除(delete)和查询(select),是开发人员日常使用最频繁的操作。..._python8.0.19安装教程

Linux下c++使用pthread库-程序员宅基地

文章浏览阅读480次。  pthread 库是纯c库,没有类指针的概念,当想phread_create中传递类成员函数时,就会报错,这里针对这种情况,对线程创建做了必要封装,较为简单,继承类,实现run接口,然后使用start启动线程即可,有点像Qt中线程的用法  /* * ThreadBase.h * * Created on: Oct 25, 2016 * Auth..._"#include \"thread_base.h"

TP5怎么隐藏index.php_tp5 域名后面怎么隐藏/index.php-程序员宅基地

文章浏览阅读242次。TP5怎么隐藏index.phptp5对URL简化,不做简化情况下我们访问的是localhost/index.php/index/index/index ,做简化后省去index.php。我们需要找到根index.php同级别目录下的.htaccess文件(如果没有就创建一个)修改成这样<IfModule mod_rewrite.c> Options +FollowSym..._tp5 域名后面怎么隐藏/index.php

金乡计算机老师培训,致敬!金乡优秀教师公布,有教过你的老师吗?-程序员宅基地

文章浏览阅读1k次。(来源:金乡发布)原标题:致敬!金乡优秀教师公布,有教过你的老师吗? 如果有一种力量可以指引人生的方向,这其中一定有他们的光芒;如果有一种声音可以影响一个人的思想,这其中一定有他们的嘹亮——没有什么比优秀教师的潜移默化更能在孩子的心目中留下如此深刻的印象。2019年度,金乡学区教育教学成绩斐然,让我们一起把目光投向这些最可爱的教师,领略他们的风采。优秀班主任 黄文锦 金乡高级中学教育应该像生命中的..._金乡镇高级中学谭老师简介照片