图是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,实现了黑底变透明。