zoukankan      html  css  js  c++  java
  • 【gdal】创建GeoTiff栅格数据

     1 //定义转换参数
     2 private readonly double[] d_transform = { 69.999999999999972, 0.01, 0.0, 44.999999999999979, 0.0, -0.01 };
     3 //定义坐标系统
     4 private readonly string d_project = "GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433],AUTHORITY["EPSG","4326"]]";
     5   
     6 //gdal注册
     7 Gdal.AllRegister();
     8 driver = Gdal.GetDriverByName("GTiff");      
     9 Dataset ds = driver.Create(filePath, xSize, ySize, 1, DataType.GDT_Float32, new string[] { });
    10 ds.SetGeoTransform(d_transform); //影像转换参数
    11 ds.SetProjection(d_project); //投影
    12 //压缩方式,设置后重新读取发现并没有这个metadata参数,具体情况未知
    13 ds.SetMetadataItem("COMPRESSION", "LZW", "IMAGE_STRUCTURE");
    14 //初始化数组
    15 ds.GetRasterBand(1).WriteRaster(0, 0, xSize, ySize, buffer, xSize, ySize, 0, 0);
    16 ds.GetRasterBand(1).FlushCache();
    17 ds.FlushCache();
    18 ds.Dispose();
    19 
    20 //其中buffer为float类型数组,长度为[xSize*ySize];
    ds.SetMetadataItem("COMPRESSION", "LZW", "IMAGE_STRUCTURE");
    这个参数设置后重新读取发现并没有这个metadata参数,有知道的烦请留言
    重新获取可以通过
    string[] metadata = ds.GetMetadata("IMAGE_STRUCTURE");
  • 相关阅读:
    IDE有毒
    Netbeans 8.2关于PHP的新特性
    什么是人格
    谁该赋予一款产品灵魂?
    自从升级到macOS后,整个人都不好了
    公司不是大家庭
    性能各个指标分析
    Sqlserver2012 alwayson部署攻略
    初探Backbone
    SQL Server AlwaysOn架构及原理
  • 原文地址:https://www.cnblogs.com/vichang/p/9661113.html
Copyright © 2011-2022 走看看