Python遥感开发之解决TIF数据之间行列不一致的问题

news2024/11/14 10:32:33

Python遥感开发之解决TIF数据之间行列不一致的问题

  • 1.问题如图所示
  • 2.完整代码如下所示

前言:主要解决在同一分辨率的情况下,遥感数据之间行和列数据不一致的问题。


1.问题如图所示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我们发现这两个TIF的分辨率是一样的,都是0.01x0.01,但是tasmax数据比lucc多出一个行和列,我们通过对比发现是多出了第一行和最后一列,只需要把tasmax的数据的第一行和最后一列删除即可。可以使用这两行代码解决问题。

data = np.delete(data, 0, axis=0)#行
data = np.delete(data, 554, axis=1)#列

2.完整代码如下所示

import os

import numpy as np
from osgeo import gdal, gdalnumeric

def read_tif02(filepath):
    data = gdalnumeric.LoadFile(filepath)
    data = data.astype(np.float32)
    a = data[0][0]
    data[data == a] = np.nan
    return data


def save_tif(data, file, output):
    ds = gdal.Open(file)
    shape = data.shape
    driver = gdal.GetDriverByName("GTiff")
    dataset = driver.Create(output, shape[1], shape[0], 1, gdal.GDT_Float32)#以float类型进行存储
    dataset.SetGeoTransform(ds.GetGeoTransform())
    dataset.SetProjection(ds.GetProjection())
    dataset.GetRasterBand(1).WriteArray(data)

def get_data_list(file_path, out = ""):
    list1 = []  # 文件的完整路径
    if os.path.isdir(file_path):
        fileList = os.listdir(file_path)
        if out != "":
            for f in fileList:
                out_data = out + "\\" + f
                list1.append(out_data)
        else:
            for f in fileList:
                pre_data = file_path + '\\' + f  # 文件的完整路径
                list1.append(pre_data)
        return list1

if __name__ == '__main__':
    file_in_list = get_data_list(r"E:\AAWORK\work\yu\tasmax")
    file_out_list = get_data_list(r"E:\AAWORK\work\yu\tasmax",r"E:\AAWORK\work\yu\tasmax01")

    for file_in, file_out in zip(file_in_list,file_out_list):
        print(file_in)
        print(file_out)
        data = read_tif02(file_in)
        print(data.shape)
        data = np.delete(data, 0, axis=0)#行
        data = np.delete(data, 554, axis=1)#列
        print(data.shape)
        # 生成新的tif
        save_tif(data,file_in,file_out)#可以自己指定文件目录

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软考软件设计师2024年5月报名流程及注意事项

2024年5月软考软件设计师报名入口: 中国计算机技术职业资格网(http://www.ruankao.org.cn/) 2024年软考报名时间暂未公布,考试时间上半年为5月25日到28日,下半年考试时间为11月9日到12日。不想错过考试最新消息的考友…

Django(三)-搭建第一个应用(2)

一、编写更多视图 问题详情页——展示某个投票的问题和不带结果的选项列表。问题结果页——展示某个投票的结果。投票处理器——用于响应用户为某个问题的特定选项投票的操作。 # 1.问题详情页:展示某个投票的问题和不带结果的选项列表 def detail(request,questi…

第十二届蓝桥杯JavaB组省赛真题 - 时间显示

解题思路: 数量级较大,需要使用long类型 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);long num scan.nextLong();long allseconds num / 1000;long seconds allse…

CMake学习笔记(二)从PROJECT_BINARY_DIR看外部编译和内部编译

目录 外部编译 内部编译 总结 外部编译 看如下例子:我在EXE_OUT_PATH中建立了文件夹build、文件夹src2 和 文件CMakeLists.txt 其中EXE_OUT_PATH/CMakeLists.txt的内容如下: PROJECT(out_path) ADD_SUBDIRECTORY(src2 bin2) MESSAGE(STATUS "m…

Internet Explorer 降级

Internet Explorer 降级 1. version2. Internet Explorer 降级References 1. version 帮助 -> 关于Internet Explorer(A) 2. Internet Explorer 降级 开始 -> 控制面板 -> 卸载程序 -> 查看已安装的更新 搜索 Internet -> Internet Explorer 11 -> 卸载 -…

1978-2022年全国31省社会消费品零售总额数据

1978-2022年全国31省社会消费品零售总额数据 1、时间:1978-2022年 2、指标:社会消费品零售总额 3、范围:31省市 4、来源:整理自国家统计J和各省年鉴 5、缺失情况说明:1997-2022年31省市均无缺失, 199…

冒泡排序的习题全集(含答案)

习题1 1.给定一个包含红色,白色和蓝色,共n个元素的数组nums,原地对他们进行排序,使得相同颜色的元素相邻,并按照共色,白色,蓝色顺序排列。 我们使用整数0,1,2分别表示红…

2024生物科学、医学技术与化学国际会议(ICBSMTC2024)

2024生物科学、医学技术与化学国际会议(ICBSMTC2024) 会议简介 ICBSMTC2024是一个聚焦于生物科学、医学技术与化学领域的学术交流活动,会议将在中国桂林举行,会议旨在促进相关领域的学术交流与发展。会议将汇集来自世界各地的顶级学者和专家&#xff0c…

闪鱼随身WiFi好用吗?随身WiFi测评推荐!闪鱼的随身WiFi怎么样?

闪鱼随身WiFi因为爱和各大IP进行联动,被称为联名狂魔,广受年轻朋友们的喜爱。所以有非常多的朋友都在催小编出一期闪鱼随身WiFi的真实测评。现在,它来了!今天我们测试的这款闪鱼随身WiFi是闪鱼旗下BK0002这个热卖的型号。 一、外观…

day01-项目概述、环境搭建

1. 软件开发整体介绍 1.1 软件开发流程 1.2 角色分工 项目经理:对整个项目负责,任务分配、把控进度产品经理:进行需求调研,输出需求调研文档、产品原型等UI设计师:根据产品原型输出界面效果图架构师:项目整…

C#调用C++ (使用C++/CLI)

简介 C/CLI(C Common Language Infrastructure)是一种允许在 .NET 平台上创建托管代码(managed code)和非托管代码(unmanaged code)之间互操作的语言。其原理可以概括如下: 编译器支持: C/CLI 编…

msvcp140.dll是什么文件?msvcp140.dll丢失的多种解决方法详细解析

在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“缺少xxx.dll文件”。而最近,有用户反映他们的电脑出现了“msvcp140.dll丢失”的问题。那么,msvcp140.dll是什么?为什么电脑会出现msvcp140.dll丢失问…

Rust编程(二)语法和数据类型

编程规范 类C语法,函数需要定义,指令需要以;结尾。需要大括号{} 文件名,变量,函数命名使用snake case,eg:new_function() 结构体,特征命名,使用大驼峰命名,e…

各城市宗族文化姓氏占比数据

各城市宗族文化姓氏占比数据 1、指标:省份代码、所属省份、城市代码、所属城市、第1大姓氏、第2大姓氏、第3大姓氏、宗族文化强度 2、方法说明: 根据2005年全国1%的人口调查数据计算。其中第1大姓氏第一大姓人口数/总人口数,宗族文化强度(…

脏牛提权(靶机复现)

目录 一、脏牛漏洞概述 二、漏洞复现 1.nmap信息收集 1.1.查看当前IP地址 1.2.扫描当前网段,找出目标机器 1.3.快速扫描目标机全端口 三、访问收集到的资产 192.168.40.134:80 192.168.40.134:1898 四、msf攻击 1.查找对应exp 2.选择对应exp并配置相关设…

关于dell SC4020/SCv2000中的BBU电池的一些常见问题汇总

近期销售了一些DELL SC4020/SCv2000的BBU(PN:0XJW8Y 或者 0C27CW)电池,有一些共性的问题,这里汇总下,供朋友们参考。还有没有覆盖到的问题,可以加VX: StorageExpert继续讨论。 1. 两个PN是否通用…

2023年蓝桥杯省赛——数组分割

目录 题目链接:1.数组分割 - 蓝桥云课 (lanqiao.cn) 思路 数学问题解答 思路 代码实现 总结 题目链接:1.数组分割 - 蓝桥云课 (lanqiao.cn) 思路 众所周知,蓝桥杯又叫,数学杯,这道题其实就是一个数学问题&#x…

Web应用防火墙是什么?分享工作原理及部署建议

Web应用防火墙(WAF)诞生于互联网的早期时间,它通常会感知用户、会话和应用,了解其背后的Web应用及其提供的服务。正因如此,WAF可以看作是用户和应用之间的中介,并会提前对往来于两者之前的通信进行分析。那…

matlab实现神经网络检测手写数字

一、要求 1.计算sigmoid函数的梯度; 2.随机初始化网络权重; 3.编写网络的代价函数。 二、算法介绍 神经网络结构: 不正则化的神经网络的代价函数: 正则化: S型函数求导: 反向传播算法&…

蓝桥杯2023年第十四届省赛真题-买瓜|DFS+剪枝

题目链接: 0买瓜 - 蓝桥云课 (lanqiao.cn) 蓝桥杯2023年第十四届省赛真题-买瓜 - C语言网 (dotcpp.com) (蓝桥官网的数据要求会高一些) 说明: 这道题可以分析出:对一个瓜有三种选择: 不拿&#xff0c…