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对象中。

相关推荐
meilindehuzi_a18 分钟前
从零理解并实现 RAG:用 LangChain.js 构建语义检索问答系统
开发语言·javascript·langchain
世界哪有真情2 小时前
拿人类意识卡 AI?等于用 bug 验收正式产品
前端·人工智能·后端
鱼樱前端2 小时前
别再自己拼凑了!这款 Vue 3.5+ 严肃产品级组件库,把 AI 对话、工作流和复杂数据全包了!
javascript·vue.js·github
Listen·Rain2 小时前
Vue3:setup详解
前端·javascript·vue.js
Patrick_Wilson3 小时前
修好 bug 只是开始:一次由监控需求反向重构日志结构的复盘
前端·监控·数据可视化
kyriewen3 小时前
面试官让我优化一个卡死的表格,我打开 Claude 五秒重写,他放下咖啡问我要不要来当组长
前端·javascript·面试
‘’林花谢了春红‘’4 小时前
小玩意 生日快乐
css·html·css3
小粉粉hhh4 小时前
React(二)——dom、组件间通信、useEffect
前端·javascript·react.js
Csvn4 小时前
🤖 AI 生成前端代码的 5 个典型翻车现场及修复指南
前端
IT_陈寒5 小时前
SpringBoot自动装配坑了我一天,原来问题出在这
前端·人工智能·后端