Cesium教程 (3) 矢量切片mvt-imagery-provider加载

2023-11-18

Cesium教程 (3) 矢量切片mvt-imagery-provider加载

目录

0. 矢量切片

1. 开源项目

2. 环境

3. 代码

4. 进阶

5. TODO


0. 矢量切片

        WMTS:加载最快,图片格式,样式固定;

        WMS:加载数量大则慢,但可以点击查询等;

        WFS:编辑矢量属性信息,很少用;

        矢量切片:XYZ、TMS的服务方式,想要经常更新样式,且快速渲染,那么矢量切片最合适。其速度在WMTS和WMS之间。标准主要为mvt-pbf。

        矢量切片:mapbox提出的,mapbox-gl、maplibre-gl、openlayers、leaflet都支持,这几个属mapbox功能性能最好。但是mapbox的开源协议从2之后不友好,即使其2.9之后有球的形状,但是对于三维的功能不如cesium更强大,但是cesium不支持mvt的矢量切片,支持小数据量的geojson,超过5000 entities的geojson cesium会崩溃。如果想让cesium能实现类似矢量切片的渲染,只能通过仿照imageryProvider。如果矢量切片采用mapbox、maplibre、ol、leaflet加载渲染到canvas,再传给cesium加载,这种技术本人技术达不到,哈哈。所以采用别人已经实现的Mapbox-vector-tiles-basic-js-renderer这种方式,期待有大佬能实现基于maplibre的cesium矢量切片加载。

        题外话:如果maptalks稳定了的话,可以试试这个,矢量切片、3dtiles等都支持。

1. 开源项目

        网上搜索的cesium矢量切片:cesium加载mvt格式的矢量切片、cesium加载arcgis server的矢量切片,前者是开源的,后者需要商用,既然有商用的没太大必要,直接用其API即可。所以,我们主要用开源的mvt。

        https://github.com/landtechnologies/Mapbox-vector-tiles-basic-js-renderer 基础核心cesium能实现mvt矢量切片渲染的底层关键,很多项目都是通过调用它来进一步实现的。

        https://github.com/hongfaqiu/MVTImageryProvider 推荐!本文所使用的库,依赖的maobox-gl版本样式较老为0.43.0,但是支持到mapbox-gl 1.x版本,不过对于basic样式足够了,应该满足需求。当然这个也是参考了https://github.com/kikitte/MVTImageryProvider实现的。

        https://github.com/reearth/cesium-mvt-imagery-provider 当然也可以用这个!

        https://github.com/davenquinn/cesium-vector-provider

2. 环境

        cesium 1.103及其以下版本

        mvt-imagery-provider (其主要通过这个库 mvt-basic-render 来渲染,这里支持ES6,如果想直接用Mapbox-vector-tiles-basic-js-renderer的mapbox-gl.js 推荐在html script引入,因为其是commonJS)

        vue3

        采用vue-cli,那么webpack打包必不可少,vue.config.js配置vue3配置cesium参考vue3 cesium安装配置教程(共5种方式-推荐第3-4种)_LEILEI18A的博客-CSDN博客

3. 代码

// 主要采用ES6格式的 TS的 mvt-imagery-provider

<template>
    <div id="container">
        <div id="CesiumContainer"></div>
        
    </div>
</template>

<script>
    import {reactive, ref, onMounted} from "vue";
    import * as Cesium from "cesium";
    import "cesium/Source/Widgets/widgets.css";
    // import MVTImageryProvider from "../utils/util.js";
    import MVTImageryProvider from "mvt-imagery-provider";
    export default {
        name: "Data02",
        components: {

        },
        setup(){
            var legend = reactive({});
            const firstCesium = ()=>{
                
                //测试本地geoserver 或者 postgis产生的mvt矢量切片
                const geoserverStyle = {
                    version: 8,
                    sources: {
                        maplibre: {
                            type: "vector",
                            // 'scheme': 'tms',
                            tiles: ['https://demotiles.maplibre.org/tiles/{z}/{x}/{y}.pbf'],
                            maxzoom: 6,
                            minzoom: 0,
                        },
                    },
                    // glyphs: "https://demotiles.maplibre.org/font/{fontstack}/{range}.pbf",
                    layers: [
                        // {
                        //     id: "00",
                        //     'source': 'maplibre',
                        //     'source-layer': 'countries',
                        //     type: "fill",
                        //     paint: {
                        //         "fill-color": "#fdaf6b",
                        //     },
                        // }
                        {
                            "id": "countries-fill",
                            "type": "fill",
                            "paint": {
                                "fill-outline-color": "#000000",
                                "fill-antialias": true,
                                "fill-color": [
                                    "match",
                                    [
                                        "get",
                                        "ADM0_A3"
                                    ],
                                    [
                                        "ARM",
                                        "ATG",
                                        "AUS",
                                        "BTN",
                                        "CAN",
                                        "COG",
                                        "CZE",
                                        "GHA",
                                        "GIN",
                                        "HTI",
                                        "ISL",
                                        "JOR",
                                        "KHM",
                                        "KOR",
                                        "LVA",
                                        "MLT",
                                        "MNE",
                                        "MOZ",
                                        "PER",
                                        "SAH",
                                        "SGP",
                                        "SLV",
                                        "SOM",
                                        "TJK",
                                        "TUV",
                                        "UKR",
                                        "WSM"
                                    ],
                                    "#D6C7FF",
                                    [
                                        "AZE",
                                        "BGD",
                                        "CHL",
                                        "CMR",
                                        "CSI",
                                        "DEU",
                                        "DJI",
                                        "GUY",
                                        "HUN",
                                        "IOA",
                                        "JAM",
                                        "LBN",
                                        "LBY",
                                        "LSO",
                                        "MDG",
                                        "MKD",
                                        "MNG",
                                        "MRT",
                                        "NIU",
                                        "NZL",
                                        "PCN",
                                        "PYF",
                                        "SAU",
                                        "SHN",
                                        "STP",
                                        "TTO",
                                        "UGA",
                                        "UZB",
                                        "ZMB"
                                    ],
                                    "#EBCA8A",
                                    [
                                        "AGO",
                                        "ASM",
                                        "ATF",
                                        "BDI",
                                        "BFA",
                                        "BGR",
                                        "BLZ",
                                        "BRA",
                                        "CHN",
                                        "CRI",
                                        "ESP",
                                        "HKG",
                                        "HRV",
                                        "IDN",
                                        "IRN",
                                        "ISR",
                                        "KNA",
                                        "LBR",
                                        "LCA",
                                        "MAC",
                                        "MUS",
                                        "NOR",
                                        "PLW",
                                        "POL",
                                        "PRI",
                                        "SDN",
                                        "TUN",
                                        "UMI",
                                        "USA",
                                        "USG",
                                        "VIR",
                                        "VUT"
                                    ],
                                    "#C1E599",
                                    [
                                        "ARE",
                                        "ARG",
                                        "BHS",
                                        "CIV",
                                        "CLP",
                                        "DMA",
                                        "ETH",
                                        "GAB",
                                        "GRD",
                                        "HMD",
                                        "IND",
                                        "IOT",
                                        "IRL",
                                        "IRQ",
                                        "ITA",
                                        "KOS",
                                        "LUX",
                                        "MEX",
                                        "NAM",
                                        "NER",
                                        "PHL",
                                        "PRT",
                                        "RUS",
                                        "SEN",
                                        "SUR",
                                        "TZA",
                                        "VAT"
                                    ],
                                    "#E7E58F",
                                    [
                                        "AUT",
                                        "BEL",
                                        "BHR",
                                        "BMU",
                                        "BRB",
                                        "CYN",
                                        "DZA",
                                        "EST",
                                        "FLK",
                                        "GMB",
                                        "GUM",
                                        "HND",
                                        "JEY",
                                        "KGZ",
                                        "LIE",
                                        "MAF",
                                        "MDA",
                                        "NGA",
                                        "NRU",
                                        "SLB",
                                        "SOL",
                                        "SRB",
                                        "SWZ",
                                        "THA",
                                        "TUR",
                                        "VEN",
                                        "VGB"
                                    ],
                                    "#98DDA1",
                                    [
                                        "AIA",
                                        "BIH",
                                        "BLM",
                                        "BRN",
                                        "CAF",
                                        "CHE",
                                        "COM",
                                        "CPV",
                                        "CUB",
                                        "ECU",
                                        "ESB",
                                        "FSM",
                                        "GAZ",
                                        "GBR",
                                        "GEO",
                                        "KEN",
                                        "LTU",
                                        "MAR",
                                        "MCO",
                                        "MDV",
                                        "NFK",
                                        "NPL",
                                        "PNG",
                                        "PRY",
                                        "QAT",
                                        "SLE",
                                        "SPM",
                                        "SYC",
                                        "TCA",
                                        "TKM",
                                        "TLS",
                                        "VNM",
                                        "WEB",
                                        "WSB",
                                        "YEM",
                                        "ZWE"
                                    ],
                                    "#83D5F4",
                                    [
                                        "ABW",
                                        "ALB",
                                        "AND",
                                        "ATC",
                                        "BOL",
                                        "COD",
                                        "CUW",
                                        "CYM",
                                        "CYP",
                                        "EGY",
                                        "FJI",
                                        "GGY",
                                        "IMN",
                                        "KAB",
                                        "KAZ",
                                        "KWT",
                                        "LAO",
                                        "MLI",
                                        "MNP",
                                        "MSR",
                                        "MYS",
                                        "NIC",
                                        "NLD",
                                        "PAK",
                                        "PAN",
                                        "PRK",
                                        "ROU",
                                        "SGS",
                                        "SVN",
                                        "SWE",
                                        "TGO",
                                        "TWN",
                                        "VCT",
                                        "ZAF"
                                    ],
                                    "#B1BBF9",
                                    [
                                        "ATA",
                                        "GRL"
                                    ],
                                    "#FFFFFF",
                                    "#EAB38F"
                                ]
                            },
                            "filter": [
                                "all"
                            ],
                            "layout": {
                                "visibility": "visible"
                            },
                            "source": "maplibre",
                            "maxzoom": 24,
                            "source-layer": "countries"
                        },
                    ]
                };
               
                const provider = new MVTImageryProvider({
                    style: 'https://demotiles.maplibre.org/style.json',
                    // style: geoserverStyle,
                });

                let viewer = new Cesium.Viewer("CesiumContainer", {
                    // infoBox: false,
                    // imageryProvider: new Cesium.TileCoordinatesImageryProvider(),
                    imageryProvider: provider,
                });
                // viewer.imageryLayers.addImageryProvider(new Cesium.TileCoordinatesImageryProvider())
            
                // 去掉logo
                viewer.cesiumWidget.creditContainer.style.display = "none"; 
                
                // 去掉背景图层
                // viewer.imageryLayers.removeAll();
        
                // 鼠标右键 倾斜操作
                viewer.scene.screenSpaceCameraController.tiltEventTypes = [
                    Cesium.CameraEventType.RIGHT_DRAG
                ];
                // 鼠标滑轮 放缩操作
                viewer.scene.screenSpaceCameraController.zoomEventTypes = [
                    Cesium.CameraEventType.WHEEL,
                    // Cesium.CameraEventType.PINCH
                ];
                // 鼠标左键 3D下聚焦局部时给人感觉是平移-本质是地球旋转(范围小-旋转类似平移)
                viewer.scene.screenSpaceCameraController.rotateEventTypes = [
                    Cesium.CameraEventType.LEFT_DRAG
                ];
                
            };
            onMounted(() => {
                firstCesium()
            });
            return {
                legend,
            }
        }
    }
</script>

<style lang="scss" scoped>
    #container {
        position: relative;
        height: 100%;
    }
    #CesiumContainer {
        height: 100%;
        width: 100%;
    }
    #legend {
        position: absolute;
        bottom: 100px;
        right: 20px;
    }
</style>

采用https://demotiles.maplibre.org/style.json加载的,但是不直观

采用自定义json style,即:代码中的geoserverStyle,对于mapbox style基本样式、以及匹配规则可百度即可:对于样式要求mapbox-gl>0.43的,就实现不了了。

4. 进阶

        cesium加载大的geojson直接崩溃,而探索这个项目是矢量切片转provider,对于采用postgis进行空间分析的结果可以有如下处理,给cesium

        [1] geojson,即使大的geojson也没事,可以采用geojson-vt和vt-pbf将其转成mvt,然后再采用mvtProvider渲染加载;

        [2] 空间分析结果,采用postgis进行空间分析,再用postgis直接将结果转成矢量切片,再经过mvtProvider加载。

        这样就可以解决cesium空间分析 加载不了数据量大的geojson。

        geojson-vt和vt-pbf均为mapbox的开源库。

        对于缓冲区分析,可以返回矢量切片、对于搜索可以分页返回geojson。

5. TODO

        [1] 探索cesium-mvt-imagery-provider这个项目,更新的时间也挺新的,类似本文的推荐探索过程。

        [2] 直接探索Mapbox-vector-tiles-basic-js-renderer,虽然其采用的mapbox版本比较老,但是对于日常需求满足。参考多个mvt-imagery-provider项目,引入Mapbox-vector-tiles-basic-js-renderer中dist的mapbox-gl.js(commonJS引入),按照cesium1.105最新版本改写相关代码,渲染通过前面的mapbox-gl.js实现。主要是根据cesium ImageryProvider的readyPromise 采用哪个函数代替,其已弃用。

        [3] 对于小数据量用geojson,对于影像采用静态WMTS代理,对于大矢量数据,推荐采用postgis动态实现mvt切片(成熟技术),然后前端cesium+mvt-provider实现矢量的渲染点击查看。对于空间分析暂时通过sql 分页 geojson实现高亮等!

        [4] 如果确定肯定不涉及三维的大数据(倾斜、点云、三维矢量等),那么直接采用mapbox-gl,虽然其有开源协议限制,但是自定义样式即可!其也有球的形状了,另外可通过第三方库实现3dtiles三维的加载。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cesium教程 (3) 矢量切片mvt-imagery-provider加载 的相关文章

  • Cesium入门(七):设置影像图层的覆盖范围

    本章介绍Cesium JS库的Rectangle类 xff0c 并以GeoServer服务器为例演示了在加载EPSG 4326网格的瓦片地图时 xff0c 通过设置rectangle参数来限定图层的覆盖范围 主要包括以下内容 xff1a R
  • 《Cesium 进阶知识点》 - 加载天地图三维地名服务(无Cesium 版本依赖)

    一 解决依赖 天地图官网说只支持 1 52 1 58 1 63 1 这 3个版本 其它版本报错 但我只使用三维地名服务 所以做了如下修改 我在 1 80 版 和 1 84 版中测试有效 操作部署是 1 根据官网安装 cesium tdt 插
  • Cesium--一些实验过程中的效果记录

    1 一种反射效果 片元着色器代码 fragmentShaderSource in vec3 v positionMC in vec3 v positionEC in vec2 v st void main czm materialInput
  • 06 Cesium—基于Cesium ion的添加地形

    文章中所有操作均是在 Cesium 1 91 版本下进行的 其它版本差异请自行适配 Cesium ion Cesium ion 是一个提供瓦片图和3D地理空间数据的平台 Cesium ion 支持把数据添加到用户自己的 CesiumJS 应
  • Cesium加载Supermap的wmts服务

    最近使用cesium 加载supermap的wmts 服务 多次遇到加载异常与白页面问题 纠结好久最后才搞定 特此记录 1 首先找到方法加载wmts 的api 文档 官方提示使用WebMapTileServiceImageryProvide
  • 第52节:cesium 3DTiles模型特效+选中高亮(含源码+视频)

    结果示例 完整源码
  • Cesium教程(四):调用地形服务

    Cesium提供了多种现有地形数据服务接口 并且支持自定义地形数据 CesiumTerrainProvider 高精度全球地形数据 附有光照和水面效果 地形切片使用quantized mesh v1 0格式 Cesium使用CesiumTe
  • .3ds 文件转 glb 或 gltf

    拿到一个3d模型 是 3ds 文件和一堆png的纹理图片 要在cesium中显示 cesium中支持这个格式 需要转化成支持的glb 或 gltf格式 目录 一 在3dmax中导入 并显示贴图纹理 二 转换成fbx 再转换成obj 三 在B
  • 第二十三篇:UE Ceisum开发之如何加载本地地形及经纬度、空间坐标相互转化

    本篇是基于Cesium for Unreal这个插件 基本入门我这里就不多说了 不会的人可以先跟着这个教程学习一下 Cesium for Unreal快速入门 本篇重点讲述一下如何加载本地地形 1 准备工作 安装最新的Cesiumlab软件
  • 基于Cesium的实景三维模型动态更新-以3Dtiles为例(一)

    一 简介 Cesium众所周知 是一个前端的三维框架 本项目利用Cesium平台来实现实景三维模型的动态更新 不认识Cesium的同学戳这里 cesium中文网 学习cesiumjs 的好地方 伐罗密 实景三维模型 概括来讲就是倾斜摄影三维
  • cesium 实现中文搜索定位

    cesium 实现根据中文搜索定位 天了噜 修改一下哦 高德地图获取的经纬度需要转一下哦 它是由偏移的啦 不是标准gps坐标 有接口 自行翻阅API 思路 利用高德的中文定位搜索获取选中定位的经纬度 cesium进行3D锚点定位 准备 申请
  • Cesium ion是什么?

    Cesium ion是一个云服务平台 当然 主要是基于cesiumjs的服务 包括数据服务等 https cesium com ion assets 1
  • cesium的clock开始,结束,控制速率

    开始 viewer clock shouldAnimate true 结束 window viewer clock shouldAnimate false 速率调整 viewer clock multiplier 8
  • Cesium 源码解析 Model(一)

    Cesium中对于3DTiles会解析成Model 特别是3DTile中的B3DM 过程主要是对gltf在Cesium中是如何解析并生成绘制命令的 content model new Model gltf gltfView gltf数据 c
  • 04 Cesium—Cesium ion介绍

    文章中所有操作均是在 Cesium 1 91 版本下进行的 其它版本差异请自行适配 Cesium ion Cesium ion 是一个提供瓦片图和3D地理空间数据的平台 Cesium ion 支持把数据添加到用户自己的 CesiumJS 应
  • Cesium 之加载ArcGIS Server 4490切片服务(含orgin -400 400)

    对于ArcGIS Server发布的切片服务 在地理坐标系中Cesium默认只支持wgs84的4326坐标系 无法通过ArcGisMapServerImageryProvider直接加载CGCS2000的4490坐标系 虽然可以使用WebM
  • 从材质到外观(待续)

    很多地方都只有材质 然后shader中 最终肯定是到片元着色器 也就是appearance 后处理是单独的poststage var appearance new Ceisum MaterialAppearance Cesium Mater
  • 使用cesium给地图实例添加精灵图图标

    前置条件 1 将精灵图存放在本地文件中 2 拿到对应的声明文件 该文件中存放了每一个类型的地图实例对应的图标在精灵图中的位置 我这里是json文件 这是某一个实例模型对应的数据 我的做法是 系统登录之后 就掉接口获取到该json文件 并存储
  • 【UE5 Cesium】11-Cesium for Unreal 切换Dynamic Pawn为其它Pawn

    前言 我们知道在Cesium for Unreal中默认使用的是DynamicPawn来浏览地图场景 DynamicPawn适用全球浏览 可以按自定义曲线进行飞行 但是DynamicPawn是使用的是地理参考坐标系 并不是标准的UE坐标系
  • cesium加载影像的问题解决

    我用gdal把web墨卡托转为经纬度 再切分片时 发现对不上影像 经过两天排查 发现竟然是前端写错 viewer scene imageryLayers addImageryProvider new Cesium UrlTemplateIm

随机推荐

  • java反射机制 (属性,注解)(代码)

    博学谷IT学习技术支持 1案例的类 import com example demo3 fanshe MyAnnotation import lombok Data author zw Description 描述 create 2022 2
  • YOLOv8+BoT-SORT多目标跟踪(行人车辆计数与越界识别)

    课程链接 https edu csdn net course detail 38919 BoT SORT是发表于2022年的先进的多目标跟踪算法 它结合了运动和外观信息 相机运动补偿和更准确的卡尔曼滤波状态向量 并把这些改进集成到ByteT
  • vue的环境搭建2023,idea,vscode踩坑记录

    由于看了19 20年的几篇博客 导致搭建vue环境一部分环节出大问题 大家还是看官方文档吧 血泪教训 不说废话直接开始 1 nodejs下载 下载地址 https nodejs org zh cn 下载稳定版 安装过程我是一路next 就是
  • python之折半查找算法

    折半查找算法也叫二分查找算法 算法的细节我就不讲了 但是必须说一下二分查找是基于我们之前的数据是有序的 如果没有序该算法是没有意义的 个人觉得代码比较直观 所以我这里就直接上代码了 折半查找非递归算法 折半查找非递归算法 折半查找函数 参数
  • 实验二 势函数算法的迭代训练

    实验二 势函数算法的迭代训练 一 实验目的 通过本实验的学习 使学生了解或掌握模式识别中利用势函数思想设计非线性判别函数的方法 能够实现模式的分类 学会运用已学习的先导课程如数据结构和算法设计知识 选用合适的数据结构完成算法的设计和程序的实
  • Python获取文件名和文件类型

    def get file info path dir path file full name os path split path file name file type os path splitext file full name re
  • [搬家前]代码走查

    代码走查 就是一群人一起 对别人写的代码进行分析 在算法上 在具体实现上 提出改进的意见 以使得程序更加健壮 更加有效率 今天对我写的一个Java Mail程序进行走查 自我感觉写得是有点丑 但是基本功能还是实现得很好的 经过走查 我收获很
  • 基于SpringBoot的高校党务管理系统

    系列文章目录 基于PHP的旅游管理系统 基于SSM的毕业设计管理系统 基于SpringBoot的高校在线答疑管理系统 目录 系列文章目录 一 相关技术 二 系统功能 三 系统页面 1 管理员功能页面 2 学生功能页面 3 党组织功能页面 4
  • 2021年安装deepin20.3和windows双系统

    2021年安装deepin20 3和windows双系统 1 前言 如你所见deepin最近发布了它的社区版20 3 这次带来几个重要的更新 更强大的内核版本 Stable内核升级到5 15版本 增强对Intel 12代U和NTFS文件系统
  • 利用dup函数实现基本的CGI服务器

    复制文件描述符的dup和dup2函数 include
  • Java设计模式(1):观察者模式

    面向对象思想设计原则 在实际的开发中 我们要想更深入的了解面向对象思想 就必须熟悉前人总结过的面向对象的思想的设计原则 1 单一职责原则 其实就是开发人员经常说的 高内聚 低耦合 也就是说 每个类应该只有一个职责 对外只能提供一种功能 而引
  • vue计时器(点击按钮1计时,点击按钮2结束计时清除定时器,时间显示格式为:00:00:00)

    html
  • IDEA设置默认maven配置

    前言 当你刚开始使用idea的时候 他会默认选用你本地C盘的maven仓库 而且随着maven使用的越多 C盘就会出现爆满的情况 这个时候我们需要自己下载一个maven仓库或者是把C盘的仓库移到其他盘里去 这里我提供了两个不同版本的mave
  • 疯壳AI语音及人脸识别教程3-5加解密及数据协议

    详情地址 https fengke club GeekMart views offline ai 购买链接 https fengke club GeekMart su fKw7Nb7oC jsp 视频地址 https fengke club
  • Xilinx ISE系列教程(9):LabTools下载、安装、使用教程(独立的下载工具)

    文章目录 1 ISE Vivado LabTools简介 2 ISE 14 7 Lab Tools下载 安装 3 Vivado 2018 3 LabTools下载 安装 1 ISE Vivado LabTools简介 Xilinx LabT
  • #ifndef... #define与#pragma once总结

    前几天看到同一个项目中有的地方使用了 ifndef define endif 而有的地方却用了 pragma once 于是我就纠结了 这两者有神马区别呢 今天仔细查了一下 发现还是有一点点的区别 不过不大 简单记录一下 一 简介 ifnd
  • lineageos 编译出错:error: VNDK version 30 not found.

    同步源代码后开始编译 结果一开始就提示这个错误 los17 1和los19 1都正常 los18 1就不行 提取了vndk 30后又会提示新的错误 该怎么解决
  • WSL2 Ubuntu+gnome图形界面的安装血泪史(亲测有效)

    WSL2 Ubuntu gnome图形界面 写在最前面 血泪史 1 wsl2 安装 2 Ubuntu安装 3 VcXsrv安装与启动 4 gnome图形界面的配置 5 显卡驱动的升级 6 wsl2与VMware虚拟机共存 本地与WSL文件传
  • docker常用的Linux命令

    docker 帮助 docker h 查看镜像 docker images 查看容器 docker ps 进入容器 docker exec it web 容器id的前几位或容器名 bin bash 有些地方是bash 具体地方具体定 退出容
  • Cesium教程 (3) 矢量切片mvt-imagery-provider加载

    Cesium教程 3 矢量切片mvt imagery provider加载 目录 0 矢量切片 1 开源项目 2 环境 3 代码 4 进阶 5 TODO 0 矢量切片 WMTS 加载最快 图片格式 样式固定 WMS 加载数量大则慢 但可以点