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

相关推荐
丷丩18 小时前
MapLibre GL JS第27课:添加COG栅格源
javascript·map·mapbox·maplibre gl js
IT_陈寒18 小时前
Vue这个动态响应坑把我整不会了
前端·人工智能·后端
bestlanzi18 小时前
使用nvm管理node环境
前端·vue.js·npm
SomeOtherTime18 小时前
Geojson相关(AI回答)
java·前端·python
不好听61319 小时前
JavaScript 到底是怎么运行的?从编译阶段到执行上下文全面解析
javascript
丷丩19 小时前
MapLibre GL JS第29课:添加Canvas源
javascript·gis·map·mapbox·maplibre gl js
就叫_这个吧19 小时前
HTML常用标签及举例使用
前端·html
utf8mb4安全女神19 小时前
【rsyslog服务】把所有服务的“临界点”以上的错误都保存在/var/log/alert.log⽇志中
java·前端·javascript
YANQ66219 小时前
7.bundlesdf本地安装
前端·webpack·node.js
csdn_aspnet20 小时前
javascript 算法 LeetCode 编号 70 - 爬楼梯
开发语言·javascript·算法·leetcode·ecmascript