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); }
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; }
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; }
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); }
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); }
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) { }
public FeatureLayer(string layerName, SqlFeatureDataSource dataSource, RenderingApproach rendering, RasterizationApproach toRasterTechnique, Func <SqlFeature, VisualParameters> symbologyRule, ScaleInterval visibleRange) { Initialize(layerName, dataSource, rendering, toRasterTechnique, visibleRange, symbologyRule); }