我正在尝试使用映射工具箱(更具体地说,不使用 WebMapServer 对象)从 Web 地图服务器中读取数据。我可以自己构建 URL 而不会出现问题,并且可以将 imread 用于返回 bmp 文件的 WMS。但是,其中一个 WMS 返回 BIL 文件(Band InterLeaved)并且 imread() 无法识别它。
如何使用映射工具箱从 URL 读取 BIL 文件?
编辑:这是我想阅读的示例 URL:
此外,如果我尝试使用 urlread 获取字节数据,然后将其写入文件,则某些值会以某种方式丢失。
bytedata = urlread( mapurl );
fp = fopen( 'tmp.bil', 'w' );
fwrite( fp, bytedata, 'uint8' );
fclose( fp );
fp = fopen( 'tmp.bil', 'r' );
z = fread( fp, 'int16' );
imagesc( reshape( z, 925, 1113 )' );
上面显示的图像类似于映射工具箱返回的图像,但有些区域设置为不应设置的常量值。