Announcement: All noncommercial projects registered to use Earth Engine beforeApril 15, 2025 mustverify noncommercial eligibility to maintain access. If you have not verified by September 26, 2025, your access may be on hold.

ee.Filter.lessThanOrEquals

  • Theee.Filter.lessThanOrEquals function creates a filter that passes if the left operand is less than or equal to the right operand.

  • This filter can be used with either field selectors or constant values for its operands.

  • The function can be used to filter collections based on the comparison of two properties or a property and a constant value.

Creates a unary or binary filter that passes unless the left operand is greater than the right operand.

UsageReturns
ee.Filter.lessThanOrEquals(leftField,rightValue,rightField,leftValue)Filter
ArgumentTypeDetails
leftFieldString, default: nullA selector for the left operand. Should not be specified if leftValue is specified.
rightValueObject, default: nullThe value of the right operand. Should not be specified if rightField is specified.
rightFieldString, default: nullA selector for the right operand. Should not be specified if rightValue is specified.
leftValueObject, default: nullThe value of the left operand. Should not be specified if leftField is specified.

Examples

Code Editor (JavaScript)

// Field site vegetation characteristics from projects in western USA.varfc=ee.FeatureCollection('BLM/AIM/v1/TerrADat/TerrestrialAIM').filter('ProjectName == "Colorado NWDO Kremmling FO 2016"');// Display field plots on the map.Map.setCenter(-107.792,39.871,7);Map.addLayer(fc);// Compare the per-feature values of two properties and filter the collection// based on the results of various relational expressions. The two properties// to compare are invasive and non-invasive annual forb cover at each plot.varleftProperty='InvAnnForbCover_AH';varrightProperty='NonInvAnnForbCover_AH';print('Plots where invasive forb cover is…');print('…EQUAL to non-invasive cover',fc.filter(ee.Filter.equals({leftField:leftProperty,rightField:rightProperty})));print('…NOT EQUAL to non-invasive cover',fc.filter(ee.Filter.notEquals({leftField:leftProperty,rightField:rightProperty})));print('…LESS THAN non-invasive cover',fc.filter(ee.Filter.lessThan({leftField:leftProperty,rightField:rightProperty})));print('…LESS THAN OR EQUAL to non-invasive cover',fc.filter(ee.Filter.lessThanOrEquals({leftField:leftProperty,rightField:rightProperty})));print('…GREATER THAN non-invasive cover',fc.filter(ee.Filter.greaterThan({leftField:leftProperty,rightField:rightProperty})));print('…GREATER THAN OR EQUAL to non-invasive cover',fc.filter(ee.Filter.greaterThanOrEquals({leftField:leftProperty,rightField:rightProperty})));print('…is not greater than 10 percent different than non-invasive cover',fc.filter(ee.Filter.maxDifference({difference:10,leftField:leftProperty,rightField:rightProperty})));// Instead of comparing values of two feature properties using the leftField// and rightField parameters, you can compare a property value (leftProperty)// against a constant value (rightValue).print('Plots where invasive forb cover is greater than 20%',fc.filter(ee.Filter.greaterThan({leftField:leftProperty,rightValue:20})));// You can also swap the operands to assign the constant to the left side of// the relational expression (leftValue) and the feature property on the right// (rightField). Here, we get the complement of the previous example.print('Plots where 20% is greater than invasive forb cover.',fc.filter(ee.Filter.greaterThan({leftValue:20,rightField:leftProperty})));// Binary filters are useful in joins. For example, group all same-site plots// together using a saveAll join.vargroupingProp='SiteID';varsitesFc=fc.distinct(groupingProp);varjoinFilter=ee.Filter.equals({leftField:groupingProp,rightField:groupingProp});vargroupedPlots=ee.Join.saveAll('site_plots').apply(sitesFc,fc,joinFilter);print('List of plots in first site',groupedPlots.first().get('site_plots'));

Python setup

See the Python Environment page for information on the Python API and usinggeemap for interactive development.

importeeimportgeemap.coreasgeemap

Colab (Python)

# Field site vegetation characteristics from projects in western USA.fc=ee.FeatureCollection('BLM/AIM/v1/TerrADat/TerrestrialAIM').filter('ProjectName == "Colorado NWDO Kremmling FO 2016"')# Display field plots on the map.m=geemap.Map()m.set_center(-107.792,39.871,7)m.add_layer(fc)display(m)# Compare the per-feature values of two properties and filter the collection# based on the results of various relational expressions. The two properties# to compare are invasive and non-invasive annual forb cover at each plot.left_property='InvAnnForbCover_AH'right_property='NonInvAnnForbCover_AH'display('Plots where invasive forb cover is…')display('…EQUAL to non-invasive cover',fc.filter(ee.Filter.equals(leftField=left_property,rightField=right_property)),)display('…NOT EQUAL to non-invasive cover',fc.filter(ee.Filter.notEquals(leftField=left_property,rightField=right_property)),)display('…LESS THAN non-invasive cover',fc.filter(ee.Filter.lessThan(leftField=left_property,rightField=right_property)),)display('…LESS THAN OR EQUAL to non-invasive cover',fc.filter(ee.Filter.lessThanOrEquals(leftField=left_property,rightField=right_property)),)display('…GREATER THAN non-invasive cover',fc.filter(ee.Filter.greaterThan(leftField=left_property,rightField=right_property)),)display('…GREATER THAN OR EQUAL to non-invasive cover',fc.filter(ee.Filter.greaterThanOrEquals(leftField=left_property,rightField=right_property)),)display('…is not greater than 10 percent different than non-invasive cover',fc.filter(ee.Filter.maxDifference(difference=10,leftField=left_property,rightField=right_property)),)# Instead of comparing values of two feature properties using the leftField# and rightField parameters, you can compare a property value (left_property)# against a constant value (rightValue).display('Plots where invasive forb cover is greater than 20%',fc.filter(ee.Filter.greaterThan(leftField=left_property,rightValue=20)),)# You can also swap the operands to assign the constant to the left side of# the relational expression (leftValue) and the feature property on the right# (rightField). Here, we get the complement of the previous example.display('Plots where 20% is greater than invasive forb cover.',fc.filter(ee.Filter.greaterThan(leftValue=20,rightField=left_property)),)# Binary filters are useful in joins. For example, group all same-site plots# together using a saveAll join.grouping_prop='SiteID'sites_fc=fc.distinct(grouping_prop)join_filter=ee.Filter.equals(leftField=grouping_prop,rightField=grouping_prop)grouped_plots=ee.Join.saveAll('site_plots').apply(sites_fc,fc,join_filter)display('List of plots in first site',grouped_plots.first().get('site_plots'))

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2023-10-06 UTC.