首页 > 其他分享 >cesium-1-加载影像数据和影像数据基础知识

cesium-1-加载影像数据和影像数据基础知识

时间:2023-04-26 13:23:18浏览次数:60  
标签:style false imageryLayers viewer 基础知识 cesium com 影像

1、影像数据的图层类有哪些


viewer --> imageryLayers(ImageryLayerCollection类型)--> ImageryLayer类型 --> ImageryProvider抽象类


viewer下有ImageryLayerCollection类型的imageryLayers用来存放影像数据(可多个),只能是ImageryLayer类型变量(包含影像数据但除了影像数据之外还有影像图层相关属性,比如透明度、亮度、对比度、色调等),而ImageryLayer需要ImageryProvider类变量来提供影像数据,一个数据源的提供者,而ImageryProvider是一个抽象类,可以根据不同的数据源使用不同的实现类,如下图
image
图片来源:https://www.jianshu.com/p/9242ba7e0d91

2、既然可以放多个影像,那影像的上下关系如何?

先放的影像一般放下面,比如全影象图的ImageryLayer需要放在下面,就需要放入imageryLayers(ImageryLayerCollection类型),路网影像图的ImageryLayer需要放在上面,就需要后放入imageryLayers(ImageryLayerCollection类型)


如何将这个后加的影像数据放到上层?

  var il= viewer.imageryLayers.add(imagerylayer)
  viewer.imageryLayers.raiseToTop(il)

3、瓦片数据是什么?

类似于四叉树
放最大的时候是一张256256的图片,放大后变成4张256256的图片,再放大就是16张256*256的图片,每次放大升一级,一般到18级之后需要收费
image

4、高德常见的影像数据来源url

卫片(遥感数据)
http://webst01.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}

路网
https://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=8&ltype=11

地名
https://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=8&ltype=4

地名+路网
http://webst01.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}

矢量切片风格
http://webrd01.is.autonavi.com/appmaptile?&scale=1&lang=zh_cn&style=8&x={x}&y={y}&z={z}

4、代码(cesium+vue3+vite环境)

<template>
    <div id="cesiumContainer">
      <!-- <h1>hello</h1> -->
    </div>
</template>

<script setup>
import { onMounted } from "vue"; // 引入生命周期函数
import * as Cesium from 'cesium';
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJhODY2NzQ3Ni05MTdiLTQ5MTUtYmU3Yi0zNzQ4OTViYjc4YTYiLCJpZCI6MTMxMDcwLCJpYXQiOjE2ODAwNTc2Mjd9.TMe2LazRJXyc6oEu7t7mxIL-iKmjAWHZv9cWx3y1LS4'
onMounted(() => {
  // 1、绑定viewer
  let viewer = new Cesium.Viewer("cesiumContainer",
    {
        animation: false, // 动画小组件
        baseLayerPicker: false, // 底图组件,选择三维数字地球的底图(imagery and terrain)。
        fullscreenButton: false, // 全屏组件
        vrButton: false, // VR模式
        geocoder: false, // 地理编码(搜索)组件
        homeButton: true, // 首页,点击之后将视图跳转到默认视角
        infoBox: false, // 信息框
        sceneModePicker: false, // 场景模式,切换2D、3D 和 Columbus View (CV) 模式。
        selectionIndicator: false, //是否显示选取指示器组件
        timeline: false, // 时间轴
        navigationHelpButton: false, // 帮助提示,如何操作数字地球。
        // 如果最初应该看到导航说明,则为true;如果直到用户明确单击该按钮,则该提示不显示,否则为false。
        navigationInstructionsInitiallyVisible: false,
        imageryProvider:new Cesium.UrlTemplateImageryProvider({  // 修改默认影像图层,
          url: "http://webst01.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",
          minimumLevel:1,
          maximumLevel:18 //最高级别为18级,一般超过需要收费
        })
    }
  )
  // 隐藏logo
  viewer._cesiumWidget._creditContainer.style.display = "none";
  // 创建影像图层
  var imagerylayer = new Cesium.ImageryLayer(new Cesium.UrlTemplateImageryProvider({
    url:"http://webst01.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}",
    minimumLevel:1,
    maximumLevel:18
  }))
  // 添加影像数据
  viewer.imageryLayers.add(imagerylayer)
  // 如何将这个后加的影像数据放到上层
  // var il= viewer.imageryLayers.add(imagerylayer)
  // viewer.imageryLayers.raiseToTop(il)

  

})


</script>
<style>
#cesiumContainer {
  width: 100%;
  height: 100%;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
html,
body,
#app {
  width: 100%;
  height: 100%;
  overflow: hidden;
  margin: 0px;
  padding: 0px;
}
</style>

标签:style,false,imageryLayers,viewer,基础知识,cesium,com,影像
From: https://www.cnblogs.com/CoderWangEx/p/17355606.html

相关文章

  • Jsp基础知识总结
    [code]首先来说一下我们jsp的课程:第一部分为Servlet技术,包括Servelt入门,会话跟踪,JavaMal和Servlet.第二部分就是Jsp技术,包括:jsp简介,jsp脚本和指令的使用,jsp隐式对象,JavaBean与jsp中的标准动作,jsp表达式语言,自定义标签,jsp自定义表签库.第三部......
  • C语言基础知识
    一维数组inta[2]={1,2},一维数组名a代表的是数组第一个元素的地址,不代表数组中所有元素。二维数组inta[3][4]总共是12个元素,可以当作3行4列来看待,这十二个元素的名字依次是:a[0][0],a[0][1],a[0][2],a[0][3]a[1][0],a[1][1],a[1][2],a[1][3]a[2][0],a[2][1],a[2][2],a[2][3]......
  • 裁剪配对影像
    1.加载两幅影像2.新建一个举行shapefile文件3.右键开始编辑,创建要素4.卷帘工具查看矩形框覆盖范围,画框时(第一个点后)右键可以确定竖直。5.对栅格进行裁剪 选择输入输出其他默认(输出地址不能有中文)6.裁剪成功后进行数据的导出 选项默认,但是位置需要进行更改,不然点击保......
  • 基础知识
    #声明要求的cmake最低版本cmake_minimum_required(VERSION3.10)#设置c++版本set(CMAKE_CXX_STANDARD11) #声明一个cmake工程set(PROJECT_NA工程名)project(${PROJECT_NA}) #添加头文件include_directories("库头文件名")find_package(库名REQUIRED)#find_package命令是......
  • Cesium之Web Workers
    1.引言多线程是编程中常用的方法,例如,在桌面程序中,主线程一般是UI线程,负责UI绘制与用户交互,而运算处理往往是交给背后的工作线程,这样可以有效避免交互时的卡顿感浏览器是多进程的,每打开一个网页,都会开启一个渲染进程,渲染进程包含:GUI渲染线程(有且只有一个)JS引擎线程(有且......
  • Cesium加载ArcGIS Server4490且orgin -400 400的切片服务
    Cesium在使用加载Cesium.ArcGisMapServerImageryProvider加载切片服务时,默认只支持wgs84的4326坐标系,不支持CGCS2000的4490坐标系。如果是ArcGIS发布的4490坐标系的切片服务,如果原点在orginX:-180.0Y:90.0的情况下,我们可以通过WebMapTileServiceImageryProvider按照WMTS的方式......
  • Linux基础知识(17)- Kerberos (二) | krb5 API 的 C 程序示例
    在“Linux基础知识(16)-Kerberos(一)|Kerberos安装配置”里我们演示了Kerberos安装配置和Kadmin等命令行工具的用法,本文将演示krb5API的使用方法。Krb5API:http://web.mit.edu/kerberos/krb5-current/doc/appldev/refs/api/index.html 1.系统环境   操作......
  • Linux基础知识(16)- Kerberos (一) | Kerberos 安装配置
    Kerberos(SecureNetworkAuthenticationSystem,网络安全认证系统),是一种网络认证协议,其设计目标是通过密钥系统为Client/Server提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任......
  • 操作系统基础知识(1)
    什么是管程?当共享资源用共享数据结构表示时,资源管理程序可用对该数据结构进行操作的一组过程来表示,如资源的请求和释放过程request和release。把这样一组相关的数据结构和过程一并归为管程。Hansan为管程所下的定义是:“一个管程定义了一个数据结构和能为并发进程所执行的一组操......
  • Java基础知识点API之Objects
    一:Objects的概述它是一个对象工具类,提供一些操作对象的方法。二:Objects的成员方法方法名说明publicstaticbooleanequals(Objecta,Objectb)先做非空判断,比较两对象publicstaticbooleanisNull(Objectobj)判断对象是否为null,为null返回true,否则返回falsepublicstaticboolea......