zoukankan      html  css  js  c++  java
  • python gdal 写GeoTiff文件

    1.gdal数据类型

    (1)GDT_Byte(int8)  (2)GDT_UInt16 (3)GDT_Int16  (4)GDT_UInt32  (5)GDT_Int32  (6)GDT_Float32  (7)GDT_Float64

    2.写GeoTiff文件

    from osgeo import  gdal

    #读取某一类型的数据,需要先载入数据驱动,初始化一个对象

    driver = gdal.GetDriverByName("GTiff")

    #创建空文件,并确定开辟多大内存;每个像素都有一个对应的值,这个值得类型用数据类型指定。这里的数据类型是gdal数据类型。

    dataset = driver.Create("fdem_new.tif", 栅格矩阵的列数, 栅格矩阵的行数, 波段数, 数据类型) 

    #设置头文件信息

    #(1)写入仿射变换参数

    dataset.SetGeoTransform(左上角x坐标,东西方向上图像的分辨率,地图的旋转角度,左上角y坐标,地图的旋转角度,南北方向上地图的分辨率)

    #(2)写入投影信息(这里我所用的投影是从上一篇文章里的tif文件读来的)

    dataset.SetProjection(im_proj)

    #写入数据体

    #为了方便,这里的im_bands是从上一篇文章里的tif文件所读取到的波段数,im_data是从上一篇文章里的tif文件所读取到的数据

    if im_bands == 1:
      dataset.GetRasterBand(1).WriteArray(im_data) #写入数组数据
    else:
      for i in range(im_bands):
        dataset.GetRasterBand(i+1).WriteArray(im_data[i])

    #释放内存空间

    del dataset

  • 相关阅读:
    迭代器,生成器的理解
    需求
    关于dom 0级 2级 3级事件的理解
    夯实前端基础
    前端面试题 收集
    前端易忘点,持续更新
    form target 文件上传
    ES6 symbol
    bzoj1260 [CQOI2007]涂色paint
    bzoj1083 [SCOI2005]繁忙的都市
  • 原文地址:https://www.cnblogs.com/ninicwang/p/11533944.html
Copyright © 2011-2022 走看看