Esri OptimizeRasters是一个高效、可配置的开源工具包。
OptimizeRasters提供了以下功能:
- 影像格式转换和压缩。支持输出优化栅格格式:MRF、分块TIFF、云存储优化GeoTIFF。
- 在云存储(例如Amazon S3、微软Azure、Google云存储)和本地企业存储系统之间传输栅格影像。
- 创建本地代理文件,引用存储在云存储或者企业存储系统中的栅格影像,提升影像访问速度。
使用OptimizeRasters工具包的好处:
- 流程化的数据管理。
- 更快的读取速度
- 简化云存储的数据上传和下载步骤
- 降低对存储系统的要求
OptimizeRaster工具包包含的工具:
- OptimizeRasters Tool 用于转换栅格影像格式,传输影像和创建本地代理。
- Profile Editor Tool 用于编辑Amazon S3和微软Azure云存储的配置文件。
- Resume Jobs Tool 用于查询未完成的作业,并允许用户继续作业。
目前转换输出支持的格式包括:
- 分块TIFF,有别于数据供应商提供的常规TIFF格式,通过内部分块机制,减少了数据访问时需要的磁盘读取次数。同时提供可选的JPEG和LZW压缩算法,有效减少文件大小。
- 云存储优化GeoTIFF,和分块TIFF类似,包含金字塔,并且文件组织针对Http请求进行优化。性能和分块TIFF差不多。
- MRF是NASA发明的用于高效存储和读取的分块栅格格式。可选使用LERC压缩算法,有效节省存储空间,同时提供较快的压缩和解压速度。
OptimizeRaster能同步转换和上传栅格影像到云存储或企业存储系统,同时会进行各项检查,以确保数据被成功转换或上传,通过外部的日志功能记录失败的记录以及作业的进度,能断点转换和续传。
OptimizeRaster创建的本地代理文件相当于一个指针,包含所指引的原始栅格影像文件的元数据信息以及指引路径。本地代理文件同时也能启用本地缓存功能,基于所指引的原始文件在本地构建MRF格式的副本,以加快访问速度。
下载地址
https://github.com/Esri/OptimizeRasters/raw/master/Setup/OptimizeRastersToolsSetup.exe
运行环境
ArcGIS Map 10.4.1+或者ArcGIS 1.3+
OptimizeRaster工具包针对不同数据格式转换场景提供了以下预置配置文件:
Airbus_SatelliteProduct_to_MRF_LERC |
空中客车的卫星数据转到到MRF(采用LERC压缩) |
CopyFilesOnly |
仅仅复制数据,不转换格式和创建本地代理。 |
CreateRasterProxy.xml |
创建本地代理文件。 |
DG_SatelliteProduct_to_MRF_LERC |
DG的卫星数据转到到MRF(采用LERC压缩) |
Grid_to_COG_LZW |
Grid转换为云优化格式 |
Grid_to_MRF_LERC |
Grid转换为MRF格式(采用LERC压缩) |
Imagery_to_COG_DEF. |
常见影像格式转换为云优化格式 |
Imagery_to_COG_JPEG |
常见影像格式转换为云优化格式 |
Imagery_to_MRF_JPEG |
常见影像格式转换为MRF格式(采用JPEG压缩) |
Imagery_to_MRF_LERC |
常见影像格式转换为MRF格式(采用LERC压缩) |
Imagery_to_TIF_JPEG |
常见影像格式转换为TIFF格式(采用JPEG压缩) |
Imagery_to_TIF_LZW |
常见影像格式转换为TIFF格式(采用LZW压缩) |
Landsat_to_MRF_LERC |
Landsat数转换为MRF格式(采用LERC压缩) |
Landsat8_RasterProxy |
Landsat8数据转换为MRF格式(采用LERC压缩) |
Overviews_to_MRF_JPEG |
概视图转换为MRF格式(采用JPEG压缩) |
Overviews_to_MRF_LERC |
概视图转换为MRF格式(采用LERC压缩) |
Sentinel2_to_MRF |
哨兵2数据转换为MRF格式 |
上述配置文件模板均为XML文件,假如需要定制自己的转换配置参数,可以在基于上述模板的基础上进行参数微调。
使用模式
在ArcMap中使用
把OptimizeRasters.pyt作为Python工具箱添加到ArcMap的ArcToolbox中。
在ArcGIS pro上使用
访问主菜单插入,工具箱。把OptimizeRasters.pyt作为Python工具箱添加到当前工程中。
假如需要调整配置参数,可点击上述界面中的Advanced按钮。
通过命令行调用。
python.exe <OptimizeRaster.py文件的完整路径> -input=<需要转换的数据所在目录> -out=<输出目录> -mode=<输出格式>
参数说明
参数 |
说明 |
是否必须 |
-config |
配置文件的路径 |
否 |
-mode |
输出格式,选项包括: l mrf l tif l tif_cog l rasterproxy |
是 |
-cache |
本地代理文件的存放路径 |
否 |
-quality |
JPEG的压缩率 |
否 |
-prec |
LERC的压缩率,默认整形数据为0.5,浮点数据为0.0001 |
否 |
-pyramids |
是否构建金字塔,选择包括: l 1 l 0 l external |
否 |
-rasterproxypath |
本地代理文件的存放路径 |
否 |