/// <summary> /// Renders a feature layer using graduated symbols and natural breaks to draw quantities. /// ![cb-symbols.png](http://Esri.github.io/arcgis-pro-sdk/images/Renderers/cb-symbols.png "Graduated symbols with natural breaks renderer.") /// </summary> /// <returns> /// </returns> internal static Task CBRendererGraduatedSymbols() { //Check feature layer name //Code works with the USDemographics feature layer available with the ArcGIS Pro SDK Sample data var featureLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType <FeatureLayer>().FirstOrDefault(f => f.Name == "USDemographics"); if (featureLayer == null) { MessageBox.Show("This renderer works with the USDemographics feature layer available with the ArcGIS Pro SDK Sample data", "Data missing"); return(Task.FromResult(0)); } return(QueuedTask.Run(() => { GraduatedSymbolsRendererDefinition gsDef = new GraduatedSymbolsRendererDefinition() { ClassificationField = SDKHelpers.GetNumericField(featureLayer), //getting the first numeric field ClassificationMethod = ClassificationMethod.NaturalBreaks, MinimumSymbolSize = 4, MaximumSymbolSize = 50, BreakCount = 5, ColorRamp = SDKHelpers.GetColorRamp(), //getting a color ramp }; CIMClassBreaksRenderer renderer = (CIMClassBreaksRenderer)featureLayer.CreateRenderer(gsDef); featureLayer?.SetRenderer(renderer); })); }
/// <summary> /// Renders a feature layer using graduated symbols and natural breaks to draw quantities. /// ![cb-symbols.png](http://Esri.github.io/arcgis-pro-sdk/images/Renderers/cb-symbols.png "Graduated symbols with natural breaks renderer.") /// </summary> /// <param name="featureLayer"></param> /// <returns> /// </returns> internal static async Task CBRendererGraduatedSymbols(FeatureLayer featureLayer) { await QueuedTask.Run(() => { GraduatedSymbolsRendererDefinition gsDef = new GraduatedSymbolsRendererDefinition() { ClassificationField = SDKHelpers.GetNumericField(featureLayer), //getting the first numeric field ClassificationMethod = ClassificationMethod.NaturalBreaks, MinimumSymbolSize = 4, MaximumSymbolSize = 50, BreakCount = 5, ColorRamp = SDKHelpers.GetColorRamp(), //getting a color ramp }; CIMClassBreaksRenderer renderer = (CIMClassBreaksRenderer)featureLayer.CreateRenderer(gsDef); featureLayer?.SetRenderer(renderer); }); }
protected override async void OnClick() { //Get all styles in the project var styles = Project.Current.GetItems <StyleProjectItem>(); //Get a specific style in the project StyleProjectItem style = styles.First(x => x.Name == "CustomStyle"); var results = await style.SearchSymbolsAsync(StyleItemType.PointSymbol, "Tree"); var treeSymbolItem = results.FirstOrDefault(); if (treeSymbolItem == null) { return; } var layer = MapView.Active.Map.GetLayersAsFlattenedList().FirstOrDefault(l => l.Name == "Trees") as FeatureLayer; if (layer == null) { return; } Task t = QueuedTask.Run(() => { var symbol = treeSymbolItem.Symbol as CIMPointSymbol; symbol.SetSize(12.0); symbol.SetColor(ColorFactory.CreateRGBColor(24, 69, 59)); var renderer = new GraduatedSymbolsRendererDefinition() { BreakCount = 5, ClassificationField = "height", ClassificationMethod = ClassificationMethod.EqualInterval, SymbolTemplate = symbol.MakeSymbolReference(), MinimumSymbolSize = 6.0, MaximumSymbolSize = 20.0 }; //Update the feature layer renderer layer.SetRenderer(layer.CreateRenderer(renderer)); }); }