コード例 #1
0
ファイル: GdbHelper.cs プロジェクト: lzkqcc/iS3-Config
        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);
        }
コード例 #2
0
ファイル: GdbHelper.cs プロジェクト: lzkqcc/iS3-Config
 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));
 }
コード例 #3
0
ファイル: GdbHelper.cs プロジェクト: lzkqcc/iS3-Config
        // 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);
        }
コード例 #4
0
ファイル: GdbHelper.cs プロジェクト: lzkqcc/iS3-Config
        // 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);
        }