本文介绍从0开始搭建处理遥感图像的python编程环境。
一、Windows操作系统
确定自己的系统版本就行32位或者64位。
二、pycharm安装
PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。
Download PyCharm: The Python IDE for data science and web development by JetBrains
三、python安装
Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
这里以安装python3.10为例。
链接:Python Releases for Windows | Python.org
四、配置环境
新安装的PyCharm配置如图
或者打开现有PyCharm工程后
五、GDAL、numpy库安装
1、利用pycharm的库添加功能搜索numpy库并安装。
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
安装完成,可以看到numpy库,并且引入库时不会报错。依次安装Pandas,Scipy等包,备用
2、安装GDAL库
GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据转换和处理。
链接:Release v2024.1.1 · cgohlke/geospatial-wheels · GitHub
win32代表32位系统,amd64代表64位操作系统,cp310代表你装的Python是3.10版本。
在弹出的cmd中输入pip install GDAL-3.8.2-cp310-cp310-win_amd64.whl,然后点击确定即可安装3.10版本的GDAL库。
六、完成检验
from osgeo import gdal
七、Gdal读取影像
def read_img(filename):
dataset = gdal.Open(filename)
im_width = dataset.RasterXSize
im_height = dataset.RasterYSize
im_geotrans = dataset.GetGeoTransform() # 仿射矩阵
im_proj = dataset.GetProjection() # 地图投影信息
im_data = dataset.ReadAsArray() # 将数据写成数组
del dataset # 关闭对象,文件dataset
return im_proj, im_geotrans, im_data, im_width, im_height
八、Gdal输出影像
def write_img(filename, im_proj, im_geotrans, im_data):
datatype = gdal.GDT_UInt16
im_bands, (im_height, im_width) = 1, im_data.shape
# 创建文件
driver = gdal.GetDriverByName("GTiff") # 数据类型必须有,因为要计算需要多大内存空间
options = ['COMPRESS=LZW'] # 这里你可以添加其他压缩选项
dataset = driver.Create(filename, im_width, im_height, im_bands, datatype, options=options)
dataset.SetGeoTransform(im_geotrans) # 写入仿射变换参数
dataset.SetProjection(im_proj) # 写入投影
dataset.GetRasterBand(1).WriteArray(im_data) # 写入数组数据
dataset.GetRasterBand(1).SetNoDataValue(0) # 0作为NoData
del dataset