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();
}
{
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();
}