public static LayerDef GenerateDefaultLayerDef(string name, IS3.Core.Geometry.GeometryType geomType) { LayerDef lyrDef = new LayerDef(); lyrDef.Name = name; lyrDef.IsVisible = true; if (geomType == IS3.Core.Geometry.GeometryType.Point) { lyrDef.GeometryType = IS3.Core.Geometry.GeometryType.Point; lyrDef.Color = Colors.Red; lyrDef.FillStyle = SimpleFillStyle.Solid; lyrDef.EnableLabel = true; lyrDef.LabelTextExpression = "[Name]"; } else if (geomType == IS3.Core.Geometry.GeometryType.Polyline) { lyrDef.GeometryType = IS3.Core.Geometry.GeometryType.Polyline; lyrDef.OutlineColor = Colors.Green; lyrDef.Color = Colors.Green; lyrDef.FillStyle = SimpleFillStyle.Solid; } else if (geomType == IS3.Core.Geometry.GeometryType.Polygon) { lyrDef.GeometryType = IS3.Core.Geometry.GeometryType.Polygon; lyrDef.OutlineColor = Colors.Blue; lyrDef.Color = Colors.Blue; lyrDef.FillStyle = SimpleFillStyle.Solid; } return(lyrDef); }
public static LayerDef GenerateDefaultLayerDef(GeodatabaseFeatureTable table) { IS3.Core.Geometry.GeometryType geomType = IS3.Core.Geometry.GeometryType.Point; if (table.GeometryType == GeometryType.Point) { geomType = IS3.Core.Geometry.GeometryType.Point; } else if (table.GeometryType == GeometryType.Polyline) { geomType = IS3.Core.Geometry.GeometryType.Polyline; } else if (table.GeometryType == GeometryType.Polygon) { geomType = IS3.Core.Geometry.GeometryType.Polygon; } return(GenerateDefaultLayerDef(table.Name, geomType)); }
// Summary: // Generate a default label attributes according to the GeometryType // The default labelling property of a feature is [Name] // static AttributeLabelClass generateDefaultLayerAttributeLable(IS3.Core.Geometry.GeometryType geometryType) { IS3TextSymbol textSymbol = new IS3TextSymbol(); textSymbol.Color = System.Windows.Media.Colors.Black; AttributeLabelClass labelClass = new AttributeLabelClass(); labelClass.IsVisible = true; labelClass.TextExpression = "[Name]"; labelClass.Symbol = textSymbol; if (geometryType == IS3.Core.Geometry.GeometryType.Polygon) { labelClass.LabelPlacement = LabelPlacement.PolygonAlwaysHorizontal; } return(labelClass); }
// Summary: // Generate a label attributes according to the definition // which is specified in the LayerDef // static AttributeLabelClass generateLayerAttributeLable(LayerDef layerDef, IS3.Core.Geometry.GeometryType geometryType) { if (layerDef == null) { return(generateDefaultLayerAttributeLable(geometryType)); } IS3SymbolFont font = new IS3SymbolFont( layerDef.LabelFontFamily, layerDef.LabelFontSize); font.FontStyle = layerDef.LabelFontStyle; font.FontWeight = layerDef.LabelFontWeight; font.TextDecoration = layerDef.LabelTextDecoration; IS3TextSymbol textSymbol = new IS3TextSymbol(); textSymbol.Color = layerDef.LabelColor; textSymbol.Font = font; textSymbol.BorderLineColor = layerDef.LabelBorderLineColor; textSymbol.BorderLineSize = layerDef.LabelBorderLineWidth; textSymbol.BackgroundColor = layerDef.LabelBackgroundColor; AttributeLabelClass labelClass = new AttributeLabelClass(); labelClass.IsVisible = true; labelClass.TextExpression = layerDef.LabelTextExpression; labelClass.WhereClause = layerDef.LabelWhereClause; labelClass.Symbol = textSymbol; if (geometryType == IS3.Core.Geometry.GeometryType.Polygon) { labelClass.LabelPlacement = LabelPlacement.PolygonAlwaysHorizontal; } return(labelClass); }