Example #1
0
        public FeatureLayer(string name, List <SqlFeature> features, Func <SqlFeature, VisualParameters> symbologyRule,
                            RenderingApproach rendering, RasterizationApproach toRasterTechnique, ScaleInterval visibleRange)
        {
            if (features == null || features.Count == 0)
            {
                throw new NotImplementedException();
            }

            Initialize(name, new SqlFeatureDataSource(features), rendering, toRasterTechnique, visibleRange, symbologyRule);
        }
Example #2
0
        private void Initialize(string layerName, IFeatureDataSource dataSource, VisualParameters parameters, LayerType type, RenderingApproach rendering,
                                RasterizationApproach toRasterTechnique, ScaleInterval visibleRange,
                                SimplePointSymbol pointSymbol, LabelParameters labeling)
        {
            this.Id = Guid.NewGuid();

            this.DataSource = dataSource;

            this.Rendering = rendering;

            this.ToRasterTechnique = toRasterTechnique;

            var geometries = dataSource.GetGeometries();

            if (geometries.Count > 0)
            {
                this.Type = type | GetGeometryType(geometries.FirstOrDefault());
            }
            else
            {
                this.Type = type;
            }

            this.Extent = geometries.GetBoundingBox();

            this.LayerName = layerName;

            this.VisualParameters = parameters;

            this.PointSymbol = pointSymbol ?? new SimplePointSymbol()
            {
                SymbolWidth = 4, SymbolHeight = 4
            };

            //this.PositionFunc = positionFunc;

            this.Labels = labeling;

            //Check for missing visibleRange
            if (this.Labels != null)
            {
                if (this.Labels.VisibleRange == null)
                {
                    this.Labels.VisibleRange = visibleRange;
                }
            }

            this.VisibleRange = (visibleRange == null) ? ScaleInterval.All : visibleRange;
        }
Example #3
0
        private void Initialize(string layerName, SqlFeatureDataSource dataSource, RenderingApproach rendering,
                                RasterizationApproach toRasterTechnique, ScaleInterval visibleRange, Func <SqlFeature, VisualParameters> symbologyRule)
        {
            this.LayerId = Guid.NewGuid();

            this.DataSource = dataSource;

            this.Rendering = rendering;

            this.ToRasterTechnique = toRasterTechnique;

            var geometries = dataSource.GetGeometries();

            this.Type = LayerType.Feature | LayerType.FeatureLayer;

            //if (geometries?.Count > 0)
            //{
            //    this.Type = type | GetGeometryType(geometries.FirstOrDefault(g => g != null));
            //}
            //else
            //{
            //    this.Type = type;
            //}

            this.Extent = DataSource?.GetGeometries()?.GetBoundingBox() ?? sb.BoundingBox.NaN;

            this.LayerName = layerName;

            this.VisualParameters = new VisualParameters(null, null, 0, 1, Visibility.Visible);

            this.SymbologyRule = symbologyRule;

            //this.PointSymbol = pointSymbol ?? new SimplePointSymbol() { SymbolWidth = 4, SymbolHeight = 4 };

            //this.Labels = labeling;

            ////Check for missing visibleRange
            //if (this.Labels != null)
            //{
            //    if (this.Labels.VisibleRange == null)
            //    {
            //        this.Labels.VisibleRange = visibleRange;
            //    }
            //}

            this.VisibleRange = (visibleRange == null) ? ScaleInterval.All : visibleRange;
        }
Example #4
0
 public VectorLayer(string layerName, IFeatureDataSource dataSource, VisualParameters parameters, LayerType type, RenderingApproach rendering,
                    RasterizationApproach toRasterTechnique, ScaleInterval visibleRange, SimplePointSymbol pointSymbol = null, LabelParameters labeling = null)
 {
     Initialize(layerName, dataSource, parameters, type, rendering, toRasterTechnique, visibleRange, pointSymbol, labeling);
 }
Example #5
0
        public VectorLayer(string layerName, List <SqlGeometry> features, VisualParameters parameters, LayerType type, RenderingApproach rendering, RasterizationApproach toRasterTechnique)
        {
            if (features == null || features.Count == 0)
            {
                throw new NotImplementedException();
            }

            Initialize(layerName, new MemoryDataSource <object>(features), parameters, type, rendering, toRasterTechnique, ScaleInterval.All, null, null);
        }
Example #6
0
 public VectorLayer(string name, List <SqlGeometry> features, LayerType type, RenderingApproach rendering, RasterizationApproach toRasterTechnique)
     : this(name, features, new VisualParameters(BrushHelper.PickBrush(), BrushHelper.PickBrush(), 1, 1, Visibility.Visible), type, rendering, toRasterTechnique)
 {
 }
Example #7
0
 public FeatureLayer(string layerName, SqlFeatureDataSource dataSource, RenderingApproach rendering,
                     RasterizationApproach toRasterTechnique, Func <SqlFeature, VisualParameters> symbologyRule, ScaleInterval visibleRange)
 {
     Initialize(layerName, dataSource, rendering, toRasterTechnique, visibleRange, symbologyRule);
 }