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

  • 相关阅读:
    4. Median of Two Sorted Arrays
    3. Longest Substring Without Repeating Characters
    695. Max Area of Island
    2015 Benelux Algorithm Programming Contest E-Excellent Engineers
    URAL
    Codeforces Round #309 (Div. 2) -D. Kyoya and Permutation
    Codeforces Round #144 (Div. 2) D table
    Codeforces Round #429 (Div. 2)
    Codeforces 610D Vika and Segments
    Codeforces 757D
  • 原文地址:https://www.cnblogs.com/ninicwang/p/11533944.html
Copyright © 2011-2022 走看看