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

2023-10-28 09:10

本文主要是介绍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

这篇关于gma 教程 | 栅格处理 | 矢量裁剪栅格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/292204

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤