ADF(Arc/Info ASCII Grid) 栅格数据是一种常用的栅格数据格式,用于存储地理空间信息。它是一种文本文件格式,包含了栅格数据的地理空间信息和属性信息。ADF栅格数据通常由一个ASCII文本文件和一组二进制文件组成,ASCII文本文件包含了栅格数据的地理坐标、单元格大小、数据类型等信息,而二进制文件则存储了栅格数据的实际数值。ADF栅格数据可以用于存储地形、土地利用、遥感影像等各种类型的地理空间数据,是GIS领域中常用的数据格式之一。ADF 格式通常以文件夹形式存在,内含多个文件(如 hdr.adf
, w001001.adf
等),需保留完整文件夹结构才能正常使用。
在实际使用中,我们有时需要将ADF文件转换为tiff文件。本文介绍了使用基于Kaggle云端服务器将ADF文件转换为tiff格式的方法。
整体代码如下:
!pip install cmaps
!pip install rasterio
#导入模块
import numpy as np
from osgeo import gdal
import matplotlib.pyplot as plt
import cmaps
import rasterio as rio
import warnings
warnings.filterwarnings('ignore')
# 查看元数据
dataset = rio.open('/kaggle/input/xxx/hdr.adf')
dataset.meta
#%%
# 获取投影信息
dataset.meta['crs']
#%%
# 创建xxx.tif文件,并写入数据(包含元数据)
profile = dataset.meta.copy()
profile.update({'driver':'GTiff'})
with rio.open('xxx.tif', "w", **profile) as ds:
ds.write(dataset.read(1),1)
#%%
# 再次可视化tif文件的结果
dataset_new = rio.open('/kaggle/working/xxx.tif')
plt.imshow(dataset_new.read(1))
plt.show()
本代码思路基于ADF格式批量转TIF格式并实现重投影