当前位置: 首页 > news >正文

OpenLayers 加载GeoTIFF影像

前言

GeoTIFF是开放地理控件联盟(OGC)实施标准,在TIFF的基础上,嵌入了地理空间元数据,也就是说,GeoTIFF是带有地理空间参考和地理数据的TIFF文件。其中GeoTIFF元数据包括坐标系、地图投影以及特定位置信息等。GeoTIFF格式广泛应用于航空影像、卫星影像以及数字高程模型中。

1. 下载GeoTIFF数据

下载GeoTIFF数据,请参考GIS 影像数据源介绍
[https://www.yuque.com/u37362584/pg4zca/nmw9pt7fgzkbfx3h#Geag9](https://www.yuque.com/u37362584/pg4zca/nmw9pt7fgzkbfx3h#Geag9)

2. 添加geotiff.js

OpenLayers中加载GeoTIFF影像之前,需要先引入geotiff.js库。cdn 地址:[https://www.jsdelivr.com/package/npm/geotiff](https://www.jsdelivr.com/package/npm/geotiff)

3. IIS部署GeoTIFF文件

在本机测试可以采用windows自带的web服务器iis部署GeoTIFF文件,然后通过http进行访问

4. 加载GeoTIFF文件

const source = new ol.source.GeoTIFF({sources: [{// url: "http://localhost/GeoTIFF/tci.tif"url: "http://localhost/GeoTIFF/GLOBCOVER_L4_200901_200912_V2.3.tif"// url: "http://localhost/GeoTIFF/LC08_L1TP_130042_20210212_20210304_01_T1_B1.TIF"}]
})
// 加载GeoTIFF影像数据
const tiffLayer = new ol.layer.WebGLTile({source: source,convertToRGB: true // 将色彩系统转换为RGB
})
map.addLayer(tiffLayer)

5. 完整代码

其中libs文件夹下的包需要更换为自己下载的本地包或者引用在线资源。本示例引用了layui组件,请自行替换。

<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>加载GeoTIFF影像</title><meta charset="utf-8" /><script src="../../../js/ol9.2.4.js"></script><script src="../../../libs/layui/layui.js"></script><link rel="stylesheet" href="../../../css/ol9.2.4.css"><link rel="stylesheet" href="../../../libs/layui/css/layui.css"><script src="https://cdn.jsdelivr.net/npm/geotiff@2.1.3/dist-browser/geotiff.min.js"></script><style>* {padding: 0;margin: 0;font-size: 14px;font-family: '微软雅黑';}html,body {width: 100%;height: 100%;}#map {position: absolute;top: 50px;bottom: 0;width: 100%;}#top-content {position: absolute;width: 100%;height: 50px;line-height: 50px;background: linear-gradient(135deg, #ff00cc, #ffcc00, #00ffcc, #ff0066);color: #fff;text-align: center;font-size: 32px;}#top-content span {font-size: 32px;}</style>
</head><body><div id="top-content"><span>加载GeoTIFF影像数据</span></div><div id="map" title="地图显示"></div></body></html><script>const source = new ol.source.GeoTIFF({sources: [{url: "http://localhost/GeoTIFF/tci.tif"// url: "http://localhost/GeoTIFF/GLOBCOVER_L4_200901_200912_V2.3.tif"// url: "http://localhost/GeoTIFF/LC08_L1TP_130042_20210212_20210304_01_T1_B1.TIF"}],convertToRGB: true // 将色彩系统转换为RGB})// 加载GeoTIFF影像数据const tiffLayer = new ol.layer.WebGLTile({source: source})const map = new ol.Map({target: "map",loadTilesWhileInteracting: true,view: source.getView(),// layers: [],// 地图默认控件controls: ol.control.defaults.defaults({zoom: false,attribution: true,rotate: true})})map.addLayer(tiffLayer)
</script>

OpenLayers示例数据下载,请回复关键字:ol数据

全国信息化工程师-GIS 应用水平考试资料,请回复关键字:GIS考试

【GIS之路】 已经接入了智能助手,欢迎关注,欢迎提问。

欢迎访问我的博客网站-长谈GIShttp://shanhaitalk.com

都看到这了,不要忘记点赞、收藏 + 关注

本号不定时更新有关 GIS开发 相关内容,欢迎关注 !

相关文章:

  • Antv G2入门教程
  • Java常量与数据类型
  • 面向智能制造场景的永磁同步电机预测控制系统设计
  • day036-lsyncd实时同步服务与网站存储架构
  • Day04_C语言基础数据结构重点复习笔记20250618
  • Happy-LLM task2 第一章 NLP 基础概念(2天)
  • 27.自连接
  • 【面试题001】生产环境中如何排查MySQL CPU占用率高达100%?
  • 详细讲解Redis为什么被设计成单线程
  • C与C++中的可变参数
  • 使用@SpringJUnitConfig注解开发遇到的空指针问题
  • 工信部发布《中国工业软件产业发展研究报告(2025)》:PLM垄断加剧,Ai为国产PLM软件发展契机
  • 基于大模型的胆囊结石全周期诊疗方案研究报告
  • voronoi图,凸壳,和早已遗忘的定不定积分
  • Flutter TCP通信
  • vscode连接不上服务器问题修复
  • golang--数据类型与存储
  • D包和模块.go
  • Spring Boot + AOP + Jasypt,3 步实现敏感数据脱敏
  • Java 实现后端调用 Chromium 浏览器无头模式截图的方案
  • wordpress 友言/徐州关键词优化排名
  • 电子商务网站设计思路/在线h5免费制作网站
  • 哪个博客可以做单页网站/百度怎么搜索网址打开网页
  • 网站建设工具哪个好用/怎样建立个人网站
  • 班玛网站建设/外包平台
  • 合肥电商网站开发/搜索引擎分哪三类