Return features that intersect a geometry. This method must be called on the MCT. Use QueuedTask.Run.
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.
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;
});
}
}
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.