(一)TIFF文件格式参考
(二)测试开发环境配置
1.检查是否安装osgeo的相关模块
import sys
try:
from osgeo import gdal
print("gdal version:"+gdal.VersionInfo('VERSION_NUM'))
except:
sys.exit('ERROR: cannot find GDALmodules')
2.Windows系统上配置GDAL环境
GDAL_PythonBindings_Installation
GDAL不是纯净的Python库,因此不能简单使用pip命令进行安装,需要安装对应Python版本的GDAL库:
(1)python版本 --v3.9.13
(2)gdal_python包下载地址 http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal
# 查看python版本
! pip debug --verbose
3.本地whl安装
(1)pip命令进行本地whl包安装
! pip install C:\Users\200799\Desktop\GDAL-3.4.3-cp39-cp39-win_amd64.whl
(2)查看gdal版本信息验证安装情况
print("gdal version:"+gdal.VersionInfo('VERSION_NUM'))
(三)编码测试
from osgeo import gdal
import sys
tifFile = "../01 Data/LC81230322013164LGN01/LC08_L1TP_123032_20130613_20170504_01_T1_B1.TIF"
dataset = gdal.Open(tifFile)
rasterCount = dataset.RasterCount #波段个数
col = dataset.RasterXSize #栅格行数
row = dataset.RasterYSize #栅格列数
geotrans = dataset.GetGeoTransform() #仿射矩阵
proj = dataset.GetProjection() #地图投影信息
data = dataset.ReadAsArray() #栅格象元值
print("波段个数:" + str(rasterCount))
print("栅格行数:" + str(col))
print("栅格列数:" + str(row))
print("投影转换信息:")
print(geotrans)
print("仿射矩阵信息:")
print(proj)
print("栅格象元值:")
print(data)
#仿射矩阵,左上角像素的大地坐标和像素分辨率。
#共有六个参数,分表代表左上角x坐标;东西方向上图像的分辨率;如果北边朝上,地图的旋转角度,0表示图像的行与x轴平行;左上角y坐标;
#如果北边朝上,地图的旋转角度,0表示图像的列与y轴平行;南北方向上地图的分辨率。
# --------程序输出
波段个数:1
栅格行数:7651
栅格列数:7451
投影转换信息:
(359985.0, 30.0, 0.0, 4575915.0, 0.0, -30.0)
地图投影信息:
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"]]
栅格象元值:
[[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
...
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]]