最近写作业,发现无法直接打开从Google Earth Engine上下载的tif文件
学会了之后,在这里记录下来
目录
---------------------------------------------------------------------------------------------------------------------------------
下载gdal:
最开始去网上搜osgeo->gdal的下载方法,搜出来都是需要进入下面的网址下载,
https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal
但是,不知道为什么,我每次打开它都显示:
the page or ducument cannot be found
有的说是因为网络繁忙,让大家换一个时间
后来发现可能是网页的目录改过了,所以无法通过上面的连接直接打开
我的方法是:
先打开https://www.lfd.uci.edu/~gohlke/pythonlibs
注:如果下面的方法还是不行,那么建议大家自己从这个网站上自己找。
然后点击GDAL这一行跳转到Github
点击下图所示的地方:
在所有的资源中选择正确的GDAL版本进行安装
注:我们要安装的是后缀为.whl的文件,不是其他格式的压缩包
注:点击之后会自动安装到我们所用的python目录里
注: 我们需要安装的版本一定是跟自己的python版本相适配的。
可以在命令行查看python版本信息:
注意,这里虽然写了我的python是运行在win32上的,但是实际上我仍然需要下载amd_64版本的
所以我需要安装python3.11、win64版本的GDAL
如果像下图一样报错,那你需要重新下载正确的版本
安装成功!
注:建议大家使用管理员的身份打开命令行,否则我也不知道会不会报错,没试过
python代码
import os
import csv
from osgeo import gdal
# tif 文件路径名
file = 'D:/YYL\'s_Files/大二下学期的学习文件/数据科学/农业大数据/yourtif.tif'
# 保存路径
csv_path = 'your.csv'
f = open(csv_path, 'w', newline='', encoding='utf-8')
dataset = gdal.Open(file)
# 获取影像文件的 通道数,行数,列数等信息
band = dataset.RasterCount # 通道数
col = dataset.RasterXSize # 行数
row = dataset.RasterYSize # 列数
# 获取影像文件的描述性息,也就是文件的路径名
dataDescription = dataset.GetDescription()
# 获取影像文件的元数据,以键值对格式返回 dict
metadata = dataset.GetMetadata() # {'AREA_OR_POINT': 'Area'}
# 获取影像的地理信息
geo_information = dataset.GetGeoTransform() # 获取地理坐标
# GetGeoTransform 的第 0 个参数表示影像左上角的横坐标,第 3 个参数表示影像左上角的纵坐标,这两个是经纬度
# 第 1 个参数 表示遥感图像的水平空间分辨率,第 5 个参数表示遥感图像的垂直空间分辨率,通常这两个数值相等
# 如果遥感图像没有发生旋转,即默认上北下南,那么第 2 个和第 4 个参数为0