示例#1
0
 public NA141BDataProvider(string fileName, IGeoDataDriver driver, enumDataProviderAccess access)
     : base(fileName, null, driver, access)
 {
     InitDataIdentify();
     _fsStream     = new FileStream(fileName, FileMode.Open, access == enumDataProviderAccess.ReadOnly ? FileAccess.Read : FileAccess.ReadWrite);
     _binrayReader = new BinaryReader(_fsStream);
 }
示例#2
0
        protected override IGeoDataProvider BuildDataProvider(string fileName, enumDataProviderAccess access, params object[] args)
        {
            string featureName, deepValue;

            TryExtractDeepValueArg(args, out deepValue, out featureName);
            return(new MODAS_GRIBDataProvider(fileName, this, deepValue, featureName));
        }
示例#3
0
 public IGeoDataProvider Open(string fileName, byte[] header1024, enumDataProviderAccess access, params object[] args)
 {
     if (!IsCompatible(fileName, header1024, args))
     {
         return(null);
     }
     return(BuildDataProvider(fileName, header1024, access, args));
 }
示例#4
0
 public void Init(string fname, enumDataProviderAccess access, IRasterDataProvider provider)
 {
     _provider = provider;
     _datasetNames.Add("Latitude");
     _datasetNames.Add("Longitude");
     _datasetNames.Add("SolarZenith");
     _datasetNames.Add("SatelliteZenith");
     _datasetNames.Add("RelativeAzimuth");
 }
示例#5
0
        public override void Init(string fname, enumDataProviderAccess access, IRasterDataProvider provider)
        {
            _provider = provider;
            _access   = access == enumDataProviderAccess.ReadOnly ? Access.GA_ReadOnly : Access.GA_Update;
            Dictionary <string, string> subdatasets = _provider.Attributes.GetAttributeDomain(GDAL_SUBDATASETS_NAME);

            ExtractDatasetNames(subdatasets);
            TryGetBandProviderDefinition(fname, subdatasets);
        }
        public override void Init(string fname, enumDataProviderAccess access, IRasterDataProvider provider)
        {
            _provider = provider;
            _access   = access == enumDataProviderAccess.ReadOnly ? Access.GA_ReadOnly : Access.GA_Update;

            if (_provider != null)
            {
                _allDatasetNames = GetDatasetNames();
            }
        }
示例#7
0
        protected override IGeoDataProvider BuildDataProvider(string fileName, enumDataProviderAccess access, params object[] args)
        {
            string id;

            string[] fnames;
            if (!IsOK(fileName, args, out fnames))
            {
                return(null);
            }
            return(new LogicalRasterDataProvider(fileName, fnames, null));
        }
示例#8
0
 public D1A5DataProvider(string fileName, IGeoDataDriver driver, enumDataProviderAccess access)
     : base(fileName, null, driver, access)
 {
     _dataIdentify.Satellite = GetSatellite();
     //_dataIdentify.Sensor = GetSensor();
     _dataIdentify.IsOrbit = true;
     if (_header != null)
     {
         _dataIdentify.IsAscOrbitDirection = (_header.AscDescendTag == 1);
     }
 }
示例#9
0
 public override void Init(string fname, enumDataProviderAccess access, IRasterDataProvider provider)
 {
     _provider = provider;
     _access   = access == enumDataProviderAccess.ReadOnly ? Access.GA_ReadOnly : Access.GA_Update;
     if (_provider != null)
     {
         Dictionary <string, string> allGdalSubDatasets = _provider.Attributes.GetAttributeDomain("SUBDATASETS");
         _allGdalSubDatasets = RecordAllSubDatasetNames(allGdalSubDatasets);
         //_allDatasetNames = GetDatasetNames();
         //ToGdalDatasetsName(_allDatasetNames);
     }
 }
示例#10
0
        public override void Init(string fname, enumDataProviderAccess access, IRasterDataProvider provider)
        {
            _provider = provider;
            _access   = access == enumDataProviderAccess.ReadOnly ? Access.GA_ReadOnly : Access.GA_Update;
            Dictionary <string, string> subdatasets = _provider.Attributes.GetAttributeDomain(GDAL_SUBDATASETS_NAME);

            RecordAllSubDatasetNames(subdatasets);
            TryGetDef();
            _dataIdentify.Satellite       = provider.DataIdentify.Satellite;
            _dataIdentify.Sensor          = provider.DataIdentify.Sensor;
            provider.DataIdentify.IsOrbit = true;
        }
示例#11
0
 public static IGeoDataProvider Open(string fileName, enumDataProviderAccess access, params string[] args)
 {
     IGeoDataDriver[] drivers = DriverFinder.RegisteredDrivers;
     if (drivers == null || drivers.Length == 0)
     {
         throw new DriverListIsEmptyException();
     }
     byte[] head1024 = GetHeader1024Bytes(fileName);
     foreach (IGeoDataDriver driver in drivers)
     {
         IGeoDataProvider prd = driver.Open(fileName, head1024, access, args);
         if (prd != null)
         {
             return(prd);
         }
     }
     throw new NoMatchedDirverException();
 }
示例#12
0
        public MemoryRasterDataProvider(string mmfName, string fname, enumDataProviderAccess access, IGeoDataDriver driver)
            : base(fname, driver)
        {
            _mmfName  = GetMmfName(mmfName);
            _fileName = fname;
            _access   = access == enumDataProviderAccess.ReadOnly ? MemoryMappedFileAccess.Read : MemoryMappedFileAccess.ReadWrite;
            string hdrfile = HdrFile.GetHdrFileName(_fileName);

            if (File.Exists(hdrfile))
            {
                _filelist = new string[] { _fileName, hdrfile }
            }
            ;
            else
            {
                _filelist = new string[] { _fileName }
            };
            _header = GetHeader(fname);
            SetFieldsByHeader(_header);
            TrySetEnvelopeAndResolutions();
            LoadBands();
        }
 protected override IGeoDataProvider BuildDataProvider(string fileName, enumDataProviderAccess access, params object[] args)
 {
     return(new SeaTransparencyDataProvider(fileName, this));
 }
示例#14
0
 protected override IGeoDataProvider BuildDataProvider(string fileName, enumDataProviderAccess access, params object[] args)
 {
     return(new Hdf4RasterDataProvider(fileName, null, this, args));
 }
示例#15
0
 public FY1_1A5DataProvider(string fileName, byte[] header1024, IGeoDataDriver driver, enumDataProviderAccess access)
     : base(fileName, header1024, driver, access)
 {
     InitDataIdentify();
 }
示例#16
0
 public FY1_1A5DataProvider(string fileName, IGeoDataDriver driver, enumDataProviderAccess access)
     : base(fileName, null, driver, access)
 {
     InitDataIdentify();
 }
示例#17
0
 public GRIB2DataProvider(string fileName, byte[] header1024, IGeoDataDriver driver, enumDataProviderAccess access)
     : base(fileName, driver)
 {
     _records       = new List <GRIB2Record>();
     _parameterList = new List <string>();
     ReadToDataProvider();
     LoadBands();
 }
示例#18
0
 protected override IGeoDataProvider BuildDataProvider(string fileName, enumDataProviderAccess access, params object[] args)
 {
     return(new D1A5DataProvider(fileName, this, access));
 }
示例#19
0
 protected override IGeoDataProvider BuildDataProvider(string fileName, byte[] header1024, enumDataProviderAccess access, params object[] args)
 {
     string[] fnames;
     if (!IsOK(fileName, args, out fnames))
     {
         return(null);
     }
     foreach (string f in fnames)
     {
         if (!File.Exists(f))
         {
             throw new FileNotFoundException(f);
         }
     }
     return(new LogicalRasterDataProvider(fileName, fnames, null));
 }
示例#20
0
 public GRIB1DataProvider(string fileName, byte[] header1024, IGeoDataDriver driver, enumDataProviderAccess access)
     : base(fileName, driver)
 {
     ReadToDataProvider();
     _bandCount = 1;
     LoadBands();
 }
示例#21
0
 public void Init(string fname, enumDataProviderAccess access, IRasterDataProvider provider)
 {
     _provider = provider;
     _datasetNames.Add("Latitude");
     _datasetNames.Add("Longitude");
 }
示例#22
0
 protected override IGeoDataProvider BuildDataProvider(string fileName, byte[] header1024, enumDataProviderAccess access, params object[] args)
 {
     return(new MemoryRasterDataProvider(fileName, fileName, access, this));
 }
示例#23
0
 public abstract void Init(string fname, enumDataProviderAccess access, IRasterDataProvider provider);
示例#24
0
 protected override IGeoDataProvider BuildDataProvider(string fileName, enumDataProviderAccess access, params object[] args)
 {
     throw new NotImplementedException();
 }
示例#25
0
        public GDALRasterDataProvider(string fileName, byte[] header1024, IGeoDataDriver driver, enumDataProviderAccess access)
            : base(fileName, driver)
        {
            _driver = driver;
            CallGDALBefore();
            Access gdalAccess = access == enumDataProviderAccess.ReadOnly ? Access.GA_ReadOnly : Access.GA_Update;

            _dataset = Gdal.Open(fileName, gdalAccess);
            GDALHelper.GetDatasetAttributes(_dataset, _attributes);
            if (header1024 == null)
            {
                header1024 = GetHeader1024Bytes(fileName);
            }
            TryGetBandProviderAndGetDefaultBands(gdalAccess, header1024, _attributes.GetAttributeDomain(GDAL_SUBDATASETS_NAME));
            _width    = 0; //GDAL: _dataset.RasterXSize 默认为512
            _height   = 0; //GDAL: _dataset.RasterYSize 默认为512
            _filelist = _dataset.GetFileList();
            _fileName = _fileName;
            //读取波段列表
            _bandCount = _dataset.RasterCount;
            for (int i = 1; i <= _bandCount; i++)
            {
                _rasterBands.Add(new GDALRasterBand(this, _dataset.GetRasterBand(i), new GDALDataset(_dataset)));
            }
            _bandCount = _rasterBands.Count;
            for (int i = 1; i <= _bandCount; i++)
            {
                _rasterBands[i - 1].BandNo = i;
            }
            TryGetDatTypeOfProvider();
            TryGetSizeOfProvider();
            TryCreateSpatialRef();
            TryCreateCoordTransform();
            TrySetEnvelopeAndResolutions();
            //
            //TryGetDataIdentity();
        }
示例#26
0
 protected override IGeoDataProvider BuildDataProvider(string fileName, enumDataProviderAccess access, params object[] args)
 {
     return(new MemoryRasterDataProvider(fileName, fileName, access, this as RasterDataDriver));
 }
示例#27
0
 protected abstract override IGeoDataProvider BuildDataProvider(string fileName, byte[] header1024, enumDataProviderAccess access, params object[] args);
示例#28
0
 public AWXDataProvider(string fileName, IGeoDataDriver driver, enumDataProviderAccess access)
     : base(fileName, null, driver, access)
 {
 }
示例#29
0
 protected override IGeoDataProvider BuildDataProvider(string fileName, byte[] header1024, enumDataProviderAccess access, params object[] args)
 {
     return(new GRIB1DataProvider(fileName, header1024, this, access));
 }
示例#30
0
 public AWXDataProvider(string fileName, byte[] header1024, IGeoDataDriver driver, enumDataProviderAccess access)
     : base(fileName, header1024, driver, access)
 {
 }