无法在传单上使用图像叠加插件查看光栅图像(多波段卫星图像)

Posted

技术标签:

【中文标题】无法在传单上使用图像叠加插件查看光栅图像(多波段卫星图像)【英文标题】:can't view a raster image (multiband satellite image) with image overlay plugin over leaflet 【发布时间】:2018-11-27 11:08:13 【问题描述】:

我正在尝试使用图像叠加(传单插件)在网络地图站点中查看包含 8 个波段的光栅图像(多波段卫星图像)。我得到图像范围空白。这是我使用的光栅文件

<html>
<iframe src="https://onedrive.live.com/embed?cid=313D1A84155423E8&resid=313D1A84155423E8%21103&authkey=ADFZt66lh2yvK-g"   frameborder="0" scrolling="no"></iframe>
</html>

raster_file

以及在网站raster viewed in website查看的结果

这是源代码

<!DOCTYPE html>
<html>
<head>
<title>raster</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css"></script>
<style type="text/css">
  html, body, #map 
    margin: 0px;
    height: 100%;
    width: 100%;
  
</style>
</head>
<body>
<div id="map"></div>
<script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
  var map = L.map('map', 
    center: [31,-8],
    zoom: 8,
  );
  L.tileLayer('https://api.tiles.mapbox.com/v4/id/z/x/y.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', 
    maxZoom: 18,
    attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' +
        '<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
        'Imagery © <a href="http://mapbox.com">Mapbox</a>',
    id: 'mapbox.streets'
).addTo(map);
var bounds = new L.LatLngBounds(
        new L.LatLng(34.22,-8.68),
        new L.LatLng(32.01,-6.27));
    var overlay = new L.ImageOverlay("croplf3.tif", bounds
    );
    map.addLayer(overlay);
</script>
</body>
</html>

【问题讨论】:

那是 TIFF 格式的文件吗?请记住,浏览器不支持该特定格式 - 您必须将其转换为另一种图像格式。 是的,它是 tiff 。还有哪些其他格式支持多波段光栅图像? 【参考方案1】:

您应该能够使用内置的ImageOverlay 功能。

var bounds = new L.LatLngBounds(
  new L.LatLng(34.22, -8.68),
  new L.LatLng(32.01, -6.27)
);

var overlay = new L.imageOverlay("croplf3.tif", bounds)
  .addTo(map);

【讨论】:

以上是关于无法在传单上使用图像叠加插件查看光栅图像(多波段卫星图像)的主要内容,如果未能解决你的问题,请参考以下文章

将光栅堆栈投影为动画或 GIF 传单

PIE-Basic 波段合成

使用 Polygon 裁剪光栅文件并使用相同的文件名写入输出

Python遥感图像处理应用篇(二十):Python+GDAL 批量提取多波段图像为单波段图像

Python遥感图像处理应用篇(二十):Python+GDAL 批量提取多波段图像为单波段图像

Python遥感图像处理应用篇(二十):Python+GDAL 批量提取多波段图像为单波段图像