读取遥感影像信息

本文中的所有方法可以读取遥感影像信息,但是仅限于概括地获取元数据信息,无法具体到对像元进行处理。

打开已有的GeoTiff

GDAL不能通过with打开影像,会报错

GDAL打开影像的方式很简单,直接gdal.open(...)就可以打开影像。

不需要声明上一章所用的driver

l1b1 = gdal.Open('I:...\\N11_RPRO_AVH_L1B_1P_19920417T060234_19920417T060633_018353\\image.l1b')
tif1 = gdal.Open('I:\\MasterLife\\资源与环境遥感\\实验作业一\\caijian2.tif')

通过dir(l1b1)可以查看打开影像的数据集下所有的方法。

查看影像描述信息

l1b1.GetDescription()方法可以查看当前影像的描述信息,一般是返回影像的调用路径。

l1b1.GetDescription()
#  D:\Anaconda\envs\GDAL_Learning\python.exe I:\PythonLearning\Learning\GDAL_Learning\demo3_打开GeoTiff.py
#  I:\MasterLife\遥感机理\结课作业\N11_RPRO_AVH_L1B_1P_19920417T060234_19920417T060633_018353_v0100\N11_RPRO_AVH_L1B_1P_19920417T060234_19920417T060633_018353\N11_RPRO_AVH_L1B_1P_19920417T060234_19920417T060633_018353\image.l1b

查看影像元数据

l1b1.GetMetadata()可以获取影像的元数据,不同影像的元数据结果有所差异。

l1b1.GetMetadata()
# {'DATASET_NAME': 'BRN.HRPT.NH.D92108.S0607.E0603.B1835353.MN', 'DATA_TYPE': 'AVHRR HRPT', 'LOCATION': 'Ascending', 'PROCESSING_CENTER': 'Unknown processing center', 'REVOLUTION': '18353', 'SATELLITE': 'NOAA-11(H)', 'SOURCE': 'Unknown receiving station', 'START': 'year: 1992, day: 108, millisecond: 21754153', 'STOP': 'year: 1992, day: 108, millisecond: 21993986'}

查看影像波段信息和像元数目

属性:

RasterCount获取影像集的波段数目

RasterXSize获取影像集的X方向像元数目

RasterYSize获取影像集的Y方向像元数目

print(l1b1.RasterCount)  # 5
print(l1b1.RasterXSize)  # 2048
print(l1b1.RasterYSize)  # 1440

获取空间参考信息

获取影像的地理坐标仿射变换参数。

print(tif1.GetGeoTransform())
# (435435.0, 30.0, 0.0, 4467435.0, 0.0, -30.0)

获取影像投影信息

print(tif1.GetProjection())
# PROJCS["WGS 84 / UTM zone 50N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",117],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32650"]]

获取栅格集的波段

# 获取栅格集的波段
band1 = l1b1.GetRasterBand(1)
print(band1)
# <osgeo.gdal.Band; proxy of <Swig Object of type 'GDALRasterBandShadow *' at 0x00000253EF7174E0> >

获取波段的大小

print(band1.XSize, band1.YSize)  # 2048 1440
print(band1.DataType)  # 2

获取波段数据的属性

MaximumMinimum分别表示band中的最大和最小值,但是直接print(band1.GetMaximum())却并没有结果。

根据解释: 因为对于文件格式不会有固有的最大最小值。

所以通过:ComputeRasterMinMax()计算最大最小值。

band1.GetNoDataValue()
print(band1.GetMaximum())  # None
print(band1.ComputeRasterMinMax())  # (66.0, 695.0)
print(band1.GetMaximum())  # None

存在疑问:GetNoDataValue()GetMaximum()这种函数有什么用处?用在什么地方?

读取ENVI文件

ENVI格式的文件包含HDR头文件和一个dat文件,所以在gdal里面,确定目标文件是ENVI格式的后,直接读取,不用加后缀即可。

envi_file = gdal.Open("I:\\MasterLife\\资源与环境遥感\\Finial\\b19")
print(envi_file.RasterCount)  # 1

读取HDF数据文件

由于modis卫星数据跟我们经常遇到的geotif数据组织方式不一样,读取的时候一定要特别注意。

geotif数据,一般是一个文件,包含了多个波段的数据

而modis,一个文件包含了多各SUBDATASETSGDAL, 每个SUBDATASETS又包含多个波段数据。

另外默认编译的GDAL并不包含对MODIS数据支持, 需要单独下载针对HDF4,HDF5的源码,再修改下make.opt文件, 这时再编译GDAL,就支持modis数据的读写了。

这里我没有尝试

3_读取遥感影像信息相关推荐

  1. 8影像计算ndvi landsat_使用GDAL读取遥感影像的信息

    读取影像数据集的元数据 GDAL已经提供了足够方便的函数,可以读取影像的一些元数据信息, 从而方便对数据进行处理.GDAL一般是以字典的形式对元数据进行组织的, 但是对于不同的栅格数据类型,元数据的类 ...

  2. 基于python的Spectral模块读取高光谱影像信息的一些笔记

    1. 安装spectral模块 spectral模块的安装需要有numpy.pillow.wxpython.matplotlib.ipython等这几个包的铺垫,而且安装spectral模块时看的教程 ...

  3. python读取遥感 dat_#python读取遥感影像GDAL包的用法

    #!C:/Python27/ArcGIS10.1/python.exe -u #coding:utf-8 '''the first two lines are used to choose the c ...

  4. 基于python实现高分二号遥感影像水体提取与水质反演(黑臭水体与水体富营养化)

    高分二号遥感影像水体提取与水质反演 水体提取函数--NDWI 基于几何约束提取河流 生成shp,方便后续裁剪水体 水质反演 最终结果 水体提取函数--NDWI 水体提取函数water.py impor ...

  5. 【原创】遥感影像法分析河流演变

    目录 概述 工作流选择 关于投影 遥感处理 基于Python的遥感处理 GEE+Python MNDWI工作流 统计分析 面积 中心线/岸线摆动(arcpy) pyris 辫状河流 辩状指数计算 汊道 ...

  6. 使用QGIS提取天地图遥感影像中的建筑物轮廓,及AI方案

    最近要开始做某工厂的GIS三维可视化大屏项目,其首先是要获得厂区内的建筑模型数据,搜了搜各大厂商的地图都没有那个厂区的建筑模型数据,只有几个零星的主要建筑,其余的仓库等等都没有,所以爬虫啥的都没用,必 ...

  7. 基于内容的遥感影像场景检索

    基于内容的遥感影像场景检索(一) (一)基础练习 1.从遥感影像文件夹里批量读取遥感影像,并计算其灰度直方图特征 ①首先学习matlab批量读取文件 (由于之前此部分没认真学习,所以试图理解每一个函数 ...

  8. python 读取geotiff_科学网—利用python GDAL库读写geotiff格式的遥感影像方法 - 张伟的博文...

    (1)利用python GDAL库读写geotiff格式的遥感影像方法,具有很好的参考价值,不错! from osgeo import gdal import numpy as np def read ...

  9. python/gdal处理遥感影像(读取、投影转换、裁剪、建立图像金字塔等)

    python/gdal处理遥感影像(读取.投影转换.裁剪.建立图像金字塔等) gdal库简单介绍 python使用gdal 一.安装python环境 二.安装gdal库 三.使用gdal处理遥感影像 ...

最新文章

  1. cas无法使用_一文彻底搞懂CAS实现原理
  2. 无需格式转换直接发布DWG图纸到Autodesk Infrastructure Map Server(AIMS) 2013
  3. python批量图片转pdf,用python 制作图片转pdf工具
  4. python调用另一个.py文件中的类和函数
  5. 使用JIRA搭建企业问题跟踪系统.PART5(转)
  6. Android Contentprovider的学习实例总结
  7. 去掉jsp页面自动生成的空行
  8. 字节码指令之方法调用与返回指令
  9. 平安银行股票数据涨跌预测
  10. cv :: cvtColor
  11. windows无法上网:代理服务器出现问题或地址有误
  12. RGB颜色规律小研究
  13. 刑事犯罪中连续犯与继续犯的区分
  14. 2022年10月前端学习笔记
  15. Proteus仿真过程中External model DLL “***.DLL” not found
  16. Web前端大作业、基于HTML+CSS+JavaScript响应式个人相册博客网站
  17. 怎样用好CorelDRAW中的位图颜色遮罩
  18. 2012年度IT博客大赛50强报道:李云
  19. android开发笔记之锁屏界面未读短信未接来电提醒(android 4.4)
  20. 爬取王者荣耀官网英雄皮肤高清壁纸(简易方法)

热门文章

  1. dw连接服务器文件夹,dw远程服务器根文件夹
  2. 类型初始值设定项引发异常. matlab,c# - “ MathWorks.MATLAB.NET.Utility.MWMCR”的类型初始值设定项引发了异常 - 堆栈内存溢出...
  3. python输入姓名输出欢迎_python试卷
  4. Chapter 12 贝叶斯网络
  5. flutter开发的安卓版电影APP
  6. 【Dubbo原理】(一)Dubbo的微内核架构及SPI机制
  7. 网络安全进阶学习第一课——认证崩溃之弱口令与暴力破解
  8. 关于清洁设备锂电池的正确使用方法,你了解吗
  9. Windows10环境下JDK环境变量配置
  10. 平生事,此时凝睇,谁会凭栏意!(3)