配置GDAL首先打开Visual Studio 2019,新建控制台工程,名字叫做“简单调用GDAL”。
右击工程,找到“属性”
把GDAL的include文件夹填写到“附加包含目录”中,如下图。
把GDAL的lib文件夹填写到“附加库目录”中,如下图。
简单调用GDALGDAL封装了很多类、函数接口,我们要去学习怎么调用它们。
# include "gdal_priv.h"
using namespace std;
#include <iostream>
int main()
{
printf("strat!\n");
//注册文件格式
GDALAllRegister();
const char* file = "D:\\hh1.tif";
GDALDataset *ds = (GDALDataset*) GDALOpen (file, GA_ReadOnly);
//A* p则使用:p->play(); 左边是结构指针。
//A p 则使用:p.paly(); 左边是结构变量。
int Xsize = ds->GetRast ...
介绍Sentinel-5P任务旨在在 2017 年至至少 2023 年之间提供有关空气质量和气候的信息和服务。通过机载 TROPOMI 传感器,它每天对主要大气成分进行全球观测,包括臭氧、二氧化氮、二氧化硫、一氧化碳、甲烷、甲醛以及云和气溶胶特性。该任务旨在确保 Envisat 卫星退役和 NASA 的 Aura 任务与 Sentinel-5 发射之间的数据连续性
数据上一篇是介绍怎么使用程序下载sentinel5p数据,这篇是讲怎么对其进行可视化。因为下载的是L2级数据了,无需再进行预处理。
数据范围是覆盖大陆陆地区域,这里仅作为展示使用。时间是2021年6月(这个代码就是那时候写的)
第三方库from scipy.interpolate import griddata #插值
from netCDF4 import Dataset #读取nc文件
import numpy as np
from matplotlib.colors import LogNorm #画图
import matplotlib.pyplot as plt #画图 ...
介绍Sentinel-5P任务旨在在 2017 年至至少 2023 年之间提供有关空气质量和气候的信息和服务。通过机载 TROPOMI 传感器,它每天对主要大气成分进行全球观测,包括臭氧、二氧化氮、二氧化硫、一氧化碳、甲烷、甲醛以及云和气溶胶特性。该任务旨在确保 Envisat 卫星退役和 NASA 的 Aura 任务与 Sentinel-5 发射之间的数据连续性
数据上一篇是介绍怎么使用程序下载sentinel5p数据,这篇是讲怎么对其进行可视化。因为下载的是L2级数据了,无需再进行预处理。
数据范围是覆盖大陆陆地区域,这里仅作为展示使用。时间是2021年6月(这个代码就是那时候写的)
第三方库from scipy.interpolate import griddata #插值
from netCDF4 import Dataset #读取nc文件
import numpy as np
from matplotlib.colors import LogNorm #画图
import matplotlib.pyplot as plt #画图 ...
Sentinel-5P下载代码测试
介绍Sentinel-5P任务旨在在 2017 年至至少 2023 年之间提供有关空气质量和气候的信息和服务。通过机载 TROPOMI 传感器,它每天对主要大气成分进行全球观测,包括臭氧、二氧化氮、二氧化硫、一氧化碳、甲烷、甲醛以及云和气溶胶特性。该任务旨在确保 Envisat 卫星退役和 NASA 的 Aura 任务与 Sentinel-5 发射之间的数据连续性
手动查询下载地址:
https://s5phub.copernicus.eu/dhus/#/home
官方提供一个账号下载S5P数据
account = 's5pguest'
password = 's5pguest'
借此,我们尝试进行自动化下载。
流程如下:
1.填写数据覆盖的范围
2.填写开始结束日期
3.查询每景影像对应的uuid
4.下载到指定的输出路径
Demo自动下载DEMO如下:
#! usr/bin/env python
# -*- coding:utf-8 -*-
import datetime
import json
from requests import S ...
RPC(rational polynomial coefficients),有理多项式系数。RPC是传感器严格几何模型的拟合形式。是根据卫星平台载荷测量的平台运行轨迹参数、姿态参数、传感器安装参数及传感器内部几何参数构建的像-地关系几何模型,一共有90个参数。
相关理论不再展示,感兴趣去网上搜,现在是基于高分三号进行RPC校正,代码如下:
from osgeo import gdal
import re
import os
#这是一个读取RPC文件的函数
def read_rpb (rpbfile):
with open(rpbfile, 'r') as f:
buff = f.read()
# 关键字1,2(修改引号间的内容)
# 命名参考的网址:http://geotiff.maptools.org/rpc_prop.html
ERR_BIAS1 = 'errBias = ' # 错误-偏差。图像中所有点的RMS偏差误差(单位:米/水平轴)(-1.0,如果未知)
ERR_BIAS2 ...
相关理论不再展示,感兴趣去网上搜,现在是基于图片图片进行匀色,代码如下:
# -*- coding: utf-8 -*-
# @Time : 2022/01/05 10:18
import numpy as np
from matplotlib import pyplot as plt
import cv2
import matplotlib
import time
# 进行直方图匹配的函数
def arrayToHist(grayArray,nums):
if(len(grayArray.shape) != 2):
print("length error")
return None
w,h = grayArray.shape
hist = {}
for k in range(nums):
hist[k] = 0
for i in range(w):
for j in range(h):
if(hist.get(grayArray[i][j]) is ...
为了能够使用numpy,我们需要使用import numpy导入库。此外,指定np代表numpy:
import numpy as np
现在,我们可以通过输入np.name_of_function来访问numpy中所有可用的函数。例如
max = np.max(img) # 包含无效值
max2 = np.nanmax(img) # 排除无效值
上面这两个函数是有区别的,在遥感中要注意到二者的区别,这一点会再专门的写一篇文章介绍。
在numpy中定义的大多数函数和操作都可以应用于数组。
尝试向其中一个数组添加另一个数字,看看会发生什么。通常,数组需要具有相同的尺寸….
例如:
arr1 = np.array([1,2,3,4])
arr2 = np.array([3,4,5,6])
arr3 = np.add(arr1, arr2)
print(arr3)
数组可以被分割。我们可以使用索引符号[starte: end:stride]来获得数组的子集。让我们来看看这意味着什么:
arr = np.array([0,1,2,3,4,5,6,7,8,9,10])
print( ...
由来我是研一接触的python,但是老实说,一直感觉编程是不得劲的,写代码有时候是云里来雾里去,没有悟到了精髓。2018年GEE大热,我跟风学了起来GEE,GEE说实在是一个平台、工具,用的JS语法,可是大部分时间在调API接口。2020年开始使用到matlab,慢慢的了解到cody,于是有了后面的故事。
CODYCODY是Matlab官方社区的一个游戏活动平台,供大家分享问题,解决问题。通过解决问题提高MATLAB程序技能,学习他人代码思路和用法,“开阔眼界”, 也可以与志同道合的MATLAB爱好者一起以代码交流。
cody类似于leetcode,但是比leetcode容易很多,考验更多的是你是怎么实现具体的功能。
我的CODY经历
我在cody上做了100多道题,慢慢觉得编程很有趣。一开始是字符的处理,到后面关注的是矩阵的处理。有一道题是:均值滤波器是怎么实现的。
function B = med_filt(A)
%读取A的行列
[n1 m1]=size(A);
%创建与A大小一致的0矩阵
C=zeros(n1,m1);
%边缘使用0填充,填充第一行
A1=[C(1,:);A, ...
什么是 H5 文件?H5 是用于存储大量数据的分层数据格式 (HDF) 之一。它用于以多维数组的形式存储大量数据。该格式主要用于存储组织良好的科学数据,以便快速检索和分析。H5 是作为 H4 的一种更增强的文件格式引入的。它现在由 HDF Group 提供支持。
HDF 文件格式简史HDF 文件格式被 NASA 选择为存储科学数据的标准方法。在此之前,图形基础工作组(Graphics Foundations Task Force,GFTF)于1987年开始制定这样的标准,HDF在对15种不同的文件格式进行调查后被正式批准。
HDF5 文件格式H5 文件采用符合 HDF5 文件格式规范的分层数据格式。这些规范奠定了存储在磁盘上的 HDF5 文件的整体结构,但最终用户不需要这些底层细节。
H5文件常用于航空航天、物理、工程、金融、学术研究、基因组学、天文学、电子仪器和医学领域。
HDF5 数据模型HDF5 文件就像一个由异构数据对象组成的容器。例如,这些数据集可以是图像、表格、文本元素、图形,甚至是PDF和Excel 文档等文档。
读写H5文件大概流程是查询文件里的主键,读取主键的数据
以 ...
matlab中文翻译过来叫做“矩阵实验室”,众所周知,遥感图像是图像, 图像是矩阵,所以matlab处理遥感图像很在行。
matlab一直是科研圈子里验证算法或者研究算法的利器,以前听师兄说,matlab除了不会生孩子之外,什么都能做。
下面是一段matlablandsat 8 原始影像的代码.
代码大概的流程是:
1.分别读取第一波段到第七波段,得到七个矩阵,就是七个图像。
2.读取元数据xml,各自波段进行辐射定标,得到辐亮度数据。
3.进行系统级大气校正,得到TOA大气顶部反射率。(不是SR地表反射率)
4.将原始DN值量化为1,因为原始的Landsat 8 是16bit。进行原始影像真彩色合成, 并可视化。
5.利用TOA进行水体指数NDWI计算, 并可视化。
clc;clear all;close all;
for i=1:7
%设置待处理读取文件的路径
loadpath = 'D:\DDD\a2.28\input\landsat 8\LC81220442017296LGN00';
txt='*_MTL.txt';
fi ...



