/// <summary> /// Renders a point feature layer using a continuous color gradient to represent density of points. /// </summary> /// <remarks> /// ![Heat map renderer](http://Esri.github.io/arcgis-pro-sdk/images/Renderers/heat-map.png) /// </remarks> /// <returns> /// </returns> internal static Task HeatMapRenderersAsync() { //Check feature layer name //Code works with the U.S. Cities feature layer available with the ArcGIS Pro SDK Sample data var featureLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType <FeatureLayer>().FirstOrDefault(f => f.Name == "U.S. Cities"); if (featureLayer == null) { MessageBox.Show("This renderer works with the U.S. Cities feature layer available with the ArcGIS Pro SDK Sample data", "Data missing"); return(Task.FromResult(0)); } return(QueuedTask.Run(() => { //defining a heatmap renderer that uses values from Population field as the weights HeatMapRendererDefinition heatMapDef = new HeatMapRendererDefinition() { Radius = 20, WeightField = SDKHelpers.GetNumericField(featureLayer), ColorRamp = SDKHelpers.GetColorRamp(), RendereringQuality = 8, UpperLabel = "High Density", LowerLabel = "Low Density" }; CIMHeatMapRenderer heatMapRndr = (CIMHeatMapRenderer)featureLayer.CreateRenderer(heatMapDef); featureLayer.SetRenderer(heatMapRndr); })); }
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 colorRamps = await style.SearchColorRampsAsync("HeatMap"); var colorRampItem = colorRamps.FirstOrDefault(); if (colorRampItem == null) { return; } var layer = MapView.Active.Map.GetLayersAsFlattenedList().FirstOrDefault(l => l.Name == "Trees") as FeatureLayer; Task t = QueuedTask.Run(() => { var renderer = new CIMHeatMapRenderer() { ColorScheme = colorRampItem.ColorRamp, Field = "height", Radius = 25, RendererQuality = 5, Heading = "Height", MinLabel = "Sparse", MaxLabel = "Dense" }; //Update the feature layer renderer layer.SetRenderer(renderer); }); }
/// <summary> /// Renders a point feature layer using a continuous color gradient to represent density of points. /// </summary> /// <remarks> /// ![Heat map renderer](http://Esri.github.io/arcgis-pro-sdk/images/Renderers/heat-map.png) /// </remarks> /// <param name="featureLayer"></param> /// <returns> /// </returns> internal static Task HeatMapRenderersAsync(FeatureLayer featureLayer) { return(QueuedTask.Run(() => { //defining a heatmap renderer that uses values from Population field as the weights HeatMapRendererDefinition heatMapDef = new HeatMapRendererDefinition() { Radius = 20, WeightField = SDKHelpers.GetNumericField(featureLayer), ColorRamp = SDKHelpers.GetColorRamp(), RendereringQuality = 8, UpperLabel = "High Density", LowerLabel = "Low Density" }; CIMHeatMapRenderer heatMapRndr = (CIMHeatMapRenderer)featureLayer.CreateRenderer(heatMapDef); featureLayer.SetRenderer(heatMapRndr); })); }