Beispiel #1
0
        public void PopulateEquirectangular()
        {
            var options = new EquirectangularOptions
            {
                AutoCrop          = true,
                Tint              = "ff0000",
                SpatialResolution = Constants.Satellite.SpatialResolution.FourKm,
                InterpolationType = InterpolationOptions.B,
                IntervalMinutes   = 30,
                Brightness        = 1.2f,
                Saturation        = 0.5f,
                Force             = true,
                Verbose           = true
            };

            var renderOptions = OptionsParser.Populate(options);

            Assert.NotNull(renderOptions.EquirectangularRender);

            renderOptions.EquirectangularRender.AutoCrop.Should().BeTrue();
            renderOptions.SpatialResolution.Should().Be(Constants.Satellite.SpatialResolution.FourKm);
            renderOptions.Tint.Should().Be(Color.FromRgb(255, 0, 0));
            renderOptions.InterpolationType.Should().Be(InterpolationType.Bilinear);
            renderOptions.ImageSize.Should().Be(Constants.Satellite.ImageSize.FourKm);
            renderOptions.ImageOffset.Should().Be(Constants.Satellite.Offset.FourKm);
            renderOptions.Interval.Should().Be(TimeSpan.FromMinutes(30));
            renderOptions.Brightness.Should().Be(1.2f);
            renderOptions.Saturation.Should().Be(0.5f);
            renderOptions.Force.Should().BeTrue();
            renderOptions.Verbose.Should().BeTrue();
        }
Beispiel #2
0
        public static RenderOptions Populate(EquirectangularOptions options)
        {
            var renderOptions = ProcessBaseOptions(options);

            renderOptions.EquirectangularRender = new EquirectangularRenderOptions(
                options.AutoCrop,
                options.Timestamp != null || options.IntervalMinutes != null, null
                /*ExtentsHelper.ParseExtentsString(options.Extents)*/);

            return(renderOptions);
        }
Beispiel #3
0
        private static RenderOptions ParseReprojectOptions(EquirectangularOptions options)
        {
            var validation = new EquirectangularOptionsValidator().Validate(options);

            if (validation.IsValid)
            {
                return(OptionsParser.Populate(options));
            }

            throw new ValidationException(validation.Errors);
        }
Beispiel #4
0
        public void PopulateEquirectangular()
        {
            var options = new EquirectangularOptions
            {
                AutoCrop          = true,
                Tint              = "ff0000",
                SpatialResolution = Constants.Satellite.SpatialResolution.FourKm,
                InterpolationType = InterpolationOptions.B,
                IntervalMinutes   = 30,
                Brightness        = 1.2f,
                Saturation        = 0.5f,
                Force             = true,
                Verbose           = true,
                LongitudeRange    = "-180:180",
                LatitudeRange     = "-50:50"
            };

            var renderOptions = OptionsParser.Populate(options);

            Assert.NotNull(renderOptions.EquirectangularRender);

            renderOptions.EquirectangularRender !.AutoCrop.Should().BeTrue();

            Assert.NotNull(renderOptions.EquirectangularRender.LatitudeRange);
            Assert.NotNull(renderOptions.EquirectangularRender.LongitudeRange);

            renderOptions.EquirectangularRender.LatitudeRange !.Value.Start.Should().Be(Angle.FromDegrees(-50).Radians);
            renderOptions.EquirectangularRender.LatitudeRange !.Value.End.Should().Be(Angle.FromDegrees(50).Radians);

            renderOptions.EquirectangularRender.LongitudeRange !.Value.Start.Should().Be(Angle.FromDegrees(-180).Radians);
            renderOptions.EquirectangularRender.LongitudeRange !.Value.End.Should().Be(Angle.FromDegrees(180).Radians);

            renderOptions.SpatialResolution.Should().Be(Constants.Satellite.SpatialResolution.FourKm);
            renderOptions.Tint.Should().Be(Color.FromRgb(255, 0, 0));
            renderOptions.InterpolationType.Should().Be(InterpolationType.Bilinear);
            renderOptions.ImageSize.Should().Be(Constants.Satellite.ImageSize.FourKm);
            renderOptions.ImageOffset.Should().Be(Constants.Satellite.Offset.FourKm);
            renderOptions.Interval.Should().Be(TimeSpan.FromMinutes(30));
            renderOptions.Brightness.Should().Be(1.2f);
            renderOptions.Saturation.Should().Be(0.5f);
            renderOptions.Force.Should().BeTrue();
            renderOptions.Verbose.Should().BeTrue();
        }