美文网首页GIS加油站
mapboxGL2中Terrain的离线化应用

mapboxGL2中Terrain的离线化应用

作者: 牛老师讲GIS | 来源:发表于2021-09-17 00:04 被阅读0次

概述

mapboxGL2中比较大的一个更新就是加入了Terrain,可以实现三维的立体效果,本文书接上文“mapboxGL2离线化应用”,说说Terrain的离线化应用。

效果

image.png

实现分析

  1. 打开官方例子,F12打开调试工具;
  2. 在网络请求里面查找terrain-dem,接口及返回数据格式如下:
    image.png
    根据上面返回的数据,我们不难理解每个字段的含义,这里面核心的:
  • description,里面描述的是dem到RGB的转换算法height = -10000 + ((R * 256 * 256 + G * 256 + B) * 0.1);
  • tiles,是切片的地址'
  • schemexyz,切片大小为512,下图为接口中返回的图片示例。
    image.png

实现

  1. 下载切片
    基于上面的分析,我们借助QGIS,将切片下载下来,这个可参考之前的文章qgis切片下载与本地部署以及调用.

  2. 生成本地配置文件
    根据上面的分析,本地配置文件只需要tiles节点即可,同时为记录,保留了 description,生成后的文件如下:

{
  "description" : "height = -10000 + ((R * 256 * 256 + G * 256 + B) * 0.1)",
  "scheme" : "xyz",
  "tiles" : [
    "../dist/dem/{z}/{x}/{y}.png"
  ]
}
  1. 添加类型为raster-demsource,并通过调用接口map.setTerrain实现设置。
// 添加source
'mapbox-dem': {
    'type': 'raster-dem',
    'url': '../dist/data/terrain.json',
    'tileSize': 512,
    'maxZoom': 17
}

// 设置setTerrain
map.setTerrain({ 'source': 'mapbox-dem', 'exaggeration': 1.2 });

相关文章

  • mapboxGL2中Terrain的离线化应用

    概述 mapboxGL2中比较大的一个更新就是加入了Terrain,可以实现三维的立体效果,本文书接上文“mapb...

  • mapboxGL2离线化应用

    概述 mapboxGL升级到2的版本之后,用官方的引用token是必须要有的,为了能够离线使用,我们需要对源码做一...

  • 离线检测

    离线Web应用概念 离线Web应用,就是在设备不能上网的情况下任然可以运行的应用。 开发离线Web应用步骤 首先,...

  • IOS 数据持久化—plist文件

    在实际项目开放中数据持久化是程序核心结构之一,适当的对数据进行持久化存储可以实现应用的离线功能,以此提高用户体验。...

  • 3.7 离线应用

    3.7 离线应用 问题一:什么是离线应用? 离线应用是指通过离线缓存技术,让资源在第一次被加载后缓存在本地,下次访...

  • HTML5--离线web应用

    HTML5新增了离线应用,离线应用使得我们可以在网页或应用在没有网络的情况下依然可以使用。离线应用的使用需要以下几...

  • ReactNative打包 - 原理介绍

    一. 项目环境搭建 (1) 初始化项目 (2) 编译并运行应用 其他 打包生成离线 jsbundle react-...

  • IndexedDB

    存储大量结构化数据使用索引来实现对该数据的高性能搜索 为应用创建离线版本

  • 四十天学完六级词汇「9缺」「10」

    terrain n.地形,地势 drive through the tough terrain premature...

  • 离线应用与客户端存储(23)

    -进行离线检测-使用离线缓存-在浏览器中保存数据 离线web应用,就是设备在不能上网的情况下仍然可以运行的应用。 ...

网友评论

    本文标题:mapboxGL2中Terrain的离线化应用

    本文链接:https://www.haomeiwen.com/subject/hhtjgltx.html