1.Cesium介绍及环境配置

简介: 本文中我们介绍了cesium开发环境的配置,以及vue中cesium页面的初始化

 

image.gif编辑

前言

鸽了半年,flag立的太多,稿子存了100多篇,都没有开始排版整理,这些天正好学习cesium,决定每天更新一篇,提提神!🤔😲😁

一、Cesium简介

image.gif编辑

Cesium是一个用于显示三维地球的开源库,旨在释放3D数据的力量³。它基于WebGL技术,能够在Web平台搭建虚拟地球及场景展示应用³。

Cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的触摸支持,且支持绝大多数的浏览器和移动端⁷。

二、相关文档

    三、环境配置

    3-1 安装

    使用包管理器

    npm install cesium

    image.gif

    浏览器CDN直接引入

    <script src="./cesium1.99//Build/Cesium/Cesium.js"></script>
    <link rel="stylesheet" href="./cesium1.99//Build/Cesium/Widgets/widgets.css">

    image.gif

    安装文件

    Downloads – Cesium

    3-2 用法

    vue

    //直接导入即可
    import * as Cesium from "cesium";//为了保证和html页面代码一致,这里也命名为Cesium

    image.gif

    html

    //导入就可以使用了
    <script src="../Cesium-1.99/Build/Cesium/Cesium.js"></script>
    <link rel="stylesheet" href="../Cesium-1.99/Build/Cesium/Widgets/widgets.css">

    image.gif

    四、应用案例

    要运行Cesium程序,我们需要一个本地web服务器来承载我们的文件。我们可以使用node.js和其他教程来设置一个node.js服务⁵。方便起见,这里我们使用国内常用的Vue3组合式API的环境和原生js的html进行实现。token申请阅读:

    4-1 vue3实现

    <template>
      <div id="cesiumContainer"></div>
    </template>
    <script setup>
      import * as Cesium from "cesium";
      import { onMounted, ref } from "vue";
      //必须在挂载后引入cesium地图组件
      onMounted(() => {
        Cesium.Ion.defaultAccessToken ="<your cesium token>";
        const esri = new Cesium.ArcGisMapServerImageryProvider({
          url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",
          enablePickFeatures: false,
        });
        //实例化cesium对象
        //Viewer的第一个参数就是承载地图组件的DOM元素的id
        const viewer = new Cesium.Viewer("cesiumContainer", {
          imageryProvider: esri, //默认的谷歌地图影像  这里修改为esri的影像图层
          //地形图层TerrainProvider
          terrainProvider: Cesium.createWorldTerrain({
            //水面特效
            requestWaterMask: true, 
          }), //viewer是所有api的入口
        });
      });
    </script>
    <style scoped>
      #cesiumContainer {
        width: 100vw;
        height: 100vh;
        overflow: hidden;
      }
    </style>

    image.gif

    目前,大多数平台和浏览器都支持WebGL,在这些环境下运行Cesium并没有太大的问题,但加载的数据是3Dtiles数据,就需要对电脑性能有要求了。

    4-2 原生JavaScript实现

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="../Cesium-1.99/Build/Cesium/Cesium.js"></script>
        <link rel="stylesheet" href="../Cesium-1.99/Build/Cesium/Widgets/widgets.css">
        <title>Document</title>
        <style>
          #cesiumContainer {
            width: 100vw;
            height: 100vh;
            overflow: hidden;
          }
        </style>
      </head>
      <body>
        <div id="cesiumContainer"></div>
        <script>
          const esri = new Cesium.ArcGisMapServerImageryProvider({
            url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",
            enablePickFeatures: false,
          });
          Cesium.Ion.defaultAccessToken = '<your cesium token>'
          //viewer是所有api的入口
          const viewer = new Cesium.Viewer('cesiumContainer', {
            //默认的谷歌地图影像  这里修改为esri的影像图层
            imageryProvider: esri,
            //地形图层TerrainProvider
            terrainProvider: Cesium.createWorldTerrain({
              //水面特效
              requestWaterMask: true,
            }),
          });
        </script>
      </body>
    </html>

    image.gif

    五、文章参考

    (1) Cesium 简介 | Cesium 入门教程 - syzdev. Cesium 简介 | Cesium 入门教程.

    (2) vue框架集成cesium“黑科技” - 知乎 - 知乎专栏. vue框架集成cesium“黑科技” - 知乎.

    (3) Cesium安装以及环境配置cecium 客户端硬件配置李树林gis的博客-CSDN博客. Cesium安装以及环境配置_cecium 客户端硬件配置_李树林gis的博客-CSDN博客.

    (4) 让GIS三维可视化变得简单-初识Cesium - 掘金. 让GIS三维可视化变得简单-初识Cesium - 掘金.

    (5) cesium简介_右弦GISer的博客-CSDN博客. cesium简介_右弦GISer的博客-CSDN博客.

    (6) Cesium简介 - laixiangran - 博客园. https://www.cnblogs.com/laixiangran/p/4984522.html

    (7) Vue2中配置Cesium的环境 - 掘金. Vue2中配置Cesium的环境 - 掘金.

    (8) Cesium开发入门篇 | 01Cesium介绍 - 知乎 - 知乎专栏. Cesium开发入门篇 | 01Cesium介绍 - 知乎.

    目录
    相关文章
    |
    JavaScript 前端开发 定位技术
    Cesium介绍和入门
    这篇文章介绍了Cesium的基本概念及其在Web开发中的应用,包括如何集成Cesium并使用它来创建和展示3D地图。
    1764 4
    Cesium介绍和入门
    |
    编解码 JavaScript 数据可视化
    Cesium中Viewer配置对照表
    本文用于Cesium初始化界面的详细配置,是对这篇文章的延伸;内容不定时更新。
    977 0
    |
    定位技术 API 网络架构
    地图图层接入:从mapbox转向cesium
    由于地图坐标系的不统一,地图图商提供的图层服务也各有特色,在图层对接的开发过程中常会遇到许多坑,从二维图层到三维图层,地图引擎mapbox再到cesium,本文将分享笔者在近期地图图层接入过程中总结的一些经验。
    5550 10
    |
    4月前
    |
    资源调度 数据可视化 前端开发
    前端组件库——DataV知识点大全(一)
    教程来源 https://www.wkmsa.cn DataV是专注大屏可视化的开源Vue组件库,提供丰富SVG边框、装饰与图表组件,助力快速构建震撼数据看板。基于Vue3+TS重构,支持主题定制与按需引入;3.0版将集成WebGPU,性能提升47%。开箱即用,大幅降低开发门槛。
    |
    atlas
    Cesium导入geojson数据
    这篇文章详细描述了如何在Cesium中导入GeoJSON数据来绘制地理矢量数据,并提供了实现的具体方法和示例代码。
    1212 2
    Cesium导入geojson数据
    |
    定位技术
    Cesium修改地球的贴图为视频或者图片
    这篇文章说明了如何在Cesium中修改地球的贴图,替换为自定义的图像或视频纹理。
    806 1
    Cesium修改地球的贴图为视频或者图片
    Threejs用切线实现模型沿着轨道行驶
    这篇文章详细介绍了如何使用Three.js让一个模型沿着预定的曲线路径移动,并保持模型的方向始终沿着路径的切线方向,提供了实现这一效果的具体代码和步骤。
    1173 1
    Threejs用切线实现模型沿着轨道行驶
    |
    数据可视化 JavaScript 定位技术
    Cesium第1篇,CesiumJS第1篇,CesiumJS使用详细,在vue中使用Cesium.js(WebGIS中的Cesium地图可视化应用)
    Cesium是一种基于WebGL开源的虚拟地球技术,可以用于构建高性能、跨平台的三维地球应用程序,它支持多种数据格式和地图服务,可以实现地球表面的高精度渲染、地形分析、数据可视化等功能。Cesium还提供了丰富的API和插件,方便开发者进行二次开发和定制化,且可免费商用,在航空航天、国防、城市规划、教育等领域得到了广泛应用。
    2223 0
    Cesium第1篇,CesiumJS第1篇,CesiumJS使用详细,在vue中使用Cesium.js(WebGIS中的Cesium地图可视化应用)
    echarts 自动轮播
    echarts 自动轮播
    798 0
    |
    存储 资源调度 JavaScript
    2.Vue3中Cesium地图初始化及地图控件配置
    本文中,我们主要介绍 Cesium 在 Vue 3运行环境的配置,以及 Cesium 实例中控件的显隐设置,本文是后续文章内容的基础,项目代码在此查看;通过本文,我们可以得到一个纯净的 cesium 项目,后续的操作我们就可以在此基础上进行;
    1707 0