コード例 #1
0
        private IFeatureRenderer method_6(ITopology itopology_0, esriTopologyRenderer esriTopologyRenderer_0)
        {
            IUniqueValueRenderer renderer = null;
            IList               list;
            IFillSymbol         symbol;
            ILineSymbol         symbol2;
            bool                flag;
            IEnumColors         colors;
            IFillSymbol         symbol3;
            int                 num;
            ITopologyRule       rule;
            int                 topologyRuleType;
            ILineSymbol         symbol4;
            ISimpleMarkerSymbol symbol5;
            ISimpleMarkerSymbol symbol6;
            IRandomColorRamp    ramp = new RandomColorRampClass
            {
                StartHue      = 40,
                EndHue        = 120,
                MinValue      = 65,
                MaxValue      = 90,
                MinSaturation = 25,
                MaxSaturation = 45,
                Size          = 5,
                Seed          = 23
            };

            switch (esriTopologyRenderer_0)
            {
            case esriTopologyRenderer.esriTRAreaErrors:
                renderer = new UniqueValueRendererClass();
                list     = this.method_4(itopology_0);
                symbol   = new SimpleFillSymbolClass
                {
                    Color = ColorManage.CreatColor(255, 128, 128)
                };
                symbol2 = new SimpleLineSymbolClass
                {
                    Width = 2.5,
                    Color = ColorManage.CreatColor(255, 0, 0)
                };
                symbol.Outline         = symbol2;
                renderer.DefaultSymbol = (symbol as IClone).Clone() as ISymbol;
                ramp.Size = list.Count + 2;
                ramp.CreateRamp(out flag);
                colors = ramp.Colors;
                colors.Reset();
                symbol3       = (symbol as IClone).Clone() as IFillSymbol;
                symbol3.Color = colors.Next();
                renderer.AddValue("0", "必须大于集束容限值", symbol3 as ISymbol);
                renderer.set_Label("0", "必须大于集束容限值");
                for (num = 0; num < list.Count; num++)
                {
                    rule             = list[num] as ITopologyRule;
                    symbol3          = (symbol as IClone).Clone() as IFillSymbol;
                    symbol3.Color    = colors.Next();
                    topologyRuleType = (int)rule.TopologyRuleType;
                    renderer.AddValue(topologyRuleType.ToString(), this.method_5(rule.TopologyRuleType),
                                      symbol3 as ISymbol);
                    renderer.set_Label(topologyRuleType.ToString(), this.method_5(rule.TopologyRuleType));
                }
                break;

            case esriTopologyRenderer.esriTRLineErrors:
                renderer = new UniqueValueRendererClass();
                list     = this.method_3(itopology_0);
                symbol2  = new SimpleLineSymbolClass
                {
                    Width = 2.5,
                    Color = ColorManage.CreatColor(255, 128, 128)
                };
                renderer.DefaultSymbol = (symbol2 as IClone).Clone() as ISymbol;
                ramp.Size = list.Count + 2;
                ramp.CreateRamp(out flag);
                colors = ramp.Colors;
                colors.Reset();
                symbol4       = (symbol2 as IClone).Clone() as ILineSymbol;
                symbol4.Color = colors.Next();
                renderer.AddValue("0", "必须大于集束容限值", symbol4 as ISymbol);
                renderer.set_Label("0", "必须大于集束容限值");
                for (num = 0; num < list.Count; num++)
                {
                    rule             = list[num] as ITopologyRule;
                    symbol4          = (symbol2 as IClone).Clone() as ILineSymbol;
                    symbol4.Color    = colors.Next();
                    topologyRuleType = (int)rule.TopologyRuleType;
                    renderer.AddValue(topologyRuleType.ToString(), this.method_5(rule.TopologyRuleType),
                                      symbol4 as ISymbol);
                    renderer.set_Label(topologyRuleType.ToString(), this.method_5(rule.TopologyRuleType));
                }
                break;

            case esriTopologyRenderer.esriTRPointErrors:
                renderer = new UniqueValueRendererClass();
                list     = this.method_2(itopology_0);
                symbol5  = new SimpleMarkerSymbolClass
                {
                    Size  = 6.0,
                    Style = esriSimpleMarkerStyle.esriSMSSquare,
                    Color = ColorManage.CreatColor(255, 128, 128)
                };
                renderer.DefaultSymbol = (symbol5 as IClone).Clone() as ISymbol;
                if (list.Count > 0)
                {
                    ramp.Size = list.Count + 1;
                    ramp.CreateRamp(out flag);
                    colors = ramp.Colors;
                    colors.Reset();
                    symbol6 = null;
                    for (num = 0; num < list.Count; num++)
                    {
                        rule             = list[num] as ITopologyRule;
                        symbol6          = (symbol5 as IClone).Clone() as ISimpleMarkerSymbol;
                        symbol6.Color    = colors.Next();
                        topologyRuleType = (int)rule.TopologyRuleType;
                        renderer.AddValue(topologyRuleType.ToString(), this.method_5(rule.TopologyRuleType),
                                          symbol6 as ISymbol);
                        renderer.set_Label(topologyRuleType.ToString(), this.method_5(rule.TopologyRuleType));
                    }
                }
                break;

            case esriTopologyRenderer.esriTRAreaExceptions:
                renderer = new UniqueValueRendererClass();
                list     = this.method_4(itopology_0);
                symbol   = new SimpleFillSymbolClass
                {
                    Color = ColorManage.CreatColor(255, 255, 255)
                };
                symbol2 = new SimpleLineSymbolClass
                {
                    Width = 1.0,
                    Color = ColorManage.CreatColor(128, 255, 128)
                };
                symbol.Outline         = symbol2;
                renderer.DefaultSymbol = (symbol as IClone).Clone() as ISymbol;
                ramp.Size = list.Count + 2;
                ramp.CreateRamp(out flag);
                colors = ramp.Colors;
                colors.Reset();
                symbol3       = (symbol as IClone).Clone() as IFillSymbol;
                symbol3.Color = colors.Next();
                renderer.AddValue("0", "必须大于集束容限值", symbol3 as ISymbol);
                renderer.set_Label("0", "必须大于集束容限值");
                for (num = 0; num < list.Count; num++)
                {
                    rule             = list[num] as ITopologyRule;
                    symbol3          = (symbol as IClone).Clone() as IFillSymbol;
                    symbol3.Color    = colors.Next();
                    topologyRuleType = (int)rule.TopologyRuleType;
                    renderer.AddValue(topologyRuleType.ToString(), this.method_5(rule.TopologyRuleType),
                                      symbol3 as ISymbol);
                    renderer.set_Label(topologyRuleType.ToString(), this.method_5(rule.TopologyRuleType));
                }
                break;

            case esriTopologyRenderer.esriTRLineExceptions:
                renderer = new UniqueValueRendererClass();
                list     = this.method_3(itopology_0);
                symbol2  = new SimpleLineSymbolClass
                {
                    Width = 1.0,
                    Color = ColorManage.CreatColor(128, 255, 128)
                };
                renderer.DefaultSymbol = (symbol2 as IClone).Clone() as ISymbol;
                ramp.Size = list.Count + 2;
                ramp.CreateRamp(out flag);
                colors = ramp.Colors;
                colors.Reset();
                symbol4       = (symbol2 as IClone).Clone() as ILineSymbol;
                symbol4.Color = colors.Next();
                renderer.AddValue("0", "必须大于集束容限值", symbol4 as ISymbol);
                renderer.set_Label("0", "必须大于集束容限值");
                for (num = 0; num < list.Count; num++)
                {
                    rule             = list[num] as ITopologyRule;
                    symbol4          = (symbol2 as IClone).Clone() as ILineSymbol;
                    symbol4.Color    = colors.Next();
                    topologyRuleType = (int)rule.TopologyRuleType;
                    renderer.AddValue(topologyRuleType.ToString(), this.method_5(rule.TopologyRuleType),
                                      symbol4 as ISymbol);
                    renderer.set_Label(topologyRuleType.ToString(), this.method_5(rule.TopologyRuleType));
                }
                break;

            case esriTopologyRenderer.esriTRPointExceptions:
                renderer = new UniqueValueRendererClass();
                list     = this.method_2(itopology_0);
                symbol5  = new SimpleMarkerSymbolClass
                {
                    Size  = 5.0,
                    Style = esriSimpleMarkerStyle.esriSMSSquare,
                    Color = ColorManage.CreatColor(128, 255, 128)
                };
                renderer.DefaultSymbol = (symbol5 as IClone).Clone() as ISymbol;
                if (list.Count > 0)
                {
                    ramp.Size = list.Count + 1;
                    ramp.CreateRamp(out flag);
                    colors = ramp.Colors;
                    colors.Reset();
                    symbol6 = null;
                    for (num = 0; num < list.Count; num++)
                    {
                        rule             = list[num] as ITopologyRule;
                        symbol6          = (symbol5 as IClone).Clone() as ISimpleMarkerSymbol;
                        symbol6.Color    = colors.Next();
                        topologyRuleType = (int)rule.TopologyRuleType;
                        renderer.AddValue(topologyRuleType.ToString(), this.method_5(rule.TopologyRuleType),
                                          symbol6 as ISymbol);
                        renderer.set_Label(topologyRuleType.ToString(), this.method_5(rule.TopologyRuleType));
                    }
                }
                break;
            }
            return(renderer as IFeatureRenderer);
        }
コード例 #2
0
        private IFeatureRenderer method_1(esriTopologyRenderer esriTopologyRenderer_0)
        {
            IFeatureRenderer    renderer = null;
            IFillSymbol         symbol;
            ILineSymbol         symbol2;
            ISimpleMarkerSymbol symbol3;

            switch (esriTopologyRenderer_0)
            {
            case esriTopologyRenderer.esriTRAreaErrors:
                renderer = new SimpleRendererClass();
                symbol   = new SimpleFillSymbolClass
                {
                    Color = ColorManage.CreatColor(255, 128, 128)
                };
                symbol2 = new SimpleLineSymbolClass
                {
                    Width = 2.5,
                    Color = ColorManage.CreatColor(255, 0, 0)
                };
                symbol.Outline = symbol2;
                (renderer as ISimpleRenderer).Symbol = symbol as ISymbol;
                return(renderer);

            case esriTopologyRenderer.esriTRLineErrors:
                renderer = new SimpleRendererClass();
                symbol2  = new SimpleLineSymbolClass
                {
                    Width = 2.5,
                    Color = ColorManage.CreatColor(255, 128, 128)
                };
                (renderer as ISimpleRenderer).Symbol = symbol2 as ISymbol;
                return(renderer);

            case esriTopologyRenderer.esriTRPointErrors:
                renderer = new SimpleRendererClass();
                symbol3  = new SimpleMarkerSymbolClass
                {
                    Size  = 6.0,
                    Style = esriSimpleMarkerStyle.esriSMSSquare,
                    Color = ColorManage.CreatColor(255, 128, 128)
                };
                (renderer as ISimpleRenderer).Symbol = symbol3 as ISymbol;
                return(renderer);

            case esriTopologyRenderer.esriTRAreaExceptions:
                renderer = new SimpleRendererClass();
                symbol   = new SimpleFillSymbolClass
                {
                    Color = ColorManage.CreatColor(255, 255, 255)
                };
                symbol2 = new SimpleLineSymbolClass
                {
                    Width = 1.0,
                    Color = ColorManage.CreatColor(128, 255, 128)
                };
                symbol.Outline = symbol2;
                (renderer as ISimpleRenderer).Symbol = symbol as ISymbol;
                return(renderer);

            case esriTopologyRenderer.esriTRLineExceptions:
                renderer = new SimpleRendererClass();
                symbol2  = new SimpleLineSymbolClass
                {
                    Width = 1.0,
                    Color = ColorManage.CreatColor(128, 255, 128)
                };
                (renderer as ISimpleRenderer).Symbol = symbol2 as ISymbol;
                return(renderer);

            case esriTopologyRenderer.esriTRPointExceptions:
                renderer = new SimpleRendererClass();
                symbol3  = new SimpleMarkerSymbolClass
                {
                    Size  = 5.0,
                    Style = esriSimpleMarkerStyle.esriSMSSquare,
                    Color = ColorManage.CreatColor(128, 255, 128)
                };
                (renderer as ISimpleRenderer).Symbol = symbol3 as ISymbol;
                return(renderer);

            case esriTopologyRenderer.esriTRDirtyAreas:
                renderer = new SimpleRendererClass();
                symbol   = new SimpleFillSymbolClass();
                (symbol as ISimpleFillSymbol).Style = esriSimpleFillStyle.esriSFSForwardDiagonal;
                symbol.Color = ColorManage.CreatColor(128, 128, 255);
                symbol2      = new SimpleLineSymbolClass
                {
                    Width = 1.0,
                    Color = ColorManage.CreatColor(128, 128, 255)
                };
                symbol.Outline = symbol2;
                (renderer as ISimpleRenderer).Symbol = symbol as ISymbol;
                return(renderer);
            }
            return(renderer);
        }