GDAL建立GeoTIFF金字塔文件
gdal中的工具gdaladdo.exe,可以为大多数支持的格式建立或者重建(内)金字塔,可以使用几种重采样算法来进行重采样操作。
一、gdaladdo使用说明
用法:
gdaladdo [-r {nearest,average,gauss,cubic,cubicspline,lanczos,average_mp,average_magphase,mode}][-ro] [-clean] [-q] [-oo NAME=VALUE]* [-minsize val][--help-general] filename [levels]
参数:
- -r : {nearest,average,gauss,cubic,cubicspline,lanczos,average_mp,average_magphase,mode} 重采样算法。默认nearest。
- -ro : 以只读模式打开文件,创建外金字塔文件(特别是GeoTIFF格式)。
- -clean : 移除金字塔数据。
- -q : 关闭进度显示。
- -b : 创建指定波段的金字塔。(如不指定,创建所有波段)
- filename : 要建立金字塔的文件名。
- levels : 要建立金字塔的层号的列表。(使用-clean,此选项忽略)
配置参数 :
- –config USE_RRD YES : 创建Erdast (.aux)的图像格式的金字塔文件,可以直接在Erdas中或ArcGIS中使用.
下面配置参数,仅GeoTIFF格式的外部金字塔时可用。
- –config COMPRESS_OVERVIEW {JPEG,LZW,PACKBITS,DEFLATE} : TIFF compression
- –config PHOTOMETRIC_OVERVIEW {RGB,YCBCR,…} : TIFF photometric interp.
- –config INTERLEAVE_OVERVIEW {PIXEL|BAND} : TIFF interleaving method
- –config BIGTIFF_OVERVIEW {IF_NEEDED|IF_SAFER|YES|NO} : is BigTIFF used
使用例子:
gdaladdo -r average abc.tifgdaladdo -r average abc.tif 2 4 8 16gdaladdo --config COMPRESS_OVERVIEW JPEG--config PHOTOMETRIC_OVERVIEW YCBCR--config INTERLEAVE_OVERVIEW PIXEL -ro abc.tif
二、java调用jdal.jar实现
jdal.jar 可以下载编译好的jar及dll。
主要调用Dataset的BuildOverviews方法即可。
MyCallback是一个处理的回调class,通过调用run方法通知处理进度。
import org.apache.log4j.Logger;
import org.gdal.gdal.*;
import org.gdal.gdalconst.gdalconstConstants;/*** 生成金字塔*/
public class GDALBuildOverview {private static final Logger logger = Logger.getLogger(GDALBuildOverview.class);public static void main(String[] args) {String fileName_tif = "D:\\test\\dem.tif";gdal.AllRegister();Dataset hDataset = gdal.Open(fileName_tif, gdalconstConstants.GA_ReadOnly);if (hDataset == null) {System.err.println("GDALOpen failed - " + gdal.GetLastErrorMsg());System.exit(1);}int bandNum = hDataset.getRasterCount();logger.info("RasterCount is " + bandNum);hDataset.BuildOverviews("average", new int[]{2, 4, 8, 16}, new BuildCallback());hDataset.delete();gdal.GDALDestroyDriverManager();logger.info("completed");}}class BuildCallback extends ProgressCallback {private static final Logger logger = Logger.getLogger(BuildCallback.class);public BuildCallback() {}@Overridepublic int run(double dfComplete, String pszMessage) {if (pszMessage != null) {logger.info(String.format("%s", pszMessage));}System.out.print(String.format("%.2f%%\r", dfComplete * 100));return 1;}
}
GDAL建立GeoTIFF金字塔文件相关推荐
- python/gdal处理遥感影像(读取、投影转换、裁剪、建立图像金字塔等)
python/gdal处理遥感影像(读取.投影转换.裁剪.建立图像金字塔等) gdal库简单介绍 python使用gdal 一.安装python环境 二.安装gdal库 三.使用gdal处理遥感影像 ...
- gdal java shp_【GDAL/OGR】利用GDAL/OGR读取shp文件并转换为json文件(Java版)
前言: 对于GIS开发者来说,GDAL/OGR是最熟悉不过的开源GIS库了,GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间 ...
- php循环建立新的文件根据文件名移动文件到指定文件夹修改文件名称
写一个php文件放到你想要批量处理的文件目录下,运行文件即可完成 注意:确认你的文件名是不是时间戳,还有文件里的php文件,要加上判断!不要误删了! <?php set_time_limit(0 ...
- Java建立Zip压缩文件的代码实例
Java建立Zip压缩文件的代码实例 Java代码 import java.io.*; import java.util.zip.*; class Zip { public static void m ...
- 计算机不能再U盘新建文件夹,U盘无法建立新的文件夹?!三种小方法教你解决...
原标题:U盘无法建立新的文件夹?!三种小方法教你解决 U盘是现代人常用的移动存储设备之一,特点是小巧易携带,容量大,因此深得用户喜欢.但是这小小的U盘一旦出现故障,就让人有点难以招架了,U盘不比电脑, ...
- Anaconda环境GDAL库基于whl文件的配置方法
本文介绍在Anaconda环境下,基于.whl文件安装Python中高级地理数据处理库GDAL的方法. 在文章Anaconda下Python中GDAL模块的下载与安装方法(https://bl ...
- linux文件的创建与扫描,Linux系统quotacheck命令:扫描文件系统并建立Quota记录文件...
其实,磁盘配额(Quota)就是通过分析整个文件系统中每个用户和群组拥有的文件总数和总容量,再将这些数据记录在文件系统中的最顶层目录中,然后在此记录文件中使用各个用户和群组的配额限制值去规范磁盘使用量 ...
- linux扫描磁盘变化命令,Linux quotacheck命令:扫描文件系统并建立Quota记录文件
其实,磁盘配额(Quota)就是通过分析整个文件系统中每个用户和群组拥有的文件总数和总容量,再将这些数据记录在文件系统中的最顶层目录中,然后在此记录文件中使用各个用户和群组的配额限制值去规范磁盘使用量 ...
- gdal库对ENVI文件的一点支持不好
作者:朱金灿 来源:http://blog.csdn.net/clever101 使用GDALOpen函数打开ENVI的img文件,如果使用更新的方式即GA_Update会改写对应的hdr文件.改写h ...
- GeoTiff格式文件说明
1. 前言 在TIFF文件结构详解中,我们得知TIFF是Tagged Image File Format的缩写.Tiff对GeoTiff的支持已写入了Tiff6.0,也就是说,GeoTiff是一种Ti ...
最新文章
- golang struct json map 互相转化
- html跳转过度,jq实现锚点跳转过度
- STM32(六)- 系统定时器
- 实现对数组找最大最小数
- 给lnmp一键包中的nginx安装openresty的lua扩展
- Python随机数生成方法
- 【Win 10 应用开发】分析 URI 中的查询字符串
- 某绒面试的病毒分析(一)
- 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_18-CMS前端页面查询开发-页面原型-创建页面和定义路由...
- Python爬取NBA虎扑球员数据
- 使用H5开发移动端app
- 课时1:Vitis HLS的工作机制——Vitis HLS教程
- 德国汉诺威地面材料展览会搭建就找上海宽创国际
- 中年妇女xxx_2019年国际妇女节庆祝活动
- Ubuntu下安装微信(非网页版)、TIM、QQ
- fico RMA部署规则时,jdk过期报错
- 网络安全标准实践指南—远程办公安全防护
- 5G为人工智能与工业互联网赋能|79页高清PPT
- linux服务器实训心得体会,linux实训心得体会 linux实训总结与体会
- c语言错误c1021,c语言经典错误