/// <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);
            }));
        }
Exemplo n.º 2
0
        /// <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);
            }));
        }