Wprowadzamy w Earth Engine
poziomy limitów niekomercyjnych , aby chronić współdzielone zasoby obliczeniowe i zapewnić niezawodną wydajność dla wszystkich. We wszystkich projektach niekomercyjnych trzeba będzie wybrać poziom limitu do
27 kwietnia 2026 r. . W przeciwnym razie zostanie im przydzielony poziom Społeczność. Limity poziomu zaczną obowiązywać we wszystkich projektach (niezależnie od daty wyboru poziomu) od
27 kwietnia 2026 r. Więcej informacji
Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
Prześlij opinię
ee.Filter.maxDifference
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Tworzy filtr jednoargumentowy lub dwuargumentowy, który zwraca wartość true, jeśli lewy i prawy operand (oba są liczbami) mieszczą się w określonej maksymalnej różnicy. Jeśli jest używana jako warunek złączenia, ta różnica liczbowa jest używana jako miara złączenia.
Wykorzystanie Zwroty ee.Filter.maxDifference(difference, leftField , rightValue , rightField , leftValue )Filtr
Argument Typ Szczegóły differenceLiczba zmiennoprzecinkowa Maksymalna różnica, dla której filtr zwróci wartość „prawda”. leftFieldCiąg tekstowy, domyślnie: null Selektor lewego argumentu. Nie należy go określać, jeśli określono wartość leftValue. rightValueObiekt, domyślnie: null Wartość prawego argumentu. Nie należy go określać, jeśli określono parametr rightField. rightFieldCiąg tekstowy, domyślnie: null Selektor prawego argumentu. Nie należy go określać, jeśli określono wartość rightValue. leftValueObiekt, domyślnie: null Wartość lewego argumentu. Nie należy go określać, jeśli określono parametr leftField.
Przykłady
Edytor kodu (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' ));
Konfiguracja Pythona
Informacje o interfejsie Python API i używaniu geemap do interaktywnego programowania znajdziesz na stronie
Środowisko 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' ))
Prześlij opinię
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0 , a fragmenty kodu są dostępne na licencji Apache 2.0 . Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers . Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-26 UTC.
Chcesz przekazać coś jeszcze?
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-26 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"]]