OpenLayers WebGL瓦片图层和样式

openlayers WebGL加载地图(栅格切片、矢量切片) 矢量切片使用VectorTile创建图层(它默认支持WebGL,所以不需要额外配置WebGL相关的参数,如果浏览器不支持WebGL,OpenLayers将回退到使用Canvas渲染)本篇介绍一下使用openlayers WebGL方式加载地图(栅格切片、矢量切片)栅格切片使用WebGLTile创建图层。 阅读详情
AI摘要

本文介绍了如何在OpenLayers中使用WebGLTileLayer处理Cloud Optimized GeoTIFF (COG)数据,包括GeoTIFFSource的原理、数据源选择、以及如何配置WebGLTileLayer的样式,如单波段和多波段拉伸、分级和运算。

前言

       OpenLayers普通图层使用canvas渲染,样式配置使用Style相关API,若想进一步控制渲染过程,对于layer对象通常有postrender方法(示例见Custom Animation),使用RasterSource(示例见Color Manipulation),Style的renderer方法(示例见Custom Circle Render),source的tileLoadFunction方法也可以从参数中获取当前瓦片的image。
       此外,WebGLPoints,WebGLTileLayer图层使用WebGL进行渲染,不适用原来基于canvas的样式配置和操作。其中WebGLPoints用于海量点渲染,WebGLTileLayer用于渲染瓦片地图,比如COG(具体概念见Cloud Optimized GeoTIFF,在下面_GeoTIFF源介绍_这一节有简介)。基于目前最新的API版本(v6.13.0),WebGLPoints只有相关Example,但API文档并不完整;WebGLTileLayer既有API文档又有示例。
       本文简单介绍WebGLTileLayer的图层和数据源,重点介绍其样式配置,辅以基于当前版本API的一些示例。

WebGLTile:图层和数据源介绍

       该图层继承自BaseTileLayer,继承了一些通用属性,下图简单标注
在这里插入图片描述

       该图层的source数据源可以指定两种,DataTileSource和TileImage
在这里插入图片描述

       其中DataTileSource是GeoTIFFSource,也就是将要着重介绍的,用于加载COG的数据源的父类。该数据源没有常见的url参数,而是使用loader参数,将数组解析为瓦片。
在这里插入图片描述

       这里仅介绍该类原理,常用的是它的子类GeoTIFFSource。GeoTIFFSource用于加载COG网络地址,其原理简单介绍就是使用Geotiff.js解析tif原始图像信息,和范围、波段等元信息(metaData)。这里介绍原理是为了,若将来需要对此过程进行扩展修改,也可以手动将tif信息以此种方式转为数组,使用DataTileSource的loader方法加载。
       除DataTileSource外,还可以加载TileImage类的数据源。TileImage是各种瓦片地图数据源类的父类,很少直接使用,而是使用其子类,见下图
在这里插入图片描述

       根据地图服务类型自行选择。
       这里补充下。一般情况下,这些瓦片数据源可以使用瓦片图层(TileLayer)加载,使用WebGLTileLayer加载可以使用WebGLTileLayer的style,控制其曝光度、对比度、饱和度等,见示例WebGL Tile Layer Styles。至于常用于控制GeoTIFFSource波段渲染的color属性是否适用于瓦片地图源,并没有做测试,也暂时没想到要这样做的原因。

GeoTIFF源介绍

       GeoTIFF数据源的基础知识。这里先介绍几个概念
       遥感影像:可以简单理解为卫星照片,用像素值记录地面信息。不同的卫星、传感器产生不同的影像种类。
       波段:遥感影像分波段记录同一位置的像素。至少一个,常见3或4个,一般是红绿蓝和近红外,但也不一定。
单波段影像

       真/假彩色合成:对多波段影像,将波段进行组合显示的两类方式。由于屏幕等介质一般是按照R-G-B方式显现颜色,而波段只有序号数字,数量和顺序不一定对的上,所以需要人工设定。真彩色指合成出来的影像符合真实颜色,假彩色就是不符合。
真彩色合成

假彩色合成

       tif/geoTif:比较常见的遥感影像文件格式,里面有各波段图像像素信息,和坐标系、波段值、nodata(表达空值的像素值)等元信息。
       COG:云优化GeoTiff,对普通tif进行处理,内部生成切片、概览,经过压缩的tif文件。
COG可以放在nginx等云容器内,网络地址作为GeoTIFFSource的url参数,见下图
Cloud Optimized GeoTIFF (COG)
在这里插入图片描述

       若COG是按照R-G-B三个波段且值是0-255,可以不设置style直接渲染真彩色。若COG波段没有按照该标准或需要另设置样式,就需要设置Style参数。

Style API简介

       这里简单介绍WebGLTileLayer的style参数对象
在这里插入图片描述

       简单机翻了下。左侧为配置对象的key,右侧为值类型。这里可见,除variables(表达式变量)使用{key[字符串]:value[字符串|数字]}类型外,其他都使用ExpressionValue(样式表达式)。这里结合一个示例介绍下使用方法。
WebGL Tile Layer Styles
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

样式表达式

       API文档见ExpressionValue,最好结合下面例子看。
       这里先给出测试demo的主要代码,下面的几种例子都只是替换其中的style变量

// COG地址
const url = "";
// 这个获取元信息的方法附录里会解释
const metaData = await this.getGeoTifMetaData(url);
// 输出的元信息,见下图
console.log(metaData);
// 取出元信息里的波段最大最小值
const ba
OpenLayers使用WMS加载GeoTiff数据源踩坑记录 前言 OpenLayers最近版本(6.11.0)上看到了使用WebGLTile图层加载GeoTIFF的示例,功能强大,不仅可以在前端直接显示tif影像,还可以做分波段彩色合成,对比度拉伸等色彩上的调整。简单试了下,发现数据源上存在一定的限制 WebGLTile的source属性接受DataTileSource和TileImage两种source类型,结合示例里的数据源发现WebGLTile图层只接受单张tif或者XYZ切片格式数据源,目前还不支持WMS地图服务,虽然GeoServer的WMS服务支持输出 阅读详情

相关推荐

十二、openlayers官网示例Change Tile Layer Style解析——修改WebGLTile图层样式

示例中下拉框的值改变后就可以用来切换地图的样式了,有一说一,这种切换颜色的方式真的太厉害啦,像我们之前,更改图层样式,前端需要重新请求一次geoserver,传递style字段,geoserver返回新的图片再绘制到地图上,不仅需要一次次请求,请求速度也比较慢。在这个配置中,NDVI 值被映射到一组颜色值,根据不同的 NDVI 值采用不同的颜色。WebGLTile 图层加载方式和之前我们加载的切片不同,XYZ请求的是png,WebGLTile 加载的是tif文件,我们可以看下网络请求。

aaa_div的博客 1666

OpenLayers教程一:OpenLayers概述

目录 一、OpenLayers简介 二、OpenLayers的特征 三、OpenLayers的框架结构 一、OpenLayers简介 OpenLayers是一个用于开发WebGIS客户端的JavaScript包,最初基于BSD许可发行。 OpenLayers是一个开源的项目,其设计之意是为互联网客户端提供强大的地图展示功能,包括地图数据显示与相关操作,并具有灵活的扩展机...

不睡觉的怪叔叔的博客 10万+

Vue+OpenLayers7入门到实战目录,OpenLayers7中文文档,OpenLayers7手册,OpenLayers7教程

本篇作为《Vue+OpenLayers7入门到实战》所有文章的二合一汇总目录,方便查找。本专栏源码是由OpenLayers7.x版本结合Vue框架编写。本专栏基本上每章都有详细的源代码和运行示例以供参考,且保证每章代码都可以正常运行,非常适合入门读者从零开始学习。本专栏从Vue搭建脚手架到如何引入OpenLayers7依赖的每一步详细新手教程,再到通过各种入门案例和综合性的实战案例,带领大家快速上手Vue+OpenLayers7开发。

2401_85124764的博客 710

OpenLayers WebGL瓦片图层实战:5分钟搞定COG遥感影像渲染(附完整代码)

本文提供了一份OpenLayers WebGL瓦片图层的实战指南,教你如何在5分钟内高效渲染COG遥感影像。通过结合Cloud Optimized GeoTIFF格式与WebGLTileLayer的硬件加速能力,实现浏览器中丝滑加载与显示。文章详细介绍了从环境准备、核心代码实现到进阶样式配置(如真彩色合成与NDVI计算)的全过程,并附有完整的代码示例,帮助开发者快速掌握高性能WebGIS影像可视化技术。

weixin_29012677的博客 257

openlayers:实现更改切片图层样式 (附完整源码)

openlayers:实现更改切片图层样式 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 439

OpenLayers实战,WebGL图层根据Feature要素的变量动态渲染多种颜色、不同长度和不同透明度的长方形(矩形)图形,适用于大量矩形图形渲染

本章使用OpenLayers根据Feature要素的变量动态渲染多种颜色、不同长度和不同透明度的矩形(长方形、四边形和正方形)图形。通过一个WebGL图层生成四种不同颜色、不同大小和不同透明度的矩形图形要素,适用于WebGL图层根据大量点要素区分颜色、区分不同大小和区分透明度显示矩形的需求。本文使用case运算符结合逻辑运算符生成透明度,match运算符生成多种颜色和插值运算符生成长度。

GIS技术方向,GIS地图技术分享(GIS入门、Openlayers教程、Leaflet教程),做最好的GIS地图开发教程。关注博主公众号:eguid 1288

OpenLayers 入门指南【十一】:WebGL瓦片图层

摘要 本文探讨了OpenLayers中WebGLTileLayer的使用场景与核心特性。该图层适合需要GPU端样式处理、波段计算或动态栅格渲染的场景,而非简单的瓦片显示。关键点包括:1) WebGLTileLayer需搭配DataTileSource体系数据源;2) 通过style配置实现色彩调整和变量联动,支持运行时更新;3) getData()方法可获取像素级数据;4) 常见数据源包括ImageTile、GeoTIFF等。与普通瓦片图层相比,其核心优势在于提供WebGL级别的栅格处理能力,适合数值分析和

凌往昔 73

为什么你的ESXI无法识别移动硬盘?一步步教你解决USB存储挂载问题

本文深入解析了ESXi无法识别移动硬盘的根本原因,并提供了从诊断到解决的完整方案。核心在于理解ESXi的USB Arbitrator服务机制,通过检查服务状态、内核设备识别及分区表,逐步定位问题。文章详细指导了如何禁用USB仲裁服务以在主机挂载USB存储,或将其直通给虚拟机,并针对大容量硬盘、USB 3.0兼容性等进阶问题给出了实用建议。

qq_27496129的博客 331

YOLOv8中Bottleneck模块详解

Bottleneck 模块在YOLOv8中的作用是进行特征提取和增强,是网络中的核心构建模块之一。它的主要功能是通过卷积操作来处理输入特征图,并在适当情况下应用残差连接,使得信息能够有效地通过网络层进行传播

zzzyyy8的博客 8060

高德地图JSAPI中旋转Marker点标签图片时候,且不旋转lable内容方法。

高德地图JSAPI中旋转Marker点标签图片时候,且不旋转lable内容方法

weixin_42960380的博客 2499

macOS 发票查验全攻略:从证书导入到Safari调试

本文详细介绍了在macOS上进行发票查验的全流程,包括证书下载、钥匙串访问导入、Safari浏览器调试等关键步骤。重点解决了验证码不显示等常见问题,提供了证书信任设置和开发者工具使用的实用技巧,帮助用户顺利完成税务发票在线查验。

weixin_29204749的博客 544

华大HC32F460串口超时中断+DMA收发实战:从STM32迁移的避坑指南

本文为从STM32迁移至华大HC32F460的开发者提供了串口DMA收发的实战避坑指南。核心在于理解HC32F460以串口接收超时中断替代空闲中断的机制,并调整DMA配置策略:DMA应设置为由串口接收事件持续触发搬运,超时中断仅负责通知和重置DMA,从而实现高效可靠的数据收发。

weixin_29175469的博客 113

【RT-DETR有效改进】全新的SOATA轻量化下采样操作ADown(轻量又涨点,附手撕结构图)

本文给大家带来的改进机制是利用2024/02/21号最新发布的YOLOv9其中提出的ADown模块来改进我们的Conv模块,其中YOLOv9针对于这个模块并没有介绍,只是在其项目文件中用到了,我将其整理出来用于我们的YOLOv8的项目,经过实验我发现该卷积模块(作为下采样模块)首先可以大幅度降低参数值,其次其精度上也有很高的提升,同时本文的内容目前网络上并无其它人总结(也是最新发布的,可以说BUff是集满了)大家可以尝试以下在自己数据集上的效果。

Snu77的博客 4768

116、影像质量主观评价方法论:标准场景与专家判读

本文探讨了影像质量主观评价的方法论,强调标准场景构建和专家判读体系的重要性。作者基于15年行业经验指出,仅靠客观指标无法保证观感质量,提出四类标准场景(灰阶、肤色、纹理、动态)的构建原则和四种专家判读维度(通透性、干净度、自然感、流程化)。文章揭示了主观评价中的常见误区,包括光源单一性、个人判读偏差、显示设备影响等,并建议建立多专家交叉验证机制和主观评价数据库。最后强调主观评价是可标准化的专业技术,需要将人眼感知转化为可追溯的技术参数。

sundong_81的博客 38

【人工智能论文发表】基于医学病例文本和多模态大模型的医疗影像分割方法研究

摘要:本研究提出MMS-Former,一种基于级联多模态Transformer的文本引导医学图像分割框架。该模型创新性地将临床文本信息深度融入图像分割全过程,通过SwinUNETR提取视觉特征,ClinicalBERT编码病历文本,并在解码器的每个上采样阶段通过交叉注意力模块实现多级文本特征融合。实验表明,相比纯视觉模型,MMS-Former在Dice系数和IoU指标上分别提升3%以上,在处理边界模糊目标时表现尤为突出。模型还设计了结合Dice损失和图文对比损失的复合目标函数,确保分割精度与语义对齐。代码实

u012133341的博客 139

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: COG(Cloud optimized GeoTIFF——云优化GeoTiff)简介与实践
下一篇: 使用python GDAL生成COG(Cloud Optimized GeoTIFF)
GIS小虫
博客等级 码龄10年 114粉丝 71原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值