首页 > 其他分享 >Cesium教程第二章Cesium快速入门

Cesium教程第二章Cesium快速入门

时间:2024-11-18 13:14:20浏览次数:3  
标签:Node 控件 教程 入门 Viewer js 所示 Cesium

2.1 Cesium环境搭建

2.1.1 安装node环境

       Cesium 程序需要在 Node.js 环境下才可以正常运行,因此要先安装 Node.js 环境。Node.js是一个基于ChromeV8引擎的JavaScript 运行时环境,使用了一个事件驱动、非阻塞式 IO 模型,让 JavaScript运行在服务端的开发平台。

      1.下载node.js安装包

       进入Node.js官网(Node.js — 在任何地方运行 JavaScript)选择下载Node.js(LTS)按钮就行下载。下图是Node.js官网首页图片

如果下载其它Node.js版本:

   2.安装 Nodo.js

   双击下载好的安装包,逐次点击下一步,最终安装完成。通过win+r 打开命令提示符窗口,输入node -v 查看安装的Node.js版本,验证Node.js是否安装成功。如下图所示:

2.1.1 安装node环境

    1.下载 Ceslum 代码包

     Ccsium 官网(https://cesium.com/download),下载Cesiun 代码包,或者通过 npmisall cesium 安装。Cesium 官网的下载页面如下图所示。

    2.安装 Cesium 依赖

    在安装包下载完成后,将其解压缩,打开命令行,进入解压缩后的目录,输入“npm install”安装 Cesium 依赖。

    3.启动服务

    在 Cesium 依赖安装完成后,先输入“node  server.cjs”来开启服务然后复制所开启的服务网址,并在chrome浏览器中打开,

   4.通过 http-server 发布服务

   通过htp-server 发布服务:打开命令行输入“npm install http-server -g”;安装完成后,通过命令行进入文件目录输入“http-server-g”,即可发布服务,如下图所示

      Cesium 环境搭建完成后,在浏览器地址栏中输入本地发布的网址并打开,有两个链接非常重要,分别为 Documentation和 Sandcastle。其中,Documentation 里面包括了 Cesium 的完整 API说明,可以从中查看各个模块中的函数、属性、方法及部分调用代码示例,方便用户深入学习;Sandcastle是一个沙盒,里面包括了当前版本的各种示例,可以进行代码测试并导出测试代码。建议用户先自己浏览一遍沙盒内所有的示例,对于Cesium 能做什么及能成什么,在实现需要的功能时,可查找相关的示例代码及用到的模块。

2.2 Cesium环境搭建

    1.引入源码编译成果

    Cesium 程序开发的第一步就是创建一个新的文件夹,并在文件夹中引入Cesium 源码中的编译文件,即 Cesium 源码中的 Build 文件夹,如下图所示

   2.创建 HTML 文件

    打开编辑器(Vsual Studio Code),首先选择并打开我们新建的文件夹,然后新建文件名为 index、后缀为.html的文件,如下图所示

    3.编写第一个 Cesium 程序

    (1) 单击打开新建的 HTML 文件,在网页的<head>标签中引入Cesium.js库文件。该文件定义了 Cesium 的对象,几乎包含了我们需要的一切。
   (2) 为了能够使用Cesium的各个可视化控件,我们需要在网页的<head>标签中引入widgets.css 文件。
   (3) 在HTML文件的body部分创建一个div作为地图容器,并设置其id为“cesiumContainer”。
   (4) 在网页的<head>标签中添加<style>标签,并设置容器样式的高度和宽度均为100%边距为 0。
   (5) 在脚本区域编写代码,申请一个token。首先登录网址 Cesium ion,在注册后申请 token,然后创建一个Cesium 对象,并使用我们创建的 div 容器。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <!-- Include the CesiumJS JavaScript and CSS files -->
    <script src="https://cesium.com/downloads/cesiumjs/releases/1.123/Build/Cesium/Cesium.js"></script>
    <link href="https://cesium.com/downloads/cesiumjs/releases/1.123/Build/Cesium/Widgets/widgets.css" rel="stylesheet">
    <title>cesium教程第二章快速入门</title>
</head>

<body>
    <div id="cesiumContainer"></div>
    <script type="module">

        Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTViOTRlYy00ZWNmLTQwYWUtODc3OS01OTNhMGVlNWJkMTEiLCJpZCI6OTg4MzQsImlhdCI6MTY1NjE1NDE5NX0.IN0uM3_aJVdIgyoXgDIAehwSPzKGTv6NKNLXLv8uwp8';

        const viewer = new Cesium.Viewer('cesiumContainer', {
            geocoder: true,
            homeButton: true,
            //是否显示首页位置工具
            sceneModePicker: true,
            //是否显示视角模式切换工具//是否显示默认图层选择工具//是否显示导航帮助工具
            baseLayerPicker: true,
            navigationHelpButton: true,
            animation: true,
            //是否显示动画工具
            timeline: true,
            //是否显示时间轴工具
            fullscreenButton: true,
            //是否显示全屏按钮工具
            terrain: Cesium.Terrain.fromWorldTerrain(),
        });

        // Fly the camera to San Francisco at the given longitude, latitude, and height.
        viewer.camera.flyTo({
            destination: Cesium.Cartesian3.fromDegrees(-122.4175, 37.655, 400),
            orientation: {
                heading: Cesium.Math.toRadians(0.0),
                pitch: Cesium.Math.toRadians(-15.0),
            }
        });

        // Add Cesium OSM Buildings, a global 3D buildings layer.
        const buildingTileset = await Cesium.createOsmBuildingsAsync();
        viewer.scene.primitives.add(buildingTileset);   
    </script>
    </div>
</body>

</html>

  4.发布 Cesium 程序服务

       打开VS code终端,进入Cesium 程序目录,通过 http-server 发布本地服务,VS code终端所示。点击下方的网址,并在浏览器中打开,可以看到,第一个 Cesium 程序运行成功,如下图所示。

2.3 界面介绍

       在 Cesiun 程序中,Viewer,是所有内容的基础。Viewer是一个带有多种功能的可交互的三维数字地球容器,在此之前,我历召经透过 new cesium Viewer初始化了一个视图窗口,即一个最简单的三维地球。

      初始化的 cesium 程序由两部分组成:第一部分是初始化的三维地球;第二部分是默认自带的一些控件,如下图所示:

   三维地球场景支持采用鼠标(PC端)和手指触摸(移动端)的方式进行交互,并默认支持以下几种相机漫游方式。
。按住鼠标左键拖曳:拖动相机在三维地球平面平移。
。按住鼠标右键拖曳:缩放相机。
。使用鼠标滚轮(即鼠标中键)滑动:缩放相机。
。按住鼠标滚轮拖曳:根据当前地球的屏幕中点,旋转相机。

2.4 默认控件介绍

   2.4.1 Geocoder

     Geocoder是位置查找工具,如下图所示。使用该控件可以输入要查找的地址,且在找到后,会将相机跳转并对准找到的结果,默认使用的是微软Bing地图。在初始化 Viewer 时将 geocoder配置项设置为 false,即可隐藏该控件。

  2.4.2 HomeButton

      HomeButton 是首页位置工具,如下图所示。单击该控件后,会将相机跳转到默认全球视角,也可以通过代码修改跳转位置。在初始化 Viewer 时,将 homeButton 配置项设置为 false即可隐藏该控件。

  2.4.3 SceneModePicker

       SceneModePicker是视角模式切换工具。使用该控件可以设置视角模式为 3D、2D 及哥伦视图(CV)、当切换为2D视角模式时、地图可以平移旋转,但始终保持平面显示,如下图所示,在初始化时Viewer时,将sceneModePicker配置设置为false,即可隐藏该控件。

2D视图模式

哥伦布视图模式

   2.4.4 BaseLayerPicker

      BaseLayerpicker是默认图层选择工具,用于选择要显示的地图服务和地形服务,如下图所示,这里选择修改底图数据源为ESRIWorldlmagery.在初始化 Viewer 时,将 baseLayerpicker设置项设置为false,即可隐藏该控件。

  2.4.5 NavigationHelpButton

      NavigationHelpButton是导航帮助工具,用于显示默认的地图控制和帮助选项,如下图所示。在初始化 Viewer 时,将 navigationHelpButton 配置项设置为 false,即可隐藏该控件。

  2.4.6 Animation

   Animation是动画工具、用于控制器图动面的播放速度,如下图所示。在初始化时,将Animation配项设置为false,即可隐藏该控件,

  2.4.7 TimeLine

TimeLine 是时间轴工具,用于指示当前时间,并且允许用户跳转到指定时间,如下图所示。在初始化Viewer时,将timeline配置项设置为false,即可隐藏该控件。

  2.4.8 FullscreenBufton

      fullscreenBunon 是全屏按钮工具,如下图所示。单击该控件,可以进入全屏模式,,再次单击该控件,即可退出全屏模式。在初始化Viewer时,将fullscreenBunon 配置项设置为false,即可隐藏该控件。

标签:Node,控件,教程,入门,Viewer,js,所示,Cesium
From: https://blog.csdn.net/weixin_43956070/article/details/143801697

相关文章

  • 过检测,TP,去虚拟化Vmware虚拟机安装教程【含全套资源压缩包实测CF可行】某鱼平台付费资
    虚拟化技术作为现代IT环境中的一项重要技术,已经被广泛应用于服务器、开发、测试以及日常的工作环境中。VMware是一种广泛使用的虚拟化平台,它可以在不同的硬件上创建虚拟机,帮助用户实现资源的高效利用与隔离。在本教程中,我们将带您一步步安装VMware虚拟机,并详细介绍如何过......
  • 大模型应用开发 RAG 入门与实战:开启智能文档处理新时代
    在当今的人工智能领域,大模型应用开发成为了热门话题,而RAG(检索增强生成)技术更是备受关注。与其他相关技术书籍相比,《大模型应用开发:RAG入门与实战》有着独特的优势。比如说《深度学习基础教程》,它主要侧重于深度学习的基础理论讲解,对于RAG这种特定的应用开发涉及较少;而《......
  • 普通人如何使用 AI? | AI 使用入门
    在当今时代,人工智能(AI)已经逐渐渗透到我们生活的各个角落,为我们的工作和生活带来了诸多便利。那么,作为普通人,我们该如何使用AI呢?本文将为你提供一份AI使用入门指南。一、了解AI的基本概念和功能(一)什么是AIAI是人工智能(ArtificialIntelligence)的英文缩写,它是一门......
  • LLM 链式架构基础:从入门到实践
    在构建复杂的LLM应用时,单一的模型调用往往无法满足业务需求。本文将详细介绍如何构建一个可靠的LLM链式架构,包括基础设计模式、提示词工程和错误处理机制。为什么需要链式架构?在开始深入技术细节之前,让我们先理解为什么需要链式架构:单一模型调用的局限性输入输出格式单......
  • C# 表达式树 ---- 系列教程
    C#表达式树从0学习表达式树。作者:痴者工良地址:https://ex.whuanle.cn作者博客:http://www.whuanle.cn1.表达式树基础2.基础知识3.变量、常量、赋值4.五类运算符的表达5.判断语句6.循环控制7.值类型、引用类型、泛型、集合、调用函数  出处:C#表达式树......
  • 使用 PyTorch-BigGraph 构建和部署大规模图嵌入的完整教程
    当涉及到图数据时,复杂性是不可避免的。无论是社交网络中的庞大互联关系、像Freebase这样的知识图谱,还是推荐引擎中海量的数据量,处理如此规模的图数据都充满挑战。尤其是当目标是生成能够准确捕捉这些关系本质的嵌入表示时,更需要一种不会在庞大数据量下崩溃的解决方案。PyTorch......
  • JMeter响应乱码问题解决方案教程
    前言      ApacheJMeter是性能测试领域的强大工具,但在使用过程中,测试人员常会遇到响应乱码的问题。乱码不仅影响测试结果的可读性,还可能掩盖关键信息,对测试准确性构成威胁。本教程将深入探讨JMeter响应乱码问题的根源,并提供实用的解决方案。你将学习如何识别乱码现象......
  • 图论入门书籍(2024.11.16)
    1、我的第一本算法书(2018年11月)2、程序员的数学4:图论入门(图灵出品)3、图论入门[Graphs:AnIntroduction](2022.09)4、啊哈!算法5、趣味的图论问题6、动画算法与数据结构(图灵出品)-2024.037、图论一个迷人的世界(2022.09)8、现代图论9、图论算法理......
  • 【Typora 1.9.4软件下载与安装教程】
    1、安装包「Typora1.9.4」:链接:https://pan.quark.cn/s/95b7ff5cf109提取码:LgXU2、安装教程1)       双击安装,弹窗安装对话框   2)       Installforallusers,使用推荐选项  3)       选择安装位置,建议选择C盘之外安装  4)  ......
  • 免费服务器领取教程:让你轻松拥有服务器
    免费服务器怎么样?哪里有免费的服务器可以领取?市场上有免费的服务器可以领取吗?市场上有免费游戏云服务器吗?很多建站小白刚入网络,也是很需要一台服务器用来练手,今天给大家带来各个免费服务器领取地址以及方法!很多人已经白嫖过了腾讯云阿里云等等大厂的免费服务器,所以今天我教大......