public GeoConvertingHandler(GdalHelpers gdalHelpers, IGeospatialConvertingHandler convertingHandler,
                                    IZippingHandler zippingHandler)
        {
            _gdalHelpers = gdalHelpers;

            _convertingHandler = convertingHandler;

            _zippingHandler = zippingHandler;
        }
        public string ConvertingPreprocessor(List <string> inputFileNames, IDictionary <string, string> parameters,
                                             string folderPath)
        {
            try
            {
                var inputFormatValue = parameters[InputConvertingParameters.InputFormat];

                var outputFormatValue = parameters[InputConvertingParameters.OutputFormat];

                var inputGeoType = GdalHelpers.ParseFromString(inputFormatValue);

                var outputGeoType = GdalHelpers.ParseFromString(outputFormatValue);

                var outputExtension = _gdalHelpers.GetExtension(outputGeoType);

                var outputFileNames = new List <string>();

                foreach (var fileName in inputFileNames)
                {
                    var outputFileName = fileName + "-" + Guid.NewGuid() + "." + outputExtension;

                    var isConverted = _convertingHandler.ConvertingHandler(fileName, outputFileName,
                                                                           inputGeoType, outputGeoType);

                    if (isConverted)
                    {
                        outputFileNames.Add(outputFileName);
                    }
                }


                if (inputFileNames.Count == outputFileNames.Count)
                {
                    return(_zippingHandler.Zipping(outputFileNames, folderPath));
                }
                else
                {
                    _logger.Error($"Exception in converting one of input fiels");
                    return(null);
                }
            }
            catch (Exception ex)
            {
                _logger.Error($"Exception {ex.Message}");
                return(null);
            }
        }
Пример #3
0
 public GeospatialConvertingHandler(GdalHelpers gdalHelpers)
 {
     _gdalHelpers = gdalHelpers;
 }
 public GdalHelpersTests()
 {
     _gdalHelpers = new GdalHelpers();
 }