gma 教程 | 栅格处理 | 矢量裁剪栅格

目标

【裁剪】。按矢量边界裁剪栅格。

环境

系统: Window 10+ (X64)
Python 版本: 3.8.8+
gma 版本: 1.0.7+

gma 安装和详细功能帮助见:地理与气象分析库

函数

gma.rasp.Clip(InFile, OutFile, CutLineFile, LayerID = 0, FeatureID = None, InNoData = None, OutNoData = None, OutFormat = ‘GTiff’)


参数:

 InFile:str。输入栅格路径。

 OutFile:str。输出文件路径。

 CutLineFile:str。裁剪矢量文件路径。

可选参数:

 LayerID = int 。输入裁剪矢量的图层 ID。默认第一个图层(0)。

 FeatureID = list 。掩膜图层的要素 ID。默认掩膜全部要素(None)。

 InNoData = float。输入栅格的无效值。默认不指定(None)无效值。

 OutNoData = float。输出栅格的无效值。默认不指定(None)无效值。

 OutFormat = str。输出栅格文件格式。默认为 GTiff,其他格式详见 ToOtherFormat 函数。


案例

数据

栅格数据: ESA 2020年陆表覆盖数据
矢量数据: 河南省18个地级行政单位矢量边界

案例数据展示

裁剪

import gma

# 定义原始栅格和裁剪矢量
InFile = r'D:\CSDN\gma\栅格处理\0.1原始影像\ESA_Henan_2020.tif'
CutLineFile = r'D:\CSDN\gma\栅格处理\0.2原始矢量\Henan_City.shp'

# 定义裁剪结果路径并执行裁剪
OutFile = r'D:\CSDN\gma\栅格处理\Clip\ESA_Henan_2020_Clip.tif'
gma.rasp.Clip(InFile, OutFile, CutLineFile, OutNoData=0)

裁剪结果如下:
请添加图片描述

如果需要按矢量文件中的某个要素裁剪,可增加 FeatureID 参数,示例如下:

如果有需求,可先查看矢量属性表,获取要素信息,方法如下:

# 打开矢量数据集
VEDataSet = gma.Open(CutLineFile)
# 获取矢量图层
LY = VEDataSet.GetLayer(0)
# 获取属性表
ATable = LY.GetAttributeTable()
print(ATable)
省代码市代码类型
0410000河南省410100郑州市地级市
1410000河南省410200开封市地级市
2410000河南省410300洛阳市地级市
3410000河南省410400平顶山市地级市
4410000河南省410500安阳市地级市
5410000河南省410600鹤壁市地级市
6410000河南省410700新乡市地级市
7410000河南省410800焦作市地级市
8410000河南省410900濮阳市地级市
9410000河南省411000许昌市地级市
10410000河南省411100漯河市地级市
11410000河南省411200三门峡市地级市
12410000河南省411300南阳市地级市
13410000河南省411400商丘市地级市
14410000河南省411500信阳市地级市
15410000河南省411600周口市地级市
16410000河南省411700驻马店市地级市
17410000河南省419001济源市省直辖县

我们裁剪河南省洛阳市,其 FeatureID 为 2,配置参数如下:

### 按 图层ID 裁剪
OutFileFID = r'D:\CSDN\gma\栅格处理\Clip\ESA_Henan_2020_Clip_FID2.tif'
gma.rasp.Clip(InFile, OutFileFID, CutLineFile, FeatureID = [2], OutNoData=0)

执行结果如下所示:
请添加图片描述

疑问与反馈

邮箱:858998723@qq.com

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛的地理研学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值