Exemplo n.º 1
0
        private IRasterBand[] ReadBandsFromDataset(string dsname, Dataset ds, IRasterDataProvider provider)
        {
            int bandNo = 1;

            IRasterBand[] bands = new IRasterBand[ds.RasterCount];
            for (int i = 1; i <= ds.RasterCount; i++)
            {
                bands[i - 1]             = new GDALRasterBand(provider, ds.GetRasterBand(i), new GDALDataset(ds));
                bands[i - 1].BandNo      = bandNo++;
                bands[i - 1].Description = dsname;
            }
            return(bands);
        }
Exemplo n.º 2
0
        //private IRasterBand[] GetBandsByFullName(string datasetName)
        //{
        //    if (_allGdalSubDatasets == null || _allGdalSubDatasets.Count == 0 || string.IsNullOrEmpty(datasetName))
        //        return null;
        //    foreach (string dsname in _allGdalSubDatasets)
        //    {
        //        if (string.IsNullOrEmpty(dsname))
        //            continue;
        //        if (dsname.Contains(datasetName))
        //        {
        //            Dataset ds = Gdal.Open(datasetName, _access);

        //            return ReadBandsFromDataset(ds, _provider);
        //        }
        //    }
        //    return null;
        //}

        private IRasterBand[] ReadBandsFromDataset(Dataset ds, IRasterDataProvider provider)
        {
            if (ds == null || ds.RasterCount == 0)
            {
                return(null);
            }
            IRasterBand[] bands = new IRasterBand[ds.RasterCount];
            for (int i = 1; i <= ds.RasterCount; i++)
            {
                bands[i - 1] = new GDALRasterBand(provider, ds.GetRasterBand(i), new GDALDataset(ds));
            }
            return(bands);
        }
Exemplo n.º 3
0
        private IRasterBand[] ReadBandsFromGDAL(Dataset ds, IRasterDataProvider provider)
        {
            if (ds == null || ds.RasterCount == 0)
            {
                return(null);
            }
            IRasterBand[] bands  = new IRasterBand[ds.RasterCount];
            GDALDataset   gdalDs = new GDALDataset(ds);

            for (int i = 1; i <= ds.RasterCount; i++)
            {
                Band band = ds.GetRasterBand(i);
                bands[i - 1] = new GDALRasterBand(provider, band, gdalDs);
            }
            return(bands);
        }