图是arcgis渲染成rgb的,由于没有透明度波段,底下是黑的。
为了能在前端显示透明效果,之前是用python处理数据,给它加个透明度波段
后来研究了一下ol的样式表达式,可以直接在前端去掉黑底
样式设置代码如下
const style = {
color: [
"array",
["band", 1],
["band", 2],
["band", 3],
[
"case",
[
"all",
["==", ["band", 1], 0],
["==", ["band", 2], 0],
["==", ["band", 3], 0],
],
0,
1,
],
],
};
array后长度为4的数组,分别表示输出的rgba波段。前三个波段使用tif的三个波段,第四个透明度波段使用case表达式,将波段123都是0的设为0,其他为1,实现了黑底变透明。