cesium入门简介-程序员宅基地

技术标签: node.js  前端  Cesium  typescript  

简介:Cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎。Cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的触摸支持,且支持绝大多数的浏览器和mobile。

主要功能

1.使用3d tiles格式流式加载各种不同的3d数据,包含倾斜摄影模型、三维建筑物、CAD和BIM的外部和内部,点云数据。并支持样式配置和用户交互操作。

2.全球高精度地形数据可视化,支持地形夸张效果、以及可编程实现的等高线和坡度分析效果。

3.支持多种资源的图像图层,包括WMS, TMS.WMTS以及时序图像。图像支持透明度叠加、亮度、对比度、GAMMA、色调、饱和度都可以动态调整,支持图像的卷帘对比。

4.支持标准的矢量格式KML、 GeoJSON, TopoJSON.以及矢量的贴地效果。

5.三维模型支持gltf2.0标准的PBR材质、动画、蒙皮和变形效果。贴地以及高亮效果。

6.使用CZML支持动态时序数据的展示。

7.支持各种几何体:点、线、面、标注、公告牌、立方体、球体、椭球体、圆柱体、走廊(corridors)、管径、墙体

8.可视化效果包括:基于太阳位置的阴影、自身阴影、柔和阴影。

9.大气、雾、太阳、阳光、月亮、星星、水面。

10.粒子特效:烟、火、火花。

11.地形、模型、3d tiles模型的面裁剪。

12.对象点选和地形点选。

13.支持鼠标和触摸操作的缩放、渲染、惯性平移、飞行、任意视角、

地形碰撞检测。

14.支持3d地球、2d地图、2.5d哥伦布模式。3d视图可以使用透视和正

视两种投影方式。

15.支持点、标注、公告牌的聚集效果。

3d tiles得特点

协议完全开放:任何组织机构都可以用此标准来定义自己的数据。

渐进加载和渲染:这是3dtiles的主要目的,采用HLOD技术,保证只加载和渲染和当前精度匹配的数据。面向三维空间:定义在三维空间中,不仅仅是点、线、面等常规二维数据

可交互:支持鼠标选择和高亮

样式可配置:根据对象属性修改对象的显示样式。

更强的适应性:空间索引不仅仅支持常规四叉树,可以根据数据内容动态构建索引树。更强的灵活性:动态调整数据加载精度

更广泛的数据支持:点云(pnts)、三维模型(b3dm,13dm)、甚至地形、矢量(vctr)都可以用3d tiles格式定义。精度:使用矩阵偏移解决大坐标值的漂移问题

实时的:支持动态数据

使用cesium

下载cesium得目录:版本1.9

使用node.js运行起来 http-server -c -1

打开运行窗体

此时cesium就运行起来了。 详细搭建过程参考:cesium编程入门(二)环境搭建 | cesium中文网

 第一个项目:

1.创建一个文件夹First-cesium-helloworld

2.将Cesium目录下的Build文件拷贝进来,将Apps下的HelloWorld拷贝进来

3.使用Node.js发布

3.1. 添加Server.js文件

var http = require("http");
var express = require("express");
const path = require('path');

var app = express();
app.use(express.static(path.join(__dirname, '')));

app.listen(4111, () => {
  console.log(`App listening at port 4111`)
})

 3.2

D:\test\Cesium-test> yarn add express
//或者
D:\test\Cesium-test> cnpm install express --save

此时你将得到

运行node server.js

打开网页http://127.0.0.1:4111/index.html

 此时,一个demo发布完毕

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

智能推荐

Consumer HDU - 3449 (有依赖的背包)_consumer hdu3449-程序员宅基地

文章浏览阅读281次。Consumer 题目链接:HDU - 3449 题意:FJ要去购物,买的商品要用箱子装起来,每个箱子装不同的商品,问FJ能获得的最大价值;只有先买了箱子,才能买固定的物品,所以这是个有依赖的背包问题,对于每个箱子内的物品一定是按01背包看是否要买;对于每个箱子有两个状态,买,不买;买了就必定买了对应商品,那么买了这一箱子后,用剩下的钱买商品;#include <bit..._consumer hdu3449

BCB实现DLL简单demo_bcb封装窗口类dll-程序员宅基地

文章浏览阅读237次。主要分为两个部分:创建DLL文件,调用DLL文件。Note: BCB运行环境:2010 C++ Builder XE创建DLL文件Step1 创建DLL Projecta.1双击BCB软件,接着依次选择:File→New→Other,跳出如下dialoguebox:a.2或者在右侧点击,add new project,跳出如下dialoguebox:b. 选择“Dy..._bcb封装窗口类dll

Stable Diffusion 用2D图片制作3D动态壁纸_stable-diffusion-webui-depthmap-script-程序员宅基地

文章浏览阅读3.5k次。如果想让我们的2D图片动起来可以使用插件在SD中进行加工让图片动起来。这是一个可以从单个图像创建深度图,现在也可以生成3D立体图像对的插件,无论是并排还是浮雕。生成的结果可在3D或全息设备(如VR耳机或Looking Glass显示器)上查看,也可用于具有位移修改器的平面在渲染引擎或游戏引擎中使用,甚至可用于3D打印。Stable Diffusion 用2D图片制作3D动态壁纸。_stable-diffusion-webui-depthmap-script

计算机专业学量化金融CQF 好吗-程序员宅基地

文章浏览阅读307次,点赞4次,收藏9次。计算机专业的学生学习量化金融CQF(Certificate in Quantitative Finance)是一个很好的选择,取决于个人的职业规划、兴趣和目标。

1秒分清empty字符串和null的区别-程序员宅基地

文章浏览阅读1k次。@IT程序猿 微博网友评论:@Belenguar:这是一位程序员在马桶上长达几个小时的思考中领悟出来的?@梁月vv:我以为电影座椅呢。@伯于艾克:难怪我一直没理解,我把他..._null和empty

xman_2019_format(非栈上格式化字符串仅一次利用的爆破)_ctf 格式化字符串 只能利用一次-程序员宅基地

文章浏览阅读1.4k次。xman_2019_format首先检查一下程序的保护机制然后用IDA分析一下存在一个后门函数s执行的内存是非栈上,这类格式化字符串漏洞,一般需要先泄露栈地址,但是这里无法做到,如果泄露了,第二次也没机会来再次利用了。因为这里是一次输入,分步执行。没有循环的交互。因此,最简单的方法是爆破栈的低1字节。通过栈上已有的数据,在栈上布下一个指向函数返回地址栈的指针,然后劫持返回地..._ctf 格式化字符串 只能利用一次

随便推点

android_基础_圆形imageView的实现_android 圆形imageview-程序员宅基地

文章浏览阅读2.6k次,点赞5次,收藏17次。四种自定义圆形ImageView的方法BitmapShader: 使用着色器Xfermode:使用图层叠加ClipPath:通过对画布裁剪的方式RoundedBitmapDrawable: 系统API圆角类前面三种是通过继承ImageView重写onDraw()方法实现最后一种是系统API直接使用。每一种方式都能实现显示圆形图片, 我们主要从以下几个方面来比较各个方式的不同实现方式难易空白的背景抗锯齿的能力第1种方式:BitmapShader实现通过对Pain_android 圆形imageview

2.入门实例_public modelandview getrole(@requestparam("id") lo-程序员宅基地

文章浏览阅读546次。入门实例1先建个动态项目2配置web.xml:配置IOC容器applicationContext.xml的路径和初始化配置调度控制器DispatcherServlet<?xml version="1.0" encoding="UTF-8"?><web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/java..._public modelandview getrole(@requestparam("id") long id) { role role = roles

c++入门 简单语句 空语句 作用域和块 复合语句_c++复合语句和基本语句地位相同吗-程序员宅基地

文章浏览阅读653次。简单语句所谓语句,就相当于自然语言中的句子,是c++的一个编译单位。一个语句中可以只有一个操作,如“i++”,也可以有好多操作,如“da+b+c”,其中有赋值,又有几个加法。几个语句也可以组成条件控制和循环控制的语句结构,因此语句就只是一个单位而已,我们不要用固定思维来看他。空语句c++中大多数的语句都以分号(;)结尾,而前面空无一物的分号也可以称为空语句(null),空语句在编译中会被当成一个语句,但他并没有什么作用。最常见的空语句就是for循环的头部定义的三个语句,在看到for循环的省略形式时就会_c++复合语句和基本语句地位相同吗

java序列化与反序列化详解_java序列化和反序列化-程序员宅基地

文章浏览阅读2.3k次,点赞5次,收藏10次。serialVersionUID - 0x0e 76 fa 9f 59 73 be c6 是16进制转换为二进制,就是生成的值transient修饰的变量不能被序列化;transient只作用于实现 Serializable 接口;transient只能用来修饰普通成员变量字段;不管有没有 transient 修饰,静态变量都不能被序列化;_java序列化和反序列化

安全多方计算之十:联邦学习与安全多方计算-程序员宅基地

文章浏览阅读2.9k次,点赞14次,收藏15次。联邦学习和安全多方计算都是解决数据隐私保护问题的技术,两者既有联系又有区别。本文针对两种的基本概念、应用场景、区别与联系进行了详细介绍。_联邦学习与安全多方计算

Java 创建目录,移动文件,重命名文件名_java创建目录命名-程序员宅基地

文章浏览阅读327次,点赞6次,收藏2次。前言今天要使用Java File类,实现创建目录,移动文件,重命名文件名功能[email protected] public void mvFileTest() { String fileName = "test.txt"; // 目标文件目录 String cameraPath = "C:/develop/project/lmes/ftp_root/camera"; // 源文件 File sourceF_java创建目录命名

推荐文章

热门文章

相关标签