AI-generated Key Takeaways
-
Filtering a
FeatureCollectionis similar to filtering anImageCollectionand can be done usingfilterDate(),filterBounds(), or the generalfilter()method with anee.Filter. -
The provided code examples demonstrate filtering a
FeatureCollectionfirst by geographical boundaries (continental US) and then by a numerical property (areasqkm) to select larger watersheds. -
The examples show how to load a
FeatureCollection, define a geometry for spatial filtering, and applyfilterBounds()andfilter()methods in both JavaScript and Python.
Filtering a FeatureCollection is analogous to filtering an
ImageCollection. (See the Filtering an
ImageCollection section). There are the featureCollection.filterDate(),
and featureCollection.filterBounds() convenience methods and the
featureCollection.filter() method for use with any applicable
ee.Filter. For example:
Code Editor (JavaScript)
// Load watersheds from a data table. var sheds = ee.FeatureCollection('USGS/WBD/2017/HUC06') // Convert 'areasqkm' property from string to number. .map(function(feature){ var num = ee.Number.parse(feature.get('areasqkm')); return feature.set('areasqkm', num); }); // Define a region roughly covering the continental US. var continentalUS = ee.Geometry.Rectangle(-127.18, 19.39, -62.75, 51.29); // Filter the table geographically: only watersheds in the continental US. var filtered = sheds.filterBounds(continentalUS); // Check the number of watersheds after filtering for location. print('Count after filter:', filtered.size()); // Filter to get only larger continental US watersheds. var largeSheds = filtered.filter(ee.Filter.gt('areasqkm', 25000)); // Check the number of watersheds after filtering for size and location. print('Count after filtering by size:', largeSheds.size());
import ee import geemap.core as geemap
Colab (Python)
# Load watersheds from a data table. sheds = ( ee.FeatureCollection('USGS/WBD/2017/HUC06') # Convert 'areasqkm' property from string to number. .map( lambda feature: feature.set( 'areasqkm', ee.Number.parse(feature.get('areasqkm')) ) ) ) # Define a region roughly covering the continental US. continental_us = ee.Geometry.Rectangle(-127.18, 19.39, -62.75, 51.29) # Filter the table geographically: only watersheds in the continental US. filtered = sheds.filterBounds(continental_us) # Check the number of watersheds after filtering for location. display('Count after filter:', filtered.size()) # Filter to get only larger continental US watersheds. large_sheds = filtered.filter(ee.Filter.gt('areasqkm', 25000)) # Check the number of watersheds after filtering for size and location. display('Count after filtering by size:', large_sheds.size())