Cesium加载ArcGIS的PBF矢量切片服务

这篇具有很好参考价值的文章主要介绍了Cesium加载ArcGIS的PBF矢量切片服务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Cesium 加载 ArcGIS 的 PBF 矢量切片服务

矢量切片(Vector Tiles)

在 Cesium 中,我们使用的地图服务均为传统的栅格切片服务。即在服务端渲染好图片并进行切片,客户端请求获取图片后直接显示。

而矢量切片则有别于传统的栅格切片,它在服务端切片存储的是矢量数据的描述文件,最终的渲染在客户端完成。

事实上矢量切片技术目前已成为互联网地图的主流技术,无论是 Mapbox 还是高德地图、百度地图,如今打开控制台看到的数据源请求不是当年传统的一张张图片切片,而是经过压缩的二进制数据。

Cesium加载ArcGIS的PBF矢量切片服务

矢量切片的特点:

  1. 客户端渲染:由于服务器只存储二进制的矢量数据和样式文件,所以渲染的任务会落在客户端上。因为对于动态服务而言,可以极大的减小服务器的压力(不需要服务端实时渲染)。对于切片数据而言,修改样式不再需要重新切片。并且在数据传输中保密性会更高,不容易被爬取。但是相反,会增加客户端的渲染压力。
  2. 瓦片更小:矢量瓦片的大小通常会远小于栅格栅格瓦片,可以使得数据传输更快以及使用更低的带宽。
  3. 允许多套配色方案:矢量切片的渲染效果由样式文件的内容决定,通过定义不同的样式文件,能够实现切换多套配色方案。
  4. 不需要很高的切片层级:由于服务端返回的是矢量数据,因此客户端可以绘制很高精度的地图,不需要通过提高切片的层级实现,能够极大的减少服务器的存储压力。

Cesium 支持矢量切片

Cesium 支持矢量切片服务的 Issues Vector Tiles #2132 在 2014 年就已经提出了,但一直没有得到官方的支持

在民间,也有其他的解决方案,但大多都是利用 MapBox 或者 Openlayer 来渲染矢量切片来实现。如果单单为了支持矢量切片来说,这样实现太重。

因此经过研究,本人实现了一个极其轻量级的渲染方案,几乎相当于纯原生实现。

主要实现思路就是请求PBF、解析并根据样式文件将PBF上的内容绘制到 Canvas 上。最后利用 Cesium 的影像渲染机制渲染出来,目前情况如下:

  1. 主要适配 ArcGIS 发布的 PBF 矢量切片(国内使用最多,但是在 Cesium 中没有很好的支持方案)
  2. 支持 ArcGIS 中定义的样式文件(允许自己额外添加规则)
  3. 具备缓存机制(请求过的 PBF 文件不会重复请求)
  4. 允许渲染超过切片层级的瓦片(如切片到 14 级,但是客户端能一直渲染到 26 级)
  5. 支持 4326、3857、4490 坐标系
  6. 支持渲染精灵图

实际效果

Cesium加载ArcGIS发布的PBF矢量切片服务

原文链接

Cesium 加载 ArcGIS 的 PBF 矢量切片服务文章来源地址https://www.toymoban.com/news/detail-452729.html

到了这里,关于Cesium加载ArcGIS的PBF矢量切片服务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【02】mapbox js api加载arcgis切片服务

    第三方的mapbox js api加载arcgis切片服务,同时叠加在mapbox自带底图上 形如这种地址去加载: http://zjq2022.gis.com:8080/demo/loadmapbox.html arcgis切片服务参考链接思路:【01】mapbox js api加载arcgis切片服务-CSDN博客

    2024年01月19日
    浏览(43)
  • arcgis javascript api4.x以basetilelayer方式加载arcgis发布的栅格切片服务

    以arcgis js api的basetilelayer加载arcgis发布的栅格切片服务 https://map.geoq.cn/arcgis/rest/services/ChinaOnlineCommunity/MapServer/?f=pjson 这样获取 https://map.geoq.cn/arcgis/rest/services/ChinaOnlineCommunity/MapServer/WMTS/1.0.0/WMTSCapabilities.xml   先确保以一张为例有结果返回 https://map.geoq.cn/arcgis/rest/services/ChinaO

    2024年01月19日
    浏览(50)
  • ArcGIS Pro发布地图服务(影像、矢量)

    做GIS一般都是用ArcMap发布影像或者矢量服务,由于ArcGIS后续不在更新ArcMap,改用ArcGIS Pro,本文对ArcGIS Pro发布服务进行说明。 使用ArcMap发布地形请跳转:ArcGIS Desktop发布地形高程服务(DEM/DSM) 使用ArcGIS Pro发布地形请跳转:ArcGIS Pro发布地形高程服务(DEM/DSM) 本文示例使用(

    2023年04月19日
    浏览(55)
  • ArcGIS切片服务获取切片方案xml文件(conf.xml)

    在使用ArcGIS进行影像、地形等切片时,往往需要保持一致的切片方案才能够更好的加载地图服务。 本文介绍如何获取已经发布好的ArcGIS服务的切片方案xml文件。 当然切片xml文件还可以通过工具 Generate Tile Cache Tiling Scheme 生成,具体操作可参考相关文档,本文不做说明。 示例

    2023年04月20日
    浏览(46)
  • cesium加载geoserver的mvt服务

    矢量切片顾名思义是矢量+切片的组合,因此也就结合了矢量不会丢失信息的特征和切片快速加载信息的特征这两大优点。 cesium 本身并不支持矢量切片的加载,所以需要借助其他工具进行解析。在Canvas中把矢量瓦片绘制好了,以图片形式像WMTS一样向Cesium提供图片服务就行了,

    2023年04月20日
    浏览(41)
  • ArcGIS矢量裁剪矢量

    Arctoolbox工具一分析工具一叠加分析一相交

    2024年03月27日
    浏览(48)
  • 【UE5 Cesium】14-Cesium for Unreal 加载服务器上的倾斜摄影

    目录 前言  步骤 一、下载安装tomcat 10 二、下载安装JDK 三、启动Tomcat 四、Tomcat加载倾斜摄影 五、UE中加载Tomcat上的倾斜摄影         上一篇文章(【UE5 Cesium】13-Cesium for Unreal 加载本地倾斜摄影)介绍了如何在UE中加载本地倾斜摄影,本文在该文章基础上继续介绍如何在将

    2024年02月12日
    浏览(44)
  • Cesium设置模型朝向速度矢量方向

    现有一段飞机起飞、爬升的轨迹数据,需要在Cesium中模拟出飞行过程动画,要求飞机模型的姿态随着速度矢量方向变化,而不是一直保持飞机模型的原始状态。 在 Cesium.Entity 类中有属性 orientation 可以用来控制实体模型 model 的朝向,当不设置该属性时,模型就保持原始状态。

    2024年02月10日
    浏览(36)
  • 基于CanvasLabel的Leaflet矢量数据免切片属性标注实践

    目录 前言 一、Leaflet.CanvasLabel  1、开源地址 2、设置参数说明  二、组件集成 1、新建html文件 2、声明样式 3、定义矢量文本渲染器 4、定义地图 5、添加矢量数据 6、最终效果  总结         在一般的业务场景中,针对小量的矢量数据,比如POI兴趣点、线数据、面数据等,

    2024年01月22日
    浏览(34)
  • 【ArcGIS】基本概念-矢量空间分析

    栅格图是一个规则的阵列,包含着一定数量的像元或者栅格 常用的栅格图格式有:tif,png,jpeg/jpg等 矢量图是由一组描述点、线、面,以及它们的色彩、位置的数据,通过软件算法计算得到的图形。 常用的矢量图格式有:shp、eps、dwg、dxf等 GIS中矢量数据可以分为地图层、数

    2024年02月07日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包