当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Django GDALBand.data用法及代码示例


本文介绍 django.contrib.gis.gdal.GDALBand.data 的用法。

声明

data(data=None, offset=None, size=None, shape=None)

GDALBand 的像素值的访问器。如果未提供参数,则返回完整的数据数组。可以通过将偏移量和块大小指定为元组来请求像素阵列的子集。

如果NumPy 可用,则数据作为NumPy 数组返回。出于性能原因,强烈建议使用 NumPy。

如果提供了data 参数,则将数据写入GDALBand。输入可以是以下类型之一 - 压缩字符串、缓冲区、列表、数组和 NumPy 数组。如果提供了offsetsize 参数,输入中的项目数通常应对应于波段中的像素总数,或者对应于特定像素值块的像素数。

如果输入中的项目数与目标像素块不同,则必须指定shape 参数。形状是一个元组,它以像素为单位指定输入数据的宽度和高度。然后复制数据以更新所选块的像素值。例如,这对于用单个值填充整个波段很有用。

例如:

>>> rst = GDALRaster({'width': 4, 'height': 4, 'srid': 4326, 'datatype': 1, 'nr_of_bands': 1})
>>> bnd = rst.bands[0]
>>> bnd.data(range(16))
>>> bnd.data()
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]], dtype=int8)
>>> bnd.data(offset=(1, 1), size=(2, 2))
array([[ 5,  6],
       [ 9, 10]], dtype=int8)
>>> bnd.data(data=[-1, -2, -3, -4], offset=(1, 1), size=(2, 2))
>>> bnd.data()
array([[ 0,  1,  2,  3],
       [ 4, -1, -2,  7],
       [ 8, -3, -4, 11],
       [12, 13, 14, 15]], dtype=int8)
>>> bnd.data(data='\x9d\xa8\xb3\xbe', offset=(1, 1), size=(2, 2))
>>> bnd.data()
array([[  0,   1,   2,   3],
       [  4, -99, -88,   7],
       [  8, -77, -66,  11],
       [ 12,  13,  14,  15]], dtype=int8)
>>> bnd.data([1], shape=(1, 1))
>>> bnd.data()
array([[1, 1, 1, 1],
       [1, 1, 1, 1],
       [1, 1, 1, 1],
       [1, 1, 1, 1]], dtype=uint8)
>>> bnd.data(range(4), shape=(1, 4))
array([[0, 0, 0, 0],
       [1, 1, 1, 1],
       [2, 2, 2, 2],
       [3, 3, 3, 3]], dtype=uint8)

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.contrib.gis.gdal.GDALBand.data。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。