还没有解决,先记一下,以后再研究
用GDAL生成了个cog,生成中使用band.ComputeStatistics计算了波段信息,现在用gdal.Info可以获取到波段的最大最小值信息
但是geotif.js获取不到元信息。
geotifjs源码里解析主函数应该是这个
我想要的那个tag,GDAL_METADATA,对照如下
结合查到的资料,应该是保存了需要的元信息的,这些信息作为IFD保存在了tif文件里,geotifjs在parseFileDirectoryAt函数里读取IFD
然而读不到。
所以现在在研究怎么往tif里设置需要的元信息
破案了
生成COG的时候需要对波段执行ComputeStatistics,这样就能生成需要的GDAL_METADATA
不过openlayers应该是逐波段读取的,source.metadata_并不完整,可以通过geotiffjs自己读取可以获取所有波段的元信息。
另外,nodata值也可以通过SetNoDataValue设置
参考:
https://gdal.org/drivers/raster/gtiff.html#metadata
https://gdal.org/python/index.html
https://www.awaresystems.be/imaging/tiff/tifftags/gdal_metadata.html
https://geotiffjs.github.io/geotiff.js/module-geotiffimage-GeoTIFFImage.html