使用RasterizeLayer(),我想在3个波段中从多边形层进行光栅化。每个波段都应该从源层中的一个atribute获取其像素值。有没有办法通过一次呼叫RasterizeLayer来实现这一点?到目前为止,我只通过三次调用RasterizeLayer实现了预期的结果:
gdal.RasterizeLayer(outds,[1], maskLyr, options=["ATTRIBUTE=CATEGORY"])
gdal.RasterizeLayer(outds,[2], maskLyr, options=["ATTRIBUTE=ID1"])
gdal.RasterizeLayer(outds,[3], maskLyr, options=["ATTRIBUTE=ID2"])
当使用如下燃烧值时,我可以一次燃烧几层(燃烧值111在频带1中,222在频带2中,333在频带3中):
gdal.RasterizeLayer(outds,[1,2,3], maskLyr, burn_values=[111,222,333])
我希望我的情况也能做到这一点。但我没能做到这一点。下面这样的东西会很棒(它不起作用——只是一厢情愿):
gdal.RasterizeLayer(outds,[1,2,3], maskLyr, options=["ATTRIBUTE=CATEGORY", "ATTRIBUTE=ID1", "ATTRIBUTE=ID2"])
然而,我一直未能找到一种方法来做到这一点。这是可能的,还是我目前的解决方案是唯一的选择
目前没有回答
相关问题 更多 >
编程相关推荐