示例#1
0
        public RasterService(RasterIndexServiceResolver rasterResolver, ILogger <RasterService> logger = null)
        {
            this._logger = logger;
            this._rasterIndexServiceResolver = rasterResolver;
            //_localDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), APP_NAME);
            _localDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), APP_NAME);
            if (!Directory.Exists(_localDirectory))
            {
                Directory.CreateDirectory(_localDirectory);
            }

            _metadataCatalogCache = new Dictionary <string, List <FileMetadata> >();
        }
示例#2
0
        public RasterService(RasterIndexServiceResolver rasterResolver, IOptions <DEMNetOptions> options, ILogger <RasterService> logger = null)
        {
            this._logger = logger;
            this._rasterIndexServiceResolver = rasterResolver;
            string directoryFromOptions = options?.Value?.LocalDirectory;

            _localDirectory = string.IsNullOrWhiteSpace(directoryFromOptions) ? Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), APP_NAME)
                : directoryFromOptions;
            if (!Directory.Exists(_localDirectory))
            {
                Directory.CreateDirectory(_localDirectory);
            }

            _logger.LogInformation($"Local data directory : {_localDirectory}");

            _metadataCatalogCache = new ConcurrentDictionary <string, List <FileMetadata> >();
        }
        public List <BeanPoint_internal> GetPointsTestsByBBox(string p_bbox, DEMDataSet dataset, int sridCible)
        {
            List <BeanPoint_internal> v_pointsToTest = new List <BeanPoint_internal>();

            try
            {
                // fix issue #86 to work with opentopography files without proper DI injection
                RasterIndexServiceResolver rasterIndexServiceResolver = dataSourceType =>
                {
                    switch (dataSourceType)
                    {
                    case DEMDataSourceType.GDALVrt:
                        return(new GDALVRTFileService(null, null));

                    default:
                        throw new KeyNotFoundException();     // or maybe return null, up to you
                    }
                };
                RasterService    v_rasterService    = new RasterService(rasterIndexServiceResolver);
                ElevationService v_elevationService = new ElevationService(v_rasterService, null);
                BoundingBox      v_bbox             = GeometryService.GetBoundingBox(p_bbox);
                v_elevationService.DownloadMissingFiles(dataset, v_bbox);
                //
                HeightMap v_hMap;
                v_hMap = v_elevationService.GetHeightMap(ref v_bbox, dataset);


                v_hMap         = v_hMap.ReprojectTo(4326, sridCible);
                v_pointsToTest = GetGeoPointsByHMap(v_hMap, sridCible);
            }
            catch (Exception)
            {
                throw;
            }
            return(v_pointsToTest);
        }
示例#4
0
 public DatasetTests(DemNetFixture fixture)
 {
     _rasterService        = fixture.ServiceProvider.GetService <RasterService>();
     _elevationService     = fixture.ServiceProvider.GetService <ElevationService>();
     _indexServiceResolver = fixture.ServiceProvider.GetService <RasterIndexServiceResolver>();
 }
示例#5
0
 public TileTests(DemNetFixture fixture)
 {
     _elevationService = fixture.ServiceProvider.GetService <IElevationService>();
     _rasterService    = fixture.ServiceProvider.GetService <IRasterService>();
     _rasterResolver   = fixture.ServiceProvider.GetService <RasterIndexServiceResolver>();
 }
示例#6
0
 public ConfigurationTests(DemNetFixture fixture)
 {
     _rasterService        = fixture.ServiceProvider.GetService <RasterService>();
     _options              = fixture.ServiceProvider.GetService <IOptions <DEMNetOptions> >();
     _indexServiceResolver = fixture.ServiceProvider.GetService <RasterIndexServiceResolver>();
 }