技术标签: 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发布完毕
文章浏览阅读1.1w次,点赞7次,收藏34次。vue-grid-layout的使用、实例、遇到的问题和解决方案_vue-grid-layout
文章浏览阅读218次。然后连接一个数据源,就会在下面自动产生一个添加附件的组件。把这个控件复制粘贴到页面里,就可以单独使用来上传了。插入一个“编辑”窗体。_powerapps点击按钮上传附件
文章浏览阅读264次。(1) Abstraction (抽象)(2) Polymorphism (多态)(3) Inheritance (继承)(4) Encapsulation (封装)_"object(cnofd[\"ofdrender\"])十条"
文章浏览阅读133次。删除node_modules,重新npm install看是否成功。在 package.json 文件中的 scripts 中加入。修改你的第三方库的bug等。然后目录会多出一个目录文件。_修改 node_modules
文章浏览阅读883次。【代码】【】kali--password:su的 Authentication failure问题,&sudo passwd root输入密码时Sorry, try again._password: su: authentication failure
文章浏览阅读1w次,点赞13次,收藏97次。整理5个优秀的微信小程序开源项目。收集了微信小程序开发过程中会使用到的资料、问题以及第三方组件库。_微信小程序开源模板
文章浏览阅读128次。Centos7最简搭建NFS服务器_centos7 搭建nfs server
文章浏览阅读1.2k次,点赞2次,收藏3次。前言mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中通过SQL语句操作数据库,很是灵活。但正其操作都要通过SQL语句进行,就必须写大量的xml文件,很是麻烦。mybatis-plus就很好的解决了这个问题。..._mybaitis-plus ruledataobjectattributemapper' and 'com.picc.rule.management.d
文章浏览阅读325次。EECE 1080C / Programming for ECESummer 2022Laboratory 4: Global Functions PracticePlagiarism will not be tolerated:Topics covered:function creation and call statements (emphasis on global functions)Objective:To practice program development b_eece1080c
文章浏览阅读53次。被同机房早就1年前就学过的东西我现在才学,wtcl。设要求的数为\(x\)。设当前处理到第\(k\)个同余式,设\(M = LCM ^ {k - 1} _ {i - 1}\) ,前\(k - 1\)个的通解就是\(x + i * M\)。那么其实第\(k\)个来说,其实就是求一个\(y\)使得\(x + y * M ≡ a_k(mod b_k)\)转化一下就是\(y * M ...
文章浏览阅读1.3k次。首先,问题是如何出现的?晚上复查代码,发现一个activity没有调用自己的ondestroy方法我表示非常的费解,于是我检查了下代码。发现再finish代码之后接了如下代码finish();System.exit(0);//这就是罪魁祸首为什么这样写会出现问题System.exit(0);////看一下函数的原型public static void exit (int code)//Added ..._android 手动杀死app,activity不执行ondestroy
文章浏览阅读894次。Q: SylixOS 版权是什么形式, 是否分为<开发版税>和<运行时版税>.A: SylixOS 是开源并免费的操作系统, 支持 BSD/GPL 协议(GPL 版本暂未确定). 没有任何的运行时版税. 您可以用她来做任何 您喜欢做的项目. 也可以修改 SylixOS 的源代码, 不需要支付任何费用. 当然笔者希望您可以将使用 SylixOS 开发的项目 (不需要开源)或对 SylixOS 源码的修改及时告知笔者.需要指出: SylixOS 本身仅是笔者用来提升自己水平而开发的_select函数 导致堆栈溢出 sylixos