Объявление : Все некоммерческие проекты, зарегистрированные для использования Earth Engine до
15 апреля 2025 года, должны
подтвердить право на некоммерческое использование для сохранения доступа. Если вы не подтвердите право до 26 сентября 2025 года, ваш доступ может быть приостановлен.
Отправить отзыв
ee.Filter.maxDifference
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Создаёт унарный или двоичный фильтр, который проходит проверку, если левый и правый операнды (оба числа) находятся в пределах заданной максимальной разницы. При использовании в качестве условия соединения эта числовая разница используется в качестве меры соединения.
Использование Возврат ee.Filter.maxDifference(difference, leftField , rightValue , rightField , leftValue )
Фильтр
Аргумент Тип Подробности difference
Плавать Максимальная разница, при которой фильтр вернет значение true. leftField
Строка, по умолчанию: null Селектор для левого операнда. Не следует указывать, если указано leftValue. rightValue
Объект, по умолчанию: null Значение правого операнда. Не следует указывать, если указано rightField. rightField
Строка, по умолчанию: null Селектор правого операнда. Не следует указывать, если указано rightValue. leftValue
Объект, по умолчанию: null Значение левого операнда. Не следует указывать, если указано leftField.
Примеры Редактор кода (JavaScript)
// Field site vegetation characteristics from projects in western USA.
var fc = 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.
var leftProperty = 'InvAnnForbCover_AH' ;
var rightProperty = '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.
var groupingProp = 'SiteID' ;
var sitesFc = fc . distinct ( groupingProp );
var joinFilter = ee . Filter . equals (
{ leftField : groupingProp , rightField : groupingProp });
var groupedPlots = ee . Join . saveAll ( 'site_plots' ). apply ( sitesFc , fc , joinFilter );
print ( 'List of plots in first site' , groupedPlots . first (). get ( 'site_plots' )); Настройка Python
Информацию об API Python и использовании geemap
для интерактивной разработки см. на странице «Среда Python» .
import ee
import geemap.core as geemap 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 % i s 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' ))
Отправить отзыв
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0" , а примеры кода – по лицензии Apache 2.0 . Подробнее об этом написано в правилах сайта . Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-24 UTC.
Хотите рассказать подробнее?
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-24 UTC."],[],["The `ee.Filter.maxDifference` function creates a filter for numeric comparisons. It checks if the difference between two numbers (operands) is within a specified maximum. Operands can be specified as feature properties (`leftField`, `rightField`) or constant values (`leftValue`, `rightValue`). The filter returns `true` if the numeric difference is within the defined limit. In joins, it serves as a numeric join measure. Example code demonstrates how to apply different filter comparisons and joins.\n"]]