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); } }
// 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); } }
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); }
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); } }
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); }
// 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; } }
// 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; } }
// 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); } }
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); }
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); } }
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); }