cesium学习记录
文章平均质量分 61
cz追天之路
这个作者很懒,什么都没留下…
展开
-
Cesium开发基础篇 | 063D Tiles介绍及加载
上一节我们介绍了glTF的主要数据结构以及Cesium是如何对其进行加载的,这一节我们来介绍一下glTF的升级版3D Tiles ,也是目前 Cesium 在加载海量三维模型数据方面必须采用的一种数据格式。13D Tiles介绍3D Tiles 是在glTF的基础上,加入了分层LOD的概念(可以把3D Tiles简单地理解为带有 LOD 的 glTF ),专门为流式传输和渲染海量 3D 地理空间数据而设计的,例如倾斜摄影、3D 建筑、BIM/CAD、实例化要素集和点云。它定义了一种数据分层结构和一组切片转载 2021-06-28 19:49:34 · 1591 阅读 · 0 评论 -
Cesium开发基础篇 | 05glTF介绍及加载
到目前为止,我们已经介绍了如何利用Cesium显示影像数据、地形高程数据、矢量数据,以及空间可视化方面的几何数据(Entity),感兴趣的同学可以阅读我前面写的文章。在三维数据方面,Cesium支持模型文件glTF,以及三维瓦片数据3D Tiles。本次我们先从glTF说起,3D Tiles的讲解留给下一章节。1glTF介绍glTF全称是 Graphics Language Transmission Format (图形语言传输格式),是一种针对GL(WebGL,OpenGL ES以及OpenGL)接口转载 2021-06-28 19:49:10 · 1449 阅读 · 0 评论 -
Cesium开发基础篇 | 04空间数据可视化之Entity
前面介绍了Cesium如何加载影像数据、地形数据、以及矢量数据,但是作为一个完整的三维系统,仅仅包括这些数据还是远远不够的。当然,还需要一些其他数据,比如空间可视化数据、三维数据数据等,今天我们先从空间数据的可视化说起,后面会有专门的章节介绍三维数据方面的加载。Cesium在空间数据可视化方面提供了两种类型的API,一种是面向图形开发人员的低级(原始)API,通过Primitive类实现,对于那些对计算机图形学知识很了解的同学可以采用Primitive API,后面章节会有详细介绍;另一种是用于数据驱动的转载 2021-06-23 16:09:27 · 1337 阅读 · 0 评论 -
Cesium开发基础篇 | 03加载矢量数据
基础篇的前两节我们学习了在三维球中通过Cesium如何加载影像数据和地形数据,今天我们学习一下Cesium是如何加载矢量数据的。在学习之前,首先我们先了解一下什么是矢量数据。矢量数据(Vector Data)是用X、Y、Z坐标表示地图图形或地理实体位置的数据,一般是通过记录坐标的方式来尽可能将地理实体的空间位置表现的准确无误,常见的矢量数据有:点、线、面等格式。我们使用矢量数据的原因,就是因为矢量数据具有数据结构紧凑、冗余度低、有利于网络和检索分析、图形显示质量好、精度高等优点。目前最常见的矢量数据格式转载 2021-06-23 15:40:51 · 836 阅读 · 0 评论 -
Cesium开发基础篇 | 02加载地形数据
01Cesium中的地形图层类前面我们主要学习了cesium内置接口如何操作影像数据,但是在一些应用场景中我们需要操作地形数据,例如模拟逼真的三维场景、与高程相关的一些空间分析和计算等。Cesium提供了TerrainProvider基类,该Provider负责每一个Tile对应的地形数据的构建,定义了一套地形Provider需要实现的接口和规范,但本身并不会参与其中的操作。基于此类,cesium为我们封装了5个现成的继承类操作地形数据:不像上一讲介绍的影像图层(有专门的ImageryLayer)那样转载 2021-06-23 14:59:01 · 443 阅读 · 0 评论 -
Cesium开发基础篇 | 01加载影像数据
01Cesium中的影像图层类无论是二维地图还是三维地图,如果缺少了底图影像或电子地图,都是不完整的。Cesium为我们提供了ImageryLayerCollection、ImageryLayer以及相关的ImageryProvider类来加载不同的影像图层。虽然Cesium把此类图层叫做Imagery*,但并不是特指卫星影像数据,还包括一些互联网地图、TMS、WMS、WMTS、单个图片等。ImageryLayer类Cesium.ImageryLayer类用于表示Cesium中的影像图层,它就相当于皮转载 2021-06-23 14:53:02 · 1480 阅读 · 1 评论 -
Cesium开发入门篇 | 06坐标系及坐标变换
01Cesium中常用的坐标1.屏幕坐标(像素)即二维笛卡尔平面坐标,我们通过鼠标点击直接获取的坐标就是屏幕坐标了,单位是像素值,也可以通过new Cesium.Cartesian2(x, y)创建。笛卡尔空间直角坐标笛卡尔空间直角坐标又称为世界坐标,Cesium中用Cartesian3变量表示,可通过new Cesium.Cartesian3(x, y, z)创建,主要是用来做空间位置的变化如平移、旋转和缩放等等,它的坐标原点在椭球的中心,如下图所示:2.地理坐标(弧度)Cesium中的地理转载 2021-06-23 11:03:07 · 388 阅读 · 0 评论 -
Cesium开发入门篇 | 05Cesium API结构介绍
在实际的开发过程中,基本上会用到上图所示的Cesium API中各个类,我们可以把它按照以下分类进行记忆。Viewer类属性imageryLayers 影像数据terrainProvider 地形数据dataSources 矢量数据entities 几何实体集合(用于空间数据可视化)Widgets 组件,即Viewer初始化界面上的组件Camera 相机Event 事件,鼠标事件、实体选中事件等Scene类属性primitives 图元集合(几何体和外观)postProcessSta.原创 2021-06-23 10:55:54 · 559 阅读 · 0 评论 -
Cesium开发入门篇 | 04Viewer界面介绍及组件显隐
01Viewer界面介绍任何Cesium应用程序的基础都是Viewer,Viewer是一个带有多种功能的可交互的三位数字地球的容器。在Cesium开发入门篇 | 02Cesium开发环境搭建及第一个示例中我们已经通过以下代码初始化了一个视图窗口,看到了一个基本的数字地球。var viewer = new Cesium.Viewer("cesiumContainer");默认地,场景支持鼠标(电脑端)和手指触摸(移动端)交互,并且支持以下相机漫游方式:按住鼠标左键拖拽 - 让相机在数字地球平面平移原创 2021-06-23 10:53:36 · 520 阅读 · 0 评论 -
Cesium开发入门篇 | 03Cesium目录结构介绍
上一讲我们已经下载了1.75版本的Ceisum并进行了解压,解压内容如下图所示,这一讲我们详细介绍每个目录文件具体表示什么意思,下面就对主要文件(夹)进行说明。01根路径文件CHANGES.md:Cesium每个版本的变更记录以及每个版本修复了哪些功能。gulpfile.cjs:记录了cesium的所有打包流程,包括GLSL语法的转义、压缩和未压缩库文件的打包、API文档的生成以及自动化单元测试等。index.html:这个就不用多说了,Web导航首页。package.json:一个用于包的依赖原创 2021-06-23 10:48:50 · 637 阅读 · 0 评论 -
Cesium开发入门篇 | 02Cesium开发环境搭建及第一个示例
01开发环境准备利用Cesium API进行二次开发属于Web前端开发范畴,目前比较火的Web三剑客包括React、Vue、AngularJS,每个js库的详细介绍可转至官网查看,在此不做详细介绍。本次开发环境是基于Vue搭建的,需要安装(部署)的软件主要包括以下几种:前两个下载后安装即可,注意VS Code需要安装Live Server扩展;nginx下载后的压缩包解压到电脑磁盘路径下(比如E盘跟路径下),配置好conf文件夹下的nginx.conf文件,双击nginx跟路径下的nginx.exe程转载 2021-06-23 10:42:24 · 767 阅读 · 0 评论 -
Cesium开发入门篇 | 01Cesium介绍
入门篇Cesium开发入门篇 | 01Cesium介绍01Cesium是什么我们打开Cesium(https://cesium.com)官网,能够很清晰的看到官方赋予Cesium的使命,即构建世界一流的3D地理空间应用程序。那Cesium到底是个什么东东呢?Cesium是一个跨平台、跨浏览器的展示三维地球和地图的javascript库Cesium使用WebGL来进行硬件加速图形,使用时不需要任何插件支持,但是浏览器必须支持WebGLCesium是基于Apache2.0许可的开源程序,它可以免费的转载 2021-06-23 10:27:05 · 717 阅读 · 0 评论 -
Cesium-1.75API结构
原创 2021-06-21 16:58:35 · 189 阅读 · 0 评论 -
Anywhere 随启随用的静态文件服务器
Anywhere了,安装很简单。只要有node执行环境,直接在命令行中执行:————————————————npm install anywhere -g等待若干时间后就安装就完成了。想要以某个路径作为静态文件服务器的根目录分享,只需要在该目录下执行:anywhere默认不添加 -s 命令会在命令敲击后,同时打开浏览器访问 http://localhost:8000/ 这个路径。更多命令:anywhere -p 8000 ## 指定静态服务器的端口号anywhere -s ## 静默原创 2021-04-09 10:02:09 · 249 阅读 · 0 评论 -
2021-04-06
Cesium绘制点、线、面、圆、矩形2、MainViewer.vue代码<template> <div id="mainDiv"> <div id="cesiumContainer"> <CesiumViewer v-if="viewer" :viewer="viewer"></CesiumViewer> </div> </div></tem原创 2021-04-06 22:54:52 · 121 阅读 · 0 评论 -
cesium创建纯净的地球
<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8"> <!-- 引入本地的cesium支持js和css文件,更快并节约流量 --> <script src="Build/Cesium/Cesium.js"></script> <link href="Build/Cesium/W原创 2021-03-12 16:39:31 · 311 阅读 · 0 评论