Example #1
0
 /// <summary>
 /// Copies the fileName
 /// </summary>
 /// <param name="fileName"></param>
 /// <param name="copyValues"></param>
 public override void Copy(string fileName, bool copyValues)
 {
     using (Driver d = _dataset.GetDriver())
     {
         DataType myType = OSGeo.GDAL.DataType.GDT_Int32;
         if (_band != null)
         {
             myType = _band.DataType;
         }
         else
         {
             GdalRaster <T> r = Bands[0] as GdalRaster <T>;
             if (r != null)
             {
                 myType = r.GdalDataType;
             }
         }
         if (copyValues)
         {
             d.CreateCopy(fileName, _dataset, 1, Options, GdalProgressFunc, "Copy Progress");
         }
         else
         {
             d.Create(fileName, NumColumnsInFile, NumRowsInFile, NumBands, myType, Options);
         }
     }
 }
        private static IRaster GetBand(string fileName, Dataset dataset, Band band)
        {
            Raster result = null;

            switch (band.DataType)
            {
            case DataType.GDT_Byte:
                result = new GdalRaster <byte>(fileName, dataset, band);
                break;

            case DataType.GDT_CFloat32:
            case DataType.GDT_CFloat64:
            case DataType.GDT_CInt16:
            case DataType.GDT_CInt32:
                break;

            case DataType.GDT_Float32:
                result = new GdalRaster <float>(fileName, dataset, band);
                break;

            case DataType.GDT_Float64:
                result = new GdalRaster <double>(fileName, dataset, band);
                break;

            case DataType.GDT_Int16:
                result = new GdalRaster <short>(fileName, dataset, band);
                break;

            case DataType.GDT_UInt16:
            case DataType.GDT_Int32:
                result = new GdalRaster <int>(fileName, dataset, band);
                break;

            case DataType.GDT_TypeCount:
                break;

            case DataType.GDT_UInt32:
                result = new GdalRaster <long>(fileName, dataset, band);
                break;

            case DataType.GDT_Unknown:
                break;

            default:
                break;
            }

            if (result != null)
            {
                result.Open();
            }

            return(result);
        }