예제 #1
0
        public void CreateSinglePointMapFeature_PointNull_ThrowArgumentNullException()
        {
            // Call
            TestDelegate test = () => RiskeerMapDataFeaturesFactoryHelper.CreateSinglePointMapFeature(null);

            // Assert
            var exception = Assert.Throws <ArgumentNullException>(test);

            Assert.AreEqual("point", exception.ParamName);
        }
예제 #2
0
        public void CreateSinglePointMapFeature_WithPoint_CreatesASinglePointMapFeature()
        {
            // Setup
            var point = new Point2D(0, 0);

            // Call
            MapFeature pointMapFeature = RiskeerMapDataFeaturesFactoryHelper.CreateSinglePointMapFeature(point);

            // Assert
            MapGeometry[] mapGeometries = pointMapFeature.MapGeometries.ToArray();
            Assert.AreEqual(1, mapGeometries.Length);
            MapGeometry mapGeometry = mapGeometries.First();

            IEnumerable <Point2D>[] geometryPointCollections = mapGeometry.PointCollections.ToArray();
            Assert.AreEqual(1, geometryPointCollections.Length);
            Assert.AreSame(point, geometryPointCollections.First().First());
        }
        /// <summary>
        /// Creates a hydraulic boundary location feature based on the given <paramref name="location"/>.
        /// </summary>
        /// <param name="location">The location to create the feature for.</param>
        /// <returns>A feature based on the given <paramref name="location"/>.</returns>
        /// <exception cref="ArgumentNullException">Thrown when <paramref name="location"/> is <c>null</c>.</exception>
        public static MapFeature CreateHydraulicBoundaryLocationFeature(AggregatedHydraulicBoundaryLocation location)
        {
            if (location == null)
            {
                throw new ArgumentNullException(nameof(location));
            }

            MapFeature feature = RiskeerMapDataFeaturesFactoryHelper.CreateSinglePointMapFeature(location.Location);

            feature.MetaData[RiskeerCommonUtilResources.MetaData_ID]   = location.Id;
            feature.MetaData[RiskeerCommonUtilResources.MetaData_Name] = location.Name;

            AddTargetProbabilityMetaData(feature, location.WaterLevelCalculationsForTargetProbabilities);

            AddTargetProbabilityMetaData(feature, location.WaveHeightCalculationsForTargetProbabilities);

            return(feature);
        }
예제 #4
0
        private static MapFeature CreateDuneLocationFeature(AggregatedDuneLocation location)
        {
            MapFeature feature = RiskeerMapDataFeaturesFactoryHelper.CreateSinglePointMapFeature(location.Location);

            feature.MetaData[RiskeerCommonUtilResources.MetaData_ID]   = location.Id;
            feature.MetaData[RiskeerCommonUtilResources.MetaData_Name] = location.Name;
            feature.MetaData[Resources.MetaData_CoastalAreaId]         = location.CoastalAreaId;
            feature.MetaData[Resources.MetaData_Offset] = location.Offset.ToString(RiskeerDuneErosionDataResources.DuneLocation_Offset_format,
                                                                                   CultureInfo.CurrentCulture);
            feature.MetaData[Resources.MetaData_D50] = location.D50.ToString();

            HydraulicBoundaryLocationMapDataFeaturesFactory.AddTargetProbabilityMetaData(feature, location.WaterLevelCalculationsForTargetProbabilities,
                                                                                         Resources.MetaData_WaterLevel_TargetProbability_0);
            HydraulicBoundaryLocationMapDataFeaturesFactory.AddTargetProbabilityMetaData(feature, location.WaveHeightCalculationsForTargetProbabilities,
                                                                                         Resources.MetaData_WaveHeight_TargetProbability_0);
            HydraulicBoundaryLocationMapDataFeaturesFactory.AddTargetProbabilityMetaData(feature, location.WavePeriodCalculationsForTargetProbabilities,
                                                                                         Resources.MetaData_WavePeriod_TargetProbability_0);

            return(feature);
        }
예제 #5
0
        /// <summary>
        /// Creates a hydraulic boundary location calculation feature based on the given <paramref name="calculation"/>.
        /// </summary>
        /// <param name="calculation">The calculation to create the feature for.</param>
        /// <param name="metaDataHeader">The meta data header to use.</param>
        /// <returns>A feature based on the given <paramref name="calculation"/>.</returns>
        /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception>
        public static MapFeature CreateHydraulicBoundaryLocationCalculationFeature(HydraulicBoundaryLocationCalculation calculation,
                                                                                   string metaDataHeader)
        {
            if (calculation == null)
            {
                throw new ArgumentNullException(nameof(calculation));
            }

            if (metaDataHeader == null)
            {
                throw new ArgumentNullException(nameof(metaDataHeader));
            }

            HydraulicBoundaryLocation location = calculation.HydraulicBoundaryLocation;
            MapFeature feature = RiskeerMapDataFeaturesFactoryHelper.CreateSinglePointMapFeature(location.Location);

            feature.MetaData[RiskeerCommonUtilResources.MetaData_ID]   = location.Id;
            feature.MetaData[RiskeerCommonUtilResources.MetaData_Name] = location.Name;
            feature.MetaData[metaDataHeader] = GetCalculationResult(calculation.Output).ToString();
            return(feature);
        }
        /// <summary>
        /// Create features for the geometry of the <paramref name="structures"/>.
        /// </summary>
        /// <param name="structures">The profiles to create features for.</param>
        /// <returns>A collection of features or an empty collection when <paramref name="structures"/> is
        /// <c>null</c> or empty.</returns>
        public static IEnumerable <MapFeature> CreateStructuresFeatures(IEnumerable <StructureBase> structures)
        {
            if (structures != null)
            {
                int nrOfElements = structures.Count();
                var mapFeatures  = new MapFeature[nrOfElements];

                var i = 0;
                foreach (StructureBase structure in structures)
                {
                    MapFeature feature = RiskeerMapDataFeaturesFactoryHelper.CreateSinglePointMapFeature(structure.Location);
                    feature.MetaData[RiskeerCommonUtilResources.MetaData_Name] = structure.Name;

                    mapFeatures[i] = feature;
                    i++;
                }

                return(mapFeatures);
            }

            return(new MapFeature[0]);
        }