// Note: Run within QueuedTask.Run // Set the spatial filter geometry //Get the geometry from the selected features in the feature layer var spatialClauseGeom = spatialDefnLayer.GetFeatureOutline(MapView.Active, FeatureOutlineType.Selected); DefinitionQuery definitionQuery = new DefinitionQuery { WhereClause = whereClause, Name = $"{layerToQuery.Name}" }; //Setting the spatial filter to the Definition Query if (definitionQuery.CanSetFilterGeometry(spatialClauseGeom)) { definitionQuery.SetFilterGeometry(spatialClauseGeom); } layerToQuery.InsertDefinitionQuery(definitionQuery); layerToQuery.SetActiveDefinitionQuery(definitionQuery.Name);
var us_parks = map.GetLayersAsFlattenedList()
.OfType<FeatureLayer>().First(l => l.Name == "USNationalParks");
QueuedTask.Run(() =>
{
var def_query = new DefinitionQuery("CaliforniaParks",
"STATE_ABBR = 'CA'");
us_parks.InsertDefinitionQuery(def_query);
//Set it active
us_parks.SetActiveDefinitionQuery(def_query.Name);
//or....also - set it active when it is inserted
//us_parks.InsertDefinitionQuery(def_query, true);
});
var greatLakes = map.GetLayersAsFlattenedList()
.OfType<FeatureLayer>().First(l => l.Name == "Great Lakes");
var usa_states = map.GetLayersAsFlattenedList()
.OfType<FeatureLayer>().First(l => l.Name == "US_States");
QueuedTask.Run(() =>
{
//name must be unique
var def_query = new DefinitionQuery("GreatLakes",
"NAME in ('Huron','Michigan','Erie')");
//create a filter geometry - in this example we will use the outline geometry
//of all visible features from a us states layer...the filter geometry will be
//intersected with the layer feature geometry when added to the def query
var filter_geom = usa_states.GetFeatureOutline(mv, FeatureOutlineType.Visible);
//other options...
//var filter_geom = usa_states.GetFeatureOutline(mv, FeatureOutlineType.All);
//var filter_geom = usa_states.GetFeatureOutline(mv, FeatureOutlineType.Selected);
//Geometry must have a valid SR and be point, multi-point, line, or poly
if (def_query.CanSetFilterGeometry(filter_geom))
{
def_query.SetFilterGeometry(filter_geom);
}
//Apply the def query
greatLakes.InsertDefinitionQuery(def_query);
//Set it active
greatLakes.SetActiveDefinitionQuery(def_query.Name);
//or....also - set it active when it is inserted
//greatLakes.InsertDefinitionQuery(def_query, true);
});
Target Platforms: Windows 11, Windows 10