Python 使用GDAL和rasterio读取栅格数据,并进行仿射变换信息的相互转换

使用gdal可以读取栅格数据,并获取投影及仿射变换信息

import sys
import gdal

dataset = gdal.Open('./zhuhai.tif')
if dataset is None:
    print('Unable to open *.tif')
    sys.exit(1)

projection = dataset.GetProjection()   # 获取投影信息
### 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"]],
    # AXIS["Latitude",NORTH],AXIS["Longitude",EAST],AUTHORITY["EPSG","4326"]]

transform = dataset.GetGeoTransform()    # 获取放射变换信息
### (113.39159774577, 5.000000000000014e-06, 0.0, 22.058475004479, 0.0, -5.000000000000014e-06)

img_array = dataset.ReadAsArray()   # 读取波段数据信息

使用rasterio读取栅格数据,并获取投影及仿射变换信息

import rasterio

dataset = rasterio.open('./zhuhai.tif')

projection = dataset.crs
# EPSG:4326

transform = dataset.transform
# | 0.00, 0.00, 113.39|
# | 0.00,-0.00, 22.06|
# | 0.00, 0.00, 1.00|

# dataset.height: 2813      # 影像行数
# dataset.width: 1639       # 影像列数
# dataset.count: 3          # 影像波段数
# dataset.driver: GTiff     # 影像格式
# dataset.dtypes: uint8     # 影像数据类型

仿射变换信息的相互转换

# 仿射变换信息从gdal到rasterio

from rasterio.transform import Affine

rio_trans = Affine.from_gdal(transform[0], transform[1], transform[2], transform[3], transform[4], transform[5])


# 仿射变换信息从rasterio到gdal

from rasterio.transform import Affine

rio_trans = Affine.to_gdal(transform)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小李AI飞刀^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值