private CIMRenderer CreateniqueValueRendererForUSStatesUsingDefinition(FeatureLayer featureLayer) { //All of these methods have to be called on the MCT if (Module1.OnUIThread) { throw new CalledOnWrongThreadException(); } // color ramp CIMICCColorSpace colorSpace = new CIMICCColorSpace() { URL = "Default RGB" }; CIMContinuousColorRamp continuousColorRamp = new CIMLinearContinuousColorRamp(); continuousColorRamp.FromColor = CIMColor.CreateRGBColor(255, 255, 100); // yellow continuousColorRamp.ToColor = CIMColor.CreateRGBColor(255, 0, 0); // red continuousColorRamp.ColorSpace = colorSpace; CIMRandomHSVColorRamp randomHSVColorRamp = new CIMRandomHSVColorRamp() { ColorSpace = colorSpace, MinAlpha = 100, MaxAlpha = 100, MinH = 0, MaxH = 360, MinS = 15, MaxS = 30, MinV = 99, MaxV = 100, Seed = 0 }; UniqueValueRendererDefinition uvRendererDef = new UniqueValueRendererDefinition() { ColorRamp = continuousColorRamp, // randomHSVColorRamp, UseDefaultSymbol = true, ValueFields = new List <string> { "TOTPOP2010" } }; //Configure the Renderer using the layer and the contents of the STATENAM //field return(featureLayer.CreateRenderer(uvRendererDef)); }
public void btnChangeRoomSymbology(object sender, EventArgs e) { var polygonSymbology = ((RadioButton)sender).Tag; QueuedTask.Run(() => { //Get the active map's definition - CIMMap. if (polygonSymbology.ToString() == "None") { var cimMap = MapView.Active.Map.GetDefinition(); //FeatureLayer a = MapView.Active.Map.Layers[1] as FeatureLayer; var lyr = MapView.Active.Map.GetLayersAsFlattenedList().OfType <FeatureLayer>().FirstOrDefault(s => s.ShapeType == esriGeometryType.esriGeometryPolygon); CIMSimpleRenderer renderer = lyr.GetRenderer() as CIMSimpleRenderer; CIMStroke outline = SymbolFactory.Instance.ConstructStroke( ColorFactory.Instance.GreyRGB, 0.5, SimpleLineStyle.Solid); CIMPolygonSymbol fillWithOutline = SymbolFactory.Instance.ConstructPolygonSymbol( ColorFactory.Instance.CreateRGBColor(255, 255, 255), SimpleFillStyle.Solid, outline); //Update the symbol of the current simple renderer renderer.Symbol = fillWithOutline.MakeSymbolReference(); //Update the feature layer renderer lyr.SetRenderer(renderer); } if (polygonSymbology.ToString() == "Multicolor1") { Debug.WriteLine("Multicolor1"); var cimMap = MapView.Active.Map.GetDefinition(); //FeatureLayer a = MapView.Active.Map.Layers[1] as FeatureLayer; var lyr = MapView.Active.Map.GetLayersAsFlattenedList().OfType <FeatureLayer>().FirstOrDefault(s => s.ShapeType == esriGeometryType.esriGeometryPolygon); CIMUniqueValueRenderer renderer = lyr.GetRenderer() as CIMUniqueValueRenderer; // color ramp CIMICCColorSpace colorSpace = new CIMICCColorSpace() { URL = "Default RGB" }; CIMRandomHSVColorRamp randomHSVColorRamp = new CIMRandomHSVColorRamp() { ColorSpace = colorSpace, MinAlpha = 100, MaxAlpha = 100, MinH = 0, MaxH = 360, MinS = 15, MaxS = 30, MinV = 99, MaxV = 100, Seed = 0 }; UniqueValueRendererDefinition uvr = new UniqueValueRendererDefinition() { ValueFields = new string[] { "RMAREA" }, //multiple fields in the array if needed. ColorRamp = randomHSVColorRamp //Specify color ramp }; var r = lyr.CreateRenderer(uvr); lyr.SetRenderer(r); } if (polygonSymbology.ToString() == "Beige") { var cimMap = MapView.Active.Map.GetDefinition(); //FeatureLayer a = MapView.Active.Map.Layers[1] as FeatureLayer; var lyr = MapView.Active.Map.GetLayersAsFlattenedList().OfType <FeatureLayer>().FirstOrDefault(s => s.ShapeType == esriGeometryType.esriGeometryPolygon); //CIMSimpleRenderer renderer = lyr.GetRenderer() as CIMSimpleRenderer; CIMSimpleRenderer renderer = new CIMSimpleRenderer() { }; CIMStroke outline = SymbolFactory.Instance.ConstructStroke( ColorFactory.Instance.GreyRGB, 0.5, SimpleLineStyle.Solid); CIMPolygonSymbol fillWithOutline = SymbolFactory.Instance.ConstructPolygonSymbol( ColorFactory.Instance.CreateRGBColor(255, 222, 173), SimpleFillStyle.Solid, outline); //Update the symbol of the current simple renderer renderer.Symbol = fillWithOutline.MakeSymbolReference(); //Update the feature layer renderer lyr.SetRenderer(renderer); /* * * unique value rendere * internal static Task UniqueValueRenderer(FeatureLayer featureLayer) * { * return QueuedTask.Run(() => * { * //construct unique value renderer definition * UniqueValueRendererDefinition uvr = new * UniqueValueRendererDefinition() * { * ValueFields = new string[] { SDKHelpers.GetDisplayField(featureLayer) }, //multiple fields in the array if needed. * ColorRamp = SDKHelpers.GetColorRamp(), //Specify color ramp * }; * * //Creates a "Renderer" * var cimRenderer = featureLayer.CreateRenderer(uvr); * * //Sets the renderer to the feature layer * featureLayer.SetRenderer(cimRenderer); * }); * * } * * * diagonal cross hatch example * public static Task<CIMPolygonSymbol> CreateDiagonalCrossPolygonAsync() * { * return QueuedTask.Run<CIMPolygonSymbol>(() => * { * var trans = 50.0;//semi transparent * CIMStroke outline = SymbolFactory.Instance.ConstructStroke(CIMColor.CreateRGBColor(0, 0, 0, trans), 2.0, SimpleLineStyle.Solid); * * //Stroke for the fill * var solid = SymbolFactory.Instance.ConstructStroke(CIMColor.CreateRGBColor(255, 0, 0, trans), 1.0, SimpleLineStyle.Solid); * * //Mimic cross hatch * CIMFill[] diagonalCross = * { * new CIMHatchFill() { * Enable = true, * Rotation = 45.0, * Separation = 5.0, * LineSymbol = new CIMLineSymbol() { SymbolLayers = new CIMSymbolLayer[1] { solid } } * }, * new CIMHatchFill() { * Enable = true, * Rotation = -45.0, * Separation = 5.0, * LineSymbol = new CIMLineSymbol() { SymbolLayers = new CIMSymbolLayer[1] { solid } } * } * }; * List<CIMSymbolLayer> symbolLayers = new List<CIMSymbolLayer>(); * symbolLayers.Add(outline); * foreach (var fill in diagonalCross) * symbolLayers.Add(fill); * return new CIMPolygonSymbol() { SymbolLayers = symbolLayers.ToArray() }; * }); * } */ } }); Debug.WriteLine(MapView.Active.Map.Layers[0].Name); // .SetLabelVisibility(true); Debug.WriteLine(MapView.Active.Map.Layers[1].Name); // .SetLabelVisibility(true); //Debug.WriteLine(MapView.Active.Map.SetLabelEngine }
private CIMRenderer CreateniqueValueRendererForUSHighwaysUsingDefinition(FeatureLayer featureLayer) { //All of these methods have to be called on the MCT if (Module1.OnUIThread) throw new CalledOnWrongThreadException(); // color ramp CIMICCColorSpace colorSpace = new CIMICCColorSpace() { URL = "Default RGB" }; CIMContinuousColorRamp continuousColorRamp = new CIMLinearContinuousColorRamp(); continuousColorRamp.FromColor = CIMColor.CreateRGBColor(0, 0, 255); // yellow continuousColorRamp.ToColor = CIMColor.CreateRGBColor(255, 0, 0); // red continuousColorRamp.ColorSpace = colorSpace; CIMRandomHSVColorRamp randomHSVColorRamp = new CIMRandomHSVColorRamp() { ColorSpace = colorSpace, MinAlpha = 100, MaxAlpha = 100, MinH = 0, MaxH = 360, MinS = 15, MaxS = 30, MinV = 99, MaxV = 100, Seed = 0 }; UniqueValueRendererDefinition uvRendererDef = new UniqueValueRendererDefinition() { ColorRamp = continuousColorRamp, //randomHSVColorRamp, UseDefaultSymbol = true, ValueFields = new string[] {"ROUTE_NUM"} }; //Configure the Renderer using the featureLayer and the contents of the STATENAM //field return featureLayer.CreateRenderer(uvRendererDef); }
public void btnChangeLineSymbology(object sender, EventArgs e) { var lineSymbology = ((RadioButton)sender).Tag; QueuedTask.Run(() => { //Get the active map's definition - CIMMap. if (lineSymbology.ToString() == "None") { var cimMap = MapView.Active.Map.GetDefinition(); //FeatureLayer a = MapView.Active.Map.Layers[1] as FeatureLayer; var lyr = MapView.Active.Map.GetLayersAsFlattenedList().OfType <FeatureLayer>().FirstOrDefault(s => s.ShapeType == esriGeometryType.esriGeometryPolyline); SimpleRendererDefinition renderer = new SimpleRendererDefinition() { SymbolTemplate = new CIMSymbolReference() { Symbol = SymbolFactory.Instance.ConstructLineSymbol( ColorFactory.Instance.WhiteRGB, 0.5, SimpleLineStyle.Null) } }; var r = lyr.CreateRenderer(renderer); lyr.SetRenderer(r); } if (lineSymbology.ToString() == "Gray") { var cimMap = MapView.Active.Map.GetDefinition(); //FeatureLayer a = MapView.Active.Map.Layers[1] as FeatureLayer; var lyr = MapView.Active.Map.GetLayersAsFlattenedList().OfType <FeatureLayer>().FirstOrDefault(s => s.ShapeType == esriGeometryType.esriGeometryPolyline); SimpleRendererDefinition renderer = new SimpleRendererDefinition() { SymbolTemplate = new CIMSymbolReference() { Symbol = SymbolFactory.Instance.ConstructLineSymbol( ColorFactory.Instance.GreyRGB, 0.5, SimpleLineStyle.Solid) } }; var r = lyr.CreateRenderer(renderer); lyr.SetRenderer(r); } if (lineSymbology.ToString() == "Multicolor") { var cimMap = MapView.Active.Map.GetDefinition(); //FeatureLayer a = MapView.Active.Map.Layers[1] as FeatureLayer; var lyr = MapView.Active.Map.GetLayersAsFlattenedList().OfType <FeatureLayer>().FirstOrDefault(s => s.ShapeType == esriGeometryType.esriGeometryPolyline); CIMUniqueValueRenderer renderer = lyr.GetRenderer() as CIMUniqueValueRenderer; // color ramp CIMICCColorSpace colorSpace = new CIMICCColorSpace() { URL = "Default RGB" }; CIMRandomHSVColorRamp randomHSVColorRamp = new CIMRandomHSVColorRamp() { ColorSpace = colorSpace, MinAlpha = 100, MaxAlpha = 100, MinH = 0, MaxH = 360, MinS = 15, MaxS = 30, MinV = 99, MaxV = 100, Seed = 0, }; UniqueValueRendererDefinition uvr = new UniqueValueRendererDefinition() { ValueFields = new string[] { "OBJECTID" }, //multiple fields in the array if needed. ColorRamp = randomHSVColorRamp //Specify color ramp }; CIMRenderer r = lyr.CreateRenderer(uvr); var t = r.ToXml(); Debug.WriteLine(t); lyr.SetRenderer(r); } }); }