public FilterSpatialViewModel CreateFilterSpatialViewModel()
        {
            FilterSpatialViewModel model = new FilterSpatialViewModel();

            model.IsSettingsDefault = SpatialSetting.IsSettingsDefault();
            return(model);
        }
        public PolygonFromMapLayerViewModel CreatePolygonFromMapLayerViewModel()
        {
            var model = new PolygonFromMapLayerViewModel();

            model.IsSettingsDefault = SpatialSetting.IsPolygonSettingsDefault();
            return(model);
        }
        /// <summary>
        /// Updates the spatial filter. All coordinates will be converted to Google Mercator.
        /// </summary>
        /// <param name="featureCollection">The feature collection.</param>
        /// <param name="coordinateSystem">The coordinate system used in featureCollection.</param>
        public void UpdateSpatialFilter(FeatureCollection featureCollection, CoordinateSystem coordinateSystem)
        {
            List <DataPolygon> dataPolygons = DataPolygonConverter.ConvertToDataPolygons(featureCollection);

            if (coordinateSystem.Id != CoordinateSystemId.GoogleMercator)
            {
                DataContext     dataContext       = new DataContext(UserContext);
                List <IPolygon> polygons          = dataPolygons.ToPolygons(dataContext);
                List <IPolygon> convertedPolygons = GisTools.CoordinateConversionManager.GetConvertedPolygons(polygons, coordinateSystem, new CoordinateSystem(CoordinateSystemId.GoogleMercator));
                dataPolygons = DataPolygonConverter.ConvertToDataPolygons(convertedPolygons);
            }

            SpatialSetting.SetPolygons(dataPolygons);
        }
        /// <summary>
        /// Updates the spatial filter.
        /// </summary>
        /// <param name="featureCollection">The feature collection.</param>
        public void UpdateSpatialFilter(FeatureCollection featureCollection)
        {
            List <DataPolygon> dataPolygons = DataPolygonConverter.ConvertToDataPolygons(featureCollection);

            SpatialSetting.SetPolygons(dataPolygons);
        }