掩膜行列和空间分辨率不一致的数据

2023-11-21 10:08

本文主要是介绍掩膜行列和空间分辨率不一致的数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎关注我的个人公众号小Rser

掩膜行列和空间分辨率不一致的数据https://mp.weixin.qq.com/s?__biz=MzkyNjMzNTQ2Mw==&mid=2247483929&idx=1&sn=c16db2a848b6013e3526fbfc79e517b8&chksm=c239aa91f54e2387c15f5dc48f7ef368e6a745112a98f22a0302d9093c534512603efa69f0b3&token=2086761678&lang=zh_CN#rd

import gdal#基准数据
ref_file = r"D:\微信公众号\掩膜\基准数据.tif"
#待匹配数据
pend_file = r"D:\微信公众号\掩膜\待匹配数据.tif"
# 结果文件
outfile = r"D:\微信公众号\掩膜\匹配后数据.tif"
ref_ds = gdal.Open(ref_file)
base_xsize = ref_ds.RasterXSize
base_ysize = ref_ds.RasterYSize
base_proj = ref_ds.GetProjection()
base_gt = ref_ds.GetGeoTransform()
xmin = base_gt[0]
ymax = base_gt[3]
xmax = xmin + base_xsize * base_gt[1]
ymin = ymax + base_ysize * base_gt[5]
#待处理数据
pend_ds = gdal.Open(pend_file)
#数据匹配
dataset = gdal.Warp(outfile,pend_ds,width=base_xsize,height=base_ysize,srcNodata=-999 ,dstNodata=-999,dstSRS=str(base_proj),outputBounds=(xmin, ymin, xmax, ymax),format="GTiff",resampleAlg=gdal.GRA_Bilinear)

 

import gdal#匹配后文件
infile = r"D:\微信公众号\掩膜\匹配后数据.tif"
#掩膜文件
maskfile = r"D:\微信公众号\掩膜\基准数据.tif"
#结果文件
outfile = r"D:\微信公众号\掩膜\掩膜后数据.tif"#读取匹配后文件
inds = gdal.Open(infile)
indata = inds.ReadAsArray()
cols = inds.RasterXSize
rows = inds.RasterYSize
geo = inds.GetGeoTransform()
proj = inds.GetProjection()
band = inds.GetRasterBand(1)
#读取掩膜文件
maskds = gdal.Open(maskfile)
maskdata = maskds.ReadAsArray()
band_mask = maskds.GetRasterBand(1)
#掩膜值
mask_nodata = band_mask.GetNoDataValue()
#掩膜
indata[maskdata == mask_nodata] = -999
#输出结果,无效值设置为-999
driver = gdal.GetDriverByName("Gtiff")
out_ds = driver.Create(outfile, cols, rows, 1, band.DataType)
out_ds.SetGeoTransform(geo)
out_ds.SetProjection(proj)
out_band = out_ds.GetRasterBand(1)
out_band.WriteArray(indata)
out_band.SetNoDataValue(-999)

这篇关于掩膜行列和空间分辨率不一致的数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/401641

相关文章

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查

MySQL表空间结构详解表空间到段页操作

《MySQL表空间结构详解表空间到段页操作》在MySQL架构和存储引擎专题中介绍了使用不同存储引擎创建表时生成的表空间数据文件,在本章节主要介绍使用InnoDB存储引擎创建表时生成的表空间数据文件,对... 目录️‍一、什么是表空间结构1.1 表空间与表空间文件的关系是什么?️‍二、用户数据在表空间中是怎么

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

Spring Boot 整合 Redis 实现数据缓存案例详解

《SpringBoot整合Redis实现数据缓存案例详解》Springboot缓存,默认使用的是ConcurrentMap的方式来实现的,然而我们在项目中并不会这么使用,本文介绍SpringB... 目录1.添加 Maven 依赖2.配置Redis属性3.创建 redisCacheManager4.使用Sp

Python Pandas高效处理Excel数据完整指南

《PythonPandas高效处理Excel数据完整指南》在数据驱动的时代,Excel仍是大量企业存储核心数据的工具,Python的Pandas库凭借其向量化计算、内存优化和丰富的数据处理接口,成为... 目录一、环境搭建与数据读取1.1 基础环境配置1.2 数据高效载入技巧二、数据清洗核心战术2.1 缺失

Python处理超大规模数据的4大方法详解

《Python处理超大规模数据的4大方法详解》在数据的奇妙世界里,数据量就像滚雪球一样,越变越大,从最初的GB级别的小数据堆,逐渐演变成TB级别的数据大山,所以本文我们就来看看Python处理... 目录1. Mars:数据处理界的 “变形金刚”2. Dask:分布式计算的 “指挥家”3. CuPy:GPU

使用Vue-ECharts实现数据可视化图表功能

《使用Vue-ECharts实现数据可视化图表功能》在前端开发中,经常会遇到需要展示数据可视化的需求,比如柱状图、折线图、饼图等,这类需求不仅要求我们准确地将数据呈现出来,还需要兼顾美观与交互体验,所... 目录前言为什么选择 vue-ECharts?1. 基于 ECharts,功能强大2. 更符合 Vue

Java如何根据word模板导出数据

《Java如何根据word模板导出数据》这篇文章主要为大家详细介绍了Java如何实现根据word模板导出数据,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... pom.XML文件导入依赖 <dependency> <groupId>cn.afterturn</groupId>

CentOS7增加Swap空间的两种方法

《CentOS7增加Swap空间的两种方法》当服务器物理内存不足时,增加Swap空间可以作为虚拟内存使用,帮助系统处理内存压力,本文给大家介绍了CentOS7增加Swap空间的两种方法:创建新的Swa... 目录在Centos 7上增加Swap空间的方法方法一:创建新的Swap文件(推荐)方法二:调整Sww