16openlayers加载COG(云优化Geotiff)

1.前言

当在内网,没有GIS Server的时候,又想加载底图,一个办法就是使用COG。

2.实战

先用地图下载器,市面上有很多。下载一张geotiff。

将其使用GDAL命令处理成cog,命令如下:

bash 复制代码
gdal_translate z:\data\a.tif  z:\data\acog.tif -of COG  -co COMPRESS=JPEG

将其发布到nginx上,nginx的配置片段:

bash 复制代码
 location /tif {
            alias   "z:\\data\\";
            index  index.html index.htm;
  }

启动nginx,就可以用http://localhost/tif/acog.tif 访问了。

开始写前端代码:

main.js

bash 复制代码
import Map from 'ol/Map.js';
import TileLayer from 'ol/layer/WebGLTile.js';
import GeoTIFF from 'ol/source/GeoTIFF.js';

const source = new GeoTIFF({
  sources: [
    {
      url: 'http://localhost/tif/acog.tif',
    },
  ], 
  convertToRGB:true
});

引入GeoTIFF的source、TileLayer,创建一个GeoTIFF source的对象。

convertToRGB:true,将其他色彩空间的颜色转换成RGB,即所见和用地图工具直接打开的效果一致。

bash 复制代码
var tileLayer = new TileLayer({
      source: source,
    })

创建一个TileLayer的图层对象,将tileLayer使用Map的addLayer方法添加进map对象中。

相关推荐
Reart15 小时前
从0解构tinyWeb项目--(Day:2)
javascript·后端·架构
木斯佳15 小时前
前端八股文面经大全:腾讯CSIG实习面(2026-04-10)·面经深度解析
前端·ai·xss·埋点·实习面经
夏暖冬凉15 小时前
npm发布流程(记录遇到的问题)
前端·npm·node.js
XPoet15 小时前
AI 编程工程化:Subagent——给你的 AI 员工打造协作助手
前端·后端·ai编程
心连欣16 小时前
解锁对象遍历:当字符串遇上for...in循环
前端·javascript
Sestid16 小时前
前端Cursor使用指南(后续会更新Claude)
前端·claude·cursor
戴维南16 小时前
LangChain 在 Agent 开发中的定位:10 个模块(含代码对比,耳机售后案例)
前端
ouzz16 小时前
使用纯canvas绘制一个掘金首页
前端·canvas
用户69575844912817 小时前
Vue 3 响应式系统:解构赋值与依赖收集的正确姿势
前端
乐乐同学yorsal17 小时前
一个 TypeScript 写的图片视频处理工具箱,吊打一切付费软件!
前端·命令行