美文网首页
二、栅格数据读写

二、栅格数据读写

作者: 擎星 | 来源:发表于2018-06-22 16:39 被阅读0次

1. 栅格数据的抽象

GDAL 为我们提供了对数据的统一抽象,方便我们来操作数据,而不用去关心底层文件。下面我们来说明 GDAL 中对于栅格数据的抽象。

文件 = Dataset

Dataset = Bands

Band = Arrays

在 GDAL/OGR 中 gdal 负责栅格部分。所以我们使用 gdal 模块即可。

2. 读取数据以及栅格信息

# 引入 gdal 模块
from osgeo import gdal

# 打开栅格文件
dataset = gdal.Open('test.tif')
# 读取栅格数据,得到一个二维(单波段)或三维(多波段) NumPy 数组
data = dataset.ReadAsArray()

# 坐标系统
projection = dataset.GetProjection()

# 列数
col_count = dataset.RasterXSize
# 行数
row_count = dataset.RasterYSize

# 获取仿射参数
geo_transform = dataset.GetGeoTransform()

# 由 geo_transform 和 col_count、row_count 可算出 extent

3. 写入数据

from osgeo import gdal

# 准备数据
data = gdal.Open('data.tif').ReadAsArray()

# 获取驱动
driver = gdal.GetDriverByName('GTiff')

# 创建数据集
dataset = driver.Create('./out.tif', 800, 600, 4, gdal.GDT_Byte)

# 写入数据
dataset.WriteRaster(0, 0, 800, 600, data.tostring())

4. 编辑数据和属性

使用 ReadAsArray 方法读取的栅格数据是 numpy 数组,所以我们可以通过 numpy 的方法操作数据,然后通过写入方法保存数据即可。

相关文章

  • 二、栅格数据读写

    1. 栅格数据的抽象 GDAL 为我们提供了对数据的统一抽象,方便我们来操作数据,而不用去关心底层文件。下面我们来...

  • Arcgis— Float to raster工具

    Float to raster:表示栅格数据的二进制浮点型值文件转换为栅格数据集。Converts a raste...

  • Windows系统下Node-gdal安装

    gdal用于读写矢量和栅格数据集,gdal常常使用c,c++做开发,也有部分其他语言扩展如py,node。官方ht...

  • node-gdal实践-读写shp数据

    gdal用于读写矢量和栅格数据集,gdal常常使用c,c++做开发,也有部分其他语言扩展如py,node。但由于其...

  • 使用Matlab裁剪栅格数据

    需求 使用Matlab读取tif格式的栅格数据,并根据该栅格数据裁剪多副其余栅格数据 制作掩膜数据 栅格数据批量裁...

  • 使用Matlab计算多个时期的栅格数据平均

    需求 使用Matlab读取tif格式的栅格数据,并计算多个时期的栅格数据平均 编写函数计算多个时期的栅格数据平均 ...

  • Arcgis—Reclassify工具

    Reclassify:通过栅格重分类操作可以将连续栅格数据转换为离散栅格数据 使用:重新定义栅格数据图层的展现值的...

  • 重分类

    重分类我理解的是对栅格数据进行二次处理,再次分类。主要应用在土地利用、距离分析等等。比如栅格数据的value有很多...

  • python实现使用GDAL实现矢量转栅格

    需求 现在有一个shp文件和栅格数据,需要将shp转换成和栅格数据空间位置一致且像元大小一致的栅格数据。ArcGI...

  • PostGIS导出指定范围内的栅格数据

    针对已经通过PostGIS导入到PostgreSQL中的栅格数据,给定经纬度范围,实现栅格数据的导出。查询SQL语...

网友评论

      本文标题:二、栅格数据读写

      本文链接:https://www.haomeiwen.com/subject/bnokyftx.html