本文介绍: 今天主要给大家介绍一下GDAL库中的Warp函数,这个函数非常强大。它可以实现裁剪、重采样几何校正、转换格式投影转换查看处理进度等等操作学习GDAL不得不好好学习一下Warp函数,了解其中的参数要求。

        GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数转换和处理。 Python的GDAL库作为栅格数据的处理转换库,其支持几百种栅格数据格式,如常见的TIFF、ENVI、HFA、HDF4等。因为遥感影像大部分都是栅格数据,所以GDAL库非常适合处理遥感影像、如光谱指数计算、波段合成、批量下载等。

        今天主要给大家介绍一下GDAL库中的Warp函数,这个函数非常强大。它可以实现裁剪、重采样几何校正、转换格式、投影转换查看处理进度等等操作学习GDAL不得不好好学习一下Warp函数,了解其中的参数要求。

# -*- coding: utf-8 -*-
"""
@Time : 2023/8/14 9:31
@Auth : RS迷途小书童
@File :Introduction to Warp Function.py
@IDE :PyCharm
@Purpose :Warp函数介绍
"""
from osgeo import gdal,osr,ogr

# --------------------------主函数--------------------------
gdal.Warp(destNameOrDestDS, srcDSOrSrcDSTab, **kwargs)
# destNameOrDestDS ---> 输出数据路径对象
# srcDSOrSrcDSTab ---> 输入数据对象或文件名的数组
# 关键字参数gdal.WarpOptions()的返回值,或者直接定义gdal.WarpOptions()

# --------------------------参数介绍--------------------------
gdal.WarpOptions(options=[], format='GTiff', outputBounds=None,
                 outputBoundsSRS=one, xRes=None, yRes=None,
                 targetAlignedPixels=False, width=0, height=0, srcSRS=None,
                 dstSRS=None, srcAlpha=False, dstAlpha=False, warpOptions=None,
                 errorThreshold=None, warpMemoryLimit=None, creationOptions=None,
                 outputType=GDT_Unknown, workingType=GDT_Unknown, resampleAlg=None,
                 srcNodata=None, dstNodata=None, multithread=False, tps=False,
                 rpc=False, geoloc=False, polynomialOrder=None,
                 transformerOptions=None, cutlineDSName=None, cutlineLayer=None,
                 cutlineWhere=None, cutlineSQL=None, cutlineBlend=None,
                 ropToCutline=False, copyMetadata=True, metadataConflictValue=None,
                 setColorInterpretation=False, callback=None, callback_data=None):
# options ---> 字符串数组, 字符串或者空值
# format ---> 输出格式 ("GTiff", "HFA", "ENVI", etc...)
# outputBounds ---> 结果在目标空间参考的边界范围(minX, minY, maxX, maxY)
# outputBoundsSRS ---> 结果边界范围空间参考, 如果在dstSRS中没有指定的话,采用此参数
# xRes, yRes ---> 输出分辨率,即像素大小
# targetAlignedPixels ---> 是否强制输出边界是输出分辨率的倍数
# width ---> 输出栅格的列数
# height ---> 输出栅格的行数
# srcSRS ---> 输入数据集的空间参考
# dstSRS ---> 输出数据集的空间参考
# srcAlpha ---> 是否将输入数据集的最后一个波段作为alpha波段
# dstAlpha ---> 是否强制创建输出
# outputType ---> 输出栅格的变量类型 (gdal.GDT_Byte, etc...)
# workingType ---> working type (gdal.GDT_Byte, etc...)
# warpOptions ---> list of warping options变形选项列表
# errorThreshold ---> 近似转换的误差阈值(误差像素数目)
# warpMemoryLimit ---> 工作内存限制 Bytes
# resampleAlg ---> 重采样方法
# creationOptions ---> list of creation options创建选项列表
# srcNodata ---> 输入栅格的无效值(最好是0,可以忽略背景值)
# dstNodata ---> 输出栅格的无效值
# multithread ---> 是否多线程和I/O操作
# tps ---> 是否使用Thin Plate Spline校正方法
# rpc ---> 是否使用RPC校正
# geoloc ---> 是否使用地理查找表校正
# polynomialOrder ---> 几何多项式校正次数
# transformerOptions ---> list of transformer options转换参数
# cutlineDSName ---> cutline数据集名称(矢量数据)
# cutlineLayer ---> cutline图层名称
# cutlineWhere ---> cutline WHERE 子句
# cutlineSQL ---> cutline SQL语句
# cutlineBlend ---> 以像素为单位的剪切线混合距离
# cropToCutline ---> 是否使用切割线(矢量范围作为输出边界
# copyMetadata ---> 是否复制元数据
# metadataConflictValue ---> 元数据冲突值
# setColorInterpretation ---> 是否强制将输入栅格颜色表给输出栅格
# callback ---> 回调函数(用来返回执行进度)
# callback_data ---> 回调的用户数据

        本次博文主要分享了Warp函数的参数设置,同时后面都给了注释括号部分是我自己实验后的小技巧,Warp函数总体来说非常强大,但有很多东西需要自己去尝试,只有不断的报错,不断地修复编程能力才会提升!

         如果大家在学习Python或者RS时有什么问题可以随时留言交流!如果大家对批量处理有兴趣同样可以留言博主,博主会分享相关代码以供学习!

原文地址:https://blog.csdn.net/m0_56729804/article/details/132270121

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_#ID#.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注