ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / MapView Class / GetFeatures Method
The geometry used to identify features that intersect it.
Indicates whether only features that visibly intersect the geometry should be returned.
This parameter only applies to 2D. Indicates whether only features that are completely within the geometry should be returned.
Example Version

GetFeatures Method
Return features that intersect a geometry. This method must be called on the MCT. Use QueuedTask.Run.
Syntax

Parameters

geometry
The geometry used to identify features that intersect it.
visualIntersect
Indicates whether only features that visibly intersect the geometry should be returned.
whollyWithin
This parameter only applies to 2D. Indicates whether only features that are completely within the geometry should be returned.

Return Value

The collection of layers and object ids that intersect the geometry.
Exceptions
ExceptionDescription
This method or property must be called within the lambda passed to QueuedTask.Run.
3D views only support selecting features interactively using geometry in screen coordinates relative to the top-left corner of the view
Example
Create a tool to identify the features that intersect the sketch geometry
internal class CustomIdentify : MapTool
{
  public CustomIdentify()
  {
    IsSketchTool = true;
    SketchType = SketchGeometryType.Rectangle;

    //To perform a interactive selection or identify in 3D or 2D, sketch must be created in screen coordinates.
    SketchOutputMode = SketchOutputMode.Screen;
  }

  protected override Task<bool> OnSketchCompleteAsync(Geometry geometry)
  {
    return QueuedTask.Run(() =>
    {
      var mapView = MapView.Active;
      if (mapView == null)
        return true;

      //Get all the features that intersect the sketch geometry and flash them in the view. 
      var results = mapView.GetFeatures(geometry);
      mapView.FlashFeature(results);

      var debug = String.Join("\n", results.ToDictionary()
                    .Select(kvp => String.Format("{0}: {1}", kvp.Key.Name, kvp.Value.Count())));
      System.Diagnostics.Debug.WriteLine(debug);
      return true;
    });
  }
}
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also