// 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