Пример #1
0
        private void button4_Click(object sender, System.EventArgs e)
        {
            FeatureLayer _lyr = this.mapControl1.Map.Layers["worldcap"] as FeatureLayer;

            if (_symbolStyleDlg == null)
            {
                _symbolStyleDlg = new SymbolStyleDlg();
            }
            if (_symbolStyleDlg.ShowDialog() == DialogResult.OK)
            {
                FeatureOverrideStyleModifier fsm = new FeatureOverrideStyleModifier(null, new MapInfo.Styles.CompositeStyle(_symbolStyleDlg.SymbolStyle));
                _lyr.Modifiers.Append(fsm);
                this.mapControl1.Map.Zoom = new MapInfo.Geometry.Distance(6250, MapInfo.Geometry.DistanceUnit.Mile);
            }
        }
Пример #2
0
        // Change Area style of all regions in the region layer
        private void button1_Click(object sender, System.EventArgs e)
        {
            //Get the layer we want
            FeatureLayer _lyr = this.mapControl1.Map.Layers["world"] as FeatureLayer;

            //Create and show the style dialog
            if (_areaStyleDlg == null)
            {
                _areaStyleDlg = new AreaStyleDlg();
            }
            // After getting style from dialog, create and apply the featureoverridestylemodifier object to layer
            if (_areaStyleDlg.ShowDialog() == DialogResult.OK)
            {
                FeatureOverrideStyleModifier fsm = new FeatureOverrideStyleModifier(null, new MapInfo.Styles.CompositeStyle(_areaStyleDlg.AreaStyle));
                _lyr.Modifiers.Append(fsm);
                this.mapControl1.Map.Zoom = new MapInfo.Geometry.Distance(25000, MapInfo.Geometry.DistanceUnit.Mile);
            }
        }
Пример #3
0
        private void SetUpRasterLayer()
        {
            FeatureLayer myRasterLayer = _map.Layers["florida"] as FeatureLayer;

            _rasterTable = myRasterLayer.Table;


            RasterStyle rs = new RasterStyle();

            rs.Contrast  = 33;
            rs.Grayscale = true;

            // this composite style will affect the raster as intended
            CompositeStyle csRaster           = new CompositeStyle(rs);
            FeatureOverrideStyleModifier fosm =
                new FeatureOverrideStyleModifier("Style Mod", csRaster);

            FeatureStyleModifiers modifiers = myRasterLayer.Modifiers;

            modifiers.Append(fosm);
        }
Пример #4
0
		private void StyleButton_Click(object sender, System.EventArgs e)
		{
			if (_mStyle == null)
			{
				MessageBox.Show("Please click GridInfo before clicking Style.");
				return;
			}

			GridStyle aStyle = _mStyle.Clone() as GridStyle;

			GridStyleForm f = new GridStyleForm();
			f.AlphaTextBox.Text = aStyle.Alpha.ToString();
			f.BrightnessBox.Text = aStyle.Brightness.ToString();
			f.ContrastBox.Text = aStyle.Contrast.ToString();
			f.GrayScale.CheckState = (aStyle.Grayscale) ? CheckState.Checked : CheckState.Unchecked;
			f.Transparency.CheckState = (aStyle.Transparent) ? CheckState.Checked : CheckState.Unchecked;
			f.DisplayHillshade.CheckState = (aStyle.DisplayHillshade) ? CheckState.Checked : CheckState.Unchecked;
			f.TransparentColor.BackColor = aStyle.TransparentColor;
			if (f.ShowDialog() == DialogResult.OK)
			{
				aStyle.Alpha = int.Parse(f.AlphaTextBox.Text);
				aStyle.Brightness = int.Parse(f.BrightnessBox.Text);
				aStyle.Contrast = int.Parse(f.ContrastBox.Text);
				aStyle.Grayscale = f.GrayScale.CheckState == CheckState.Checked ? true : false;
				aStyle.Transparent = (f.Transparency.CheckState == CheckState.Checked) ? true : false;
				aStyle.DisplayHillshade = (f.DisplayHillshade.CheckState == CheckState.Checked) ? true : false;
				aStyle.TransparentColor = f.TransparentColor.BackColor;

				// this composite style will affect the raster as intended 
				CompositeStyle csRaster = new CompositeStyle(aStyle); 
				FeatureOverrideStyleModifier fosm = 
					new FeatureOverrideStyleModifier("Style Mod", csRaster); 

				FeatureStyleModifiers modifiers = _lyr.Modifiers; 
				modifiers.Clear();
				modifiers.Append(fosm);			
			}
		}
Пример #5
0
        private void button5_Click(object sender, System.EventArgs e)
        {
            // Get the layer we want
            FeatureLayer _lyr = this.mapControl1.Map.Layers["worldcap"] as FeatureLayer;

            //Create a sparse point style
            MapInfo.Styles.SimpleVectorPointStyle vs = new SimpleVectorPointStyle();

            //Just change the color and code and attributes flag to indicate that
            vs.Code      = 55;
            vs.PointSize = 25;

            vs.Color = System.Drawing.Color.Red;
            // vs.Attributes = StyleAttributes.PointAttributes.Color | StyleAttributes.PointAttributes.VectorCode;



            // And apply to the layer
            FeatureOverrideStyleModifier fsm = new FeatureOverrideStyleModifier(null, new MapInfo.Styles.CompositeStyle(vs));

            _lyr.Modifiers.Append(fsm);
            this.mapControl1.Map.Zoom = new MapInfo.Geometry.Distance(6250, MapInfo.Geometry.DistanceUnit.Mile);
        }
Пример #6
0
        // Disable other LabelLayers if we demo a new LabelLayer with theme or modifier sample.
        // so User could see theme/modifier label layer clearly.
//		public static void HandleLabelLayerVisibleStatus(Map map)
//		{
//			if(map == null) return;
//			for(int index=0; index < map.Layers.Count; index++)
//			{
//				IMapLayer lyr = map.Layers[index];
//				if(lyr is LabelLayer)
//				{
//					LabelLayer ll = lyr as LabelLayer;
//					if(map.Layers[SampleConstants.NewLabelLayerAlias] != null
//						&& ll.Alias != SampleConstants.NewLabelLayerAlias)
//					{
//						ll.Enabled = false;
//					}
//					else
//					{
//						ll.Enabled = true;
//					}
//				}
//			}
//		}

        // Create all MapXtreme.Net themes and modifiers for the bound data
        // and add them into the corresponding Map object.
        private void CreateThemeOrModifier(string themeName)
        {
            Map myMap = GetMapObj();

            if (myMap == null)
            {
                return;
            }
            // Clean up all temp themes or modifiers from the Map object.
            this.CleanUp(myMap);

            FeatureLayer          fLyr      = myMap.Layers[SampleConstants.ThemeLayerAlias] as FeatureLayer;
            ThemeAndModifierTypes themeType = ThemesAndModifiers.GetThemeAndModifierTypesByName(themeName);

            string alias = ConstructThemeAlias(themeType);

            switch (themeType)
            {
            case ThemeAndModifierTypes.RangedTheme:
                RangedTheme rt = new RangedTheme(fLyr, GetThemeOrModifierExpression(), alias, 5, MapInfo.Mapping.Thematics.DistributionMethod.EqualCountPerRange);
                fLyr.Modifiers.Append(rt);
                break;

            case ThemeAndModifierTypes.DotDensityTheme:
                DotDensityTheme ddt = new DotDensityTheme(fLyr, GetThemeOrModifierExpression(), alias, Color.Purple, DotDensitySize.Large);
                ddt.ValuePerDot = 2000000d;
                fLyr.Modifiers.Append(ddt);
                break;

            case ThemeAndModifierTypes.IndividualValueTheme:
                IndividualValueTheme ivt = new IndividualValueTheme(fLyr, GetThemeOrModifierExpression(), alias);
                fLyr.Modifiers.Append(ivt);
                break;

            case ThemeAndModifierTypes.PieTheme:
                PieTheme         pt    = new PieTheme(myMap, fLyr.Table, GetThemeOrModifierExpressions());
                ObjectThemeLayer otlPt = new ObjectThemeLayer("PieTheme", alias, pt);
                GetTheGroupLayer().Insert(0, otlPt);
                break;

            case ThemeAndModifierTypes.BarTheme:
                BarTheme bt = new BarTheme(myMap, fLyr.Table, GetThemeOrModifierExpressions());
                bt.DataValueAtSize = 10000000;
                bt.Size            = new MapInfo.Engine.PaperSize(0.1, 0.1, MapInfo.Geometry.PaperUnit.Inch);
                bt.Width           = new MapInfo.Engine.PaperSize(0.1, MapInfo.Geometry.PaperUnit.Inch);
                ObjectThemeLayer otlBt = new ObjectThemeLayer("BarTheme", alias, bt);

                GetTheGroupLayer().Insert(0, otlBt);
                break;

            case ThemeAndModifierTypes.GraduatedSymbolTheme:
                GraduatedSymbolTheme gst    = new GraduatedSymbolTheme(fLyr.Table, GetThemeOrModifierExpression());
                ObjectThemeLayer     otlGst = new ObjectThemeLayer("GraduatedSymbolTheme", alias, gst);
                GetTheGroupLayer().Insert(0, otlGst);
                break;

            case ThemeAndModifierTypes.FeatureOverrideStyleModifier:
                FeatureOverrideStyleModifier fosm = new FeatureOverrideStyleModifier("OverrideTheme", alias);

                SimpleInterior fs = new SimpleInterior((SimpleInterior.MaxFillPattern - SimpleInterior.MinFillPattern) / 2, Color.FromArgb(10, 23, 90), Color.FromArgb(33, 35, 35), false);
                fs.SetApplyAll();
                SimpleLineStyle lineStyle = new SimpleLineStyle(new LineWidth(2, LineWidthUnit.Point), (SimpleLineStyle.MaxLinePattern - SimpleLineStyle.MinLinePattern) / 2);
                lineStyle.Color       = Color.FromArgb(111, 150, 230);
                lineStyle.Interleaved = false;
                lineStyle.SetApplyAll();

                fosm.Style.AreaStyle = new AreaStyle(lineStyle, fs);
                fLyr.Modifiers.Append(fosm);
                break;

            case ThemeAndModifierTypes.Label_IndividualValueLabelTheme:
                IndividualValueLabelTheme ivlt = new IndividualValueLabelTheme(fLyr.Table, GetThemeOrModifierExpression(), alias);
                CreateLabelLayer(myMap, fLyr.Table, GetThemeOrModifierExpression()).Sources[0].Modifiers.Append(ivlt);
                break;

            case ThemeAndModifierTypes.Label_RangedLabelTheme:
                RangedLabelTheme rlt = new RangedLabelTheme(fLyr.Table, GetThemeOrModifierExpression(), alias, 5, DistributionMethod.EqualCountPerRange);
                CreateLabelLayer(myMap, fLyr.Table, GetThemeOrModifierExpression()).Sources[0].Modifiers.Append(rlt);
                break;

            case ThemeAndModifierTypes.Label_OverrideLabelModifier:
                OverrideLabelModifier olm  = new OverrideLabelModifier(alias, "OverrideLabelModifier");
                MapInfo.Styles.Font   font = new MapInfo.Styles.Font("Arial", 24, Color.Red, Color.Yellow, FontFaceStyle.Italic,
                                                                     FontWeight.Bold, TextEffect.Halo, TextDecoration.All, TextCase.AllCaps, true, true);

                font.Attributes = StyleAttributes.FontAttributes.All;

                olm.Properties.Style   = new TextStyle(font);
                olm.Properties.Caption = GetThemeOrModifierExpression();
                CreateLabelLayer(myMap, fLyr.Table, GetThemeOrModifierExpression()).Sources[0].Modifiers.Append(olm);
                break;

            default:
                break;
            }
        }
Пример #7
0
        // Create all MapXtreme.Net themes and modifiers for the bound data
        // and add them into the corresponding Map object.
        private void CreateThemeOrModifier(string themeName)
        {
            Map myMap = GetMapObj();
            if(myMap == null)return;
            // Clean up all temp themes or modifiers from the Map object.
            this.CleanUp(myMap);

            FeatureLayer fLyr = myMap.Layers[SampleConstants.ThemeLayerAlias] as FeatureLayer;
            ThemeAndModifierTypes themeType = ThemesAndModifiers.GetThemeAndModifierTypesByName(themeName);

            string alias = ConstructThemeAlias(themeType);
            switch(themeType)
            {
                case ThemeAndModifierTypes.RangedTheme:
                    RangedTheme rt = new RangedTheme(fLyr, GetThemeOrModifierExpression(), alias, 5, MapInfo.Mapping.Thematics.DistributionMethod.EqualCountPerRange);
                    fLyr.Modifiers.Append(rt);
                    break;
                case ThemeAndModifierTypes.DotDensityTheme:
                    DotDensityTheme ddt = new DotDensityTheme(fLyr, GetThemeOrModifierExpression(), alias, Color.Purple, DotDensitySize.Large);
                    ddt.ValuePerDot = 2000000d;
                    fLyr.Modifiers.Append(ddt);
                    break;
                case ThemeAndModifierTypes.IndividualValueTheme:
                    IndividualValueTheme ivt = new IndividualValueTheme(fLyr, GetThemeOrModifierExpression(), alias);
                    fLyr.Modifiers.Append(ivt);
                    break;
                case ThemeAndModifierTypes.PieTheme:
                    PieTheme pt = new PieTheme(myMap, fLyr.Table, GetThemeOrModifierExpressions());
                    ObjectThemeLayer otlPt = new ObjectThemeLayer("PieTheme", alias, pt);
                    GetTheGroupLayer().Insert(0, otlPt);
                    break;
                case ThemeAndModifierTypes.BarTheme:
                    BarTheme bt = new BarTheme(myMap, fLyr.Table, GetThemeOrModifierExpressions());
                    bt.DataValueAtSize = 10000000;
                    bt.Size = new MapInfo.Engine.PaperSize(0.1, 0.1, MapInfo.Geometry.PaperUnit.Inch);
                    bt.Width = new MapInfo.Engine.PaperSize(0.1, MapInfo.Geometry.PaperUnit.Inch);
                    ObjectThemeLayer otlBt = new ObjectThemeLayer("BarTheme", alias, bt);
                    GetTheGroupLayer().Insert(0, otlBt);
                    break;
                case ThemeAndModifierTypes.GraduatedSymbolTheme:
                    GraduatedSymbolTheme gst = new GraduatedSymbolTheme(fLyr.Table, GetThemeOrModifierExpression());
                    ObjectThemeLayer otlGst = new ObjectThemeLayer("GraduatedSymbolTheme", alias, gst);
                    GetTheGroupLayer().Insert(0, otlGst);
                    break;
                case ThemeAndModifierTypes.FeatureOverrideStyleModifier:
                    FeatureOverrideStyleModifier fosm = new FeatureOverrideStyleModifier("OverrideTheme", alias);

                    SimpleInterior fs = new SimpleInterior((SimpleInterior.MaxFillPattern - SimpleInterior.MinFillPattern) / 2, Color.FromArgb(10, 23, 90), Color.FromArgb(33, 35, 35), false);
                    fs.SetApplyAll();
                    SimpleLineStyle lineStyle = new SimpleLineStyle(new LineWidth(2, LineWidthUnit.Point), (SimpleLineStyle.MaxLinePattern - SimpleLineStyle.MinLinePattern) /2);
                    lineStyle.Color = Color.FromArgb(111, 150, 230);
                    lineStyle.Interleaved = false;
                    lineStyle.SetApplyAll();

                    fosm.Style.AreaStyle = new AreaStyle(lineStyle, fs);
                    fLyr.Modifiers.Append(fosm);
                    break;
                case ThemeAndModifierTypes.Label_IndividualValueLabelTheme:
                    IndividualValueLabelTheme ivlt = new IndividualValueLabelTheme(fLyr.Table, GetThemeOrModifierExpression(), alias);
                    CreateLabelLayer(myMap, fLyr.Table, GetThemeOrModifierExpression()).Sources[0].Modifiers.Append(ivlt);
                    break;
                case ThemeAndModifierTypes.Label_RangedLabelTheme:
                    RangedLabelTheme rlt = new RangedLabelTheme(fLyr.Table, GetThemeOrModifierExpression(), alias, 5, DistributionMethod.EqualCountPerRange);
                    CreateLabelLayer(myMap, fLyr.Table, GetThemeOrModifierExpression()).Sources[0].Modifiers.Append(rlt);
                    break;
                case ThemeAndModifierTypes.Label_OverrideLabelModifier:
                    OverrideLabelModifier olm = new OverrideLabelModifier(alias, "OverrideLabelModifier");
                    MapInfo.Styles.Font font = new MapInfo.Styles.Font("Arial", 24, Color.Red, Color.Yellow, FontFaceStyle.Italic,
                        FontWeight.Bold, TextEffect.Halo, TextDecoration.All, TextCase.AllCaps, true, true);

                    font.Attributes = StyleAttributes.FontAttributes.All;

                    olm.Properties.Style = new TextStyle(font);
                    olm.Properties.Caption = GetThemeOrModifierExpression();
                    CreateLabelLayer(myMap, fLyr.Table, GetThemeOrModifierExpression()).Sources[0].Modifiers.Append(olm);
                    break;
                default:
                    break;
            }
        }
Пример #8
0
 // Change Area style of all regions in the region layer
 private void button1_Click(object sender, System.EventArgs e)
 {
     //Get the layer we want
     FeatureLayer _lyr = this.mapControl1.Map.Layers["world"] as FeatureLayer;
     //Create and show the style dialog
     if (_areaStyleDlg == null) {
         _areaStyleDlg = new AreaStyleDlg();
     }
     // After getting style from dialog, create and apply the featureoverridestylemodifier object to layer
     if (_areaStyleDlg.ShowDialog() == DialogResult.OK) {
         FeatureOverrideStyleModifier fsm = new FeatureOverrideStyleModifier(null, new MapInfo.Styles.CompositeStyle(_areaStyleDlg.AreaStyle));
         _lyr.Modifiers.Append(fsm);
         this.mapControl1.Map.Zoom = new MapInfo.Geometry.Distance(25000, MapInfo.Geometry.DistanceUnit.Mile);
     }
 }
Пример #9
0
        private void button5_Click(object sender, System.EventArgs e)
        {
            // Get the layer we want
            FeatureLayer _lyr = this.mapControl1.Map.Layers["worldcap"] as FeatureLayer;

            //Create a sparse point style
            MapInfo.Styles.SimpleVectorPointStyle vs = new SimpleVectorPointStyle();

            //Just change the color and code and attributes flag to indicate that
            vs.Code = 55;
            vs.PointSize = 25;

            vs.Color = System.Drawing.Color.Red;
            // vs.Attributes = StyleAttributes.PointAttributes.Color | StyleAttributes.PointAttributes.VectorCode;

            // And apply to the layer
            FeatureOverrideStyleModifier fsm = new FeatureOverrideStyleModifier(null, new MapInfo.Styles.CompositeStyle(vs));
            _lyr.Modifiers.Append(fsm);
            this.mapControl1.Map.Zoom = new MapInfo.Geometry.Distance(6250, MapInfo.Geometry.DistanceUnit.Mile);
        }
Пример #10
0
 private void button4_Click(object sender, System.EventArgs e)
 {
     FeatureLayer _lyr = this.mapControl1.Map.Layers["worldcap"] as FeatureLayer;
     if (_symbolStyleDlg == null) {
         _symbolStyleDlg = new SymbolStyleDlg();
     }
     if (_symbolStyleDlg.ShowDialog() == DialogResult.OK) {
         FeatureOverrideStyleModifier fsm = new FeatureOverrideStyleModifier(null, new MapInfo.Styles.CompositeStyle(_symbolStyleDlg.SymbolStyle));
         _lyr.Modifiers.Append(fsm);
         this.mapControl1.Map.Zoom = new MapInfo.Geometry.Distance(6250, MapInfo.Geometry.DistanceUnit.Mile);
     }
 }
Пример #11
0
        private void SetUpRasterLayer()
        {
            FeatureLayer myRasterLayer = _map.Layers["florida"] as FeatureLayer;
            _rasterTable = myRasterLayer.Table;

            RasterStyle rs = new RasterStyle();
            rs.Contrast = 33;
            rs.Grayscale = true;

            // this composite style will affect the raster as intended
            CompositeStyle csRaster = new CompositeStyle(rs);
            FeatureOverrideStyleModifier fosm =
                new FeatureOverrideStyleModifier("Style Mod", csRaster);

            FeatureStyleModifiers modifiers = myRasterLayer.Modifiers;
            modifiers.Append(fosm);
        }