GDAL—打开文件

 static void Main(string[] args)
        {
            Console.WriteLine("");
            try
            {
                //GDALConfigure.ConfigureGdal();
                // GDALConfigure.ConfigureOgr();
                //注册文件格式
                Gdal.AllRegister();
                string strFile = @"F:/ImageData/TIF/taian-drg.tif";

                // 使用只读方式打开图像
                Dataset ds = Gdal.Open(strFile, Access.GA_ReadOnly);
                if (ds == null)
                {
                    Console.WriteLine("Cannot open file:" + strFile);
                    System.Environment.Exit(-1);
                }
                OSGeo.GDAL.Driver drv = ds.GetDriver();
                if (drv == null)
                {
                    Console.WriteLine("Can't get driver.");
                    System.Environment.Exit(-1);
                }

                // 输出图像的格式信息
                Console.WriteLine("Dirver:" + drv.GetDescription());
                Console.WriteLine("Using dirver" + drv.LongName);

                // 输出图像的大小和波段个数
                Console.WriteLine("RasterCount:" + ds.RasterCount);
                Console.WriteLine("RasterSize(" + ds.RasterXSize + "," + ds.RasterYSize + ")");

                // 输出图像的投影信息
                Console.WriteLine("Projection:" + ds.GetProjectionRef());

                // 输出图像的坐标和分辨率信息
                double[] adfGeoTransform = new double[6];
                ds.GetGeoTransform(adfGeoTransform);
                Console.WriteLine("Origin=(" + adfGeoTransform[0] + "," + adfGeoTransform[3] + ")");
                Console.WriteLine("PixelSize=(" + adfGeoTransform[1] + "," + adfGeoTransform[5] + ")");
                Console.WriteLine("");

                // 读取第一个波段
                Band band = ds.GetRasterBand(1);

                double val;
                int hasval;
                band.GetMinimum(out val, out hasval);
                if (hasval != 0)
                    Console.WriteLine("Minimum: " + val.ToString());
                if (hasval != 0)
                    Console.WriteLine("Maximum: " + val.ToString());

                int nXSize = ds.RasterXSize;
                int nYSize = ds.RasterYSize;
                float[] pafScanLine;
                pafScanLine = new float[nXSize];
                band.ReadRaster(0, 0, nXSize, 1, pafScanLine, nXSize, 1, 0, 0);

               // GDALConfigure.ConstructOSR();
                // GDALConfigure.CoordinateTransformation();
                // GDALConfigure.ReadVectorFile();
                //GDALConfigure.WriteVectorFile();
                //GDALConfigure.CreateRasterFile();
                //GDALConfigure.UpdateRasterFile();
                GDALConfigure.ImageAnticolor();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Application error:" + ex.Message);
            }
            Console.WriteLine("Done");
            Console.ReadKey();
        }
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值