Ogłoszenie: wszystkie projekty niekomercyjne zarejestrowane do korzystania z Earth Engine przed
15 kwietnia 2025 r. muszą
potwierdzić spełnianie warunków użycia niekomercyjnego , aby zachować dostęp. Jeśli nie przejdziesz weryfikacji do 26 września 2025 r., Twój dostęp może zostać wstrzymany.
Prześlij opinię
ee.FeatureCollection.iterate
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Stosuje funkcję dostarczoną przez użytkownika do każdego elementu kolekcji. Funkcja dostarczona przez użytkownika otrzymuje 2 argumenty: bieżący element i wartość zwróconą przez poprzednie wywołanie funkcji iterate() lub pierwszy argument w przypadku pierwszej iteracji. Wynikiem jest wartość zwrócona przez ostatnie wywołanie funkcji dostarczonej przez użytkownika.
Zwraca wynik wywołania Collection.iterate().
Wykorzystanie Zwroty FeatureCollection. iterate (algorithm, first )
ComputedObject
Argument Typ Szczegóły to: collection
Kolekcja Instancja kolekcji. algorithm
Funkcja Funkcja, która ma być zastosowana do każdego elementu. Musi przyjmować 2 argumenty: element kolekcji i wartość z poprzedniej iteracji. first
Obiekt (opcjonalnie) Stan początkowy.
Przykłady
Edytor kodu (JavaScript)
/**
* CAUTION: ee.FeatureCollection.iterate can be less efficient than alternative
* solutions implemented using ee.FeatureCollection.map or by converting feature
* properties to an ee.Array object and using ee.Array.slice and
* ee.Array.arrayAccum methods. Avoid ee.FeatureCollection.iterate if possible.
*/
// Monthly precipitation accumulation for 2020.
var climate = ee . ImageCollection ( 'IDAHO_EPSCOR/TERRACLIMATE' )
. filterDate ( '2020-01-01' , '2021-01-01' )
. select ( 'pr' );
// Region of interest: north central New Mexico, USA.
var roi = ee . Geometry . BBox ( - 107.19 , 35.27 , - 104.56 , 36.83 );
// A FeatureCollection of mean monthly precipitation accumulation for the
// region of interest.
var meanPrecipTs = climate . map ( function ( image ) {
var meanPrecip = image . reduceRegion (
{ reducer : ee . Reducer . mean (), geometry : roi , scale : 5000 });
return ee . Feature ( roi , meanPrecip )
. set ( 'system:time_start' , image . get ( 'system:time_start' ));
});
// A cumulative sum function to apply to each feature in the
// precipitation FeatureCollection. The first input is the current feature and
// the second is a list of features that accumulates at each step of the
// iteration. The function fetches the last feature in the feature list, gets
// the cumulative precipitation sum value from it, and adds it to the current
// feature's precipitation value. The new cumulative precipitation sum is set
// as a property of the current feature, which is appended to the feature list
// that is passed onto the next step of the iteration.
var cumsum = function ( currentFeature , featureList ) {
featureList = ee . List ( featureList );
var previousSum = ee . Feature ( featureList . get ( - 1 )). getNumber ( 'pr_cumsum' );
var currentVal = ee . Feature ( currentFeature ). getNumber ( 'pr' );
var currentSum = previousSum . add ( currentVal );
return featureList . add ( currentFeature . set ( 'pr_cumsum' , currentSum ));
};
// Use "iterate" to cumulatively sum monthly precipitation over the year with
// the above defined "cumsum" function. Note that the feature list used in the
// "cumsum" function is initialized as the "first" variable. It includes a
// temporary feature with the "pr_cumsum" property set to 0; this feature is
// filtered out of the final FeatureCollection.
var first = ee . List ([ ee . Feature ( null , { pr_cumsum : 0 , first : true })]);
var precipCumSum =
ee . FeatureCollection ( ee . List ( meanPrecipTs . iterate ( cumsum , first )))
. filter ( ee . Filter . notNull ([ 'pr' ]));
// Inspect the outputs.
print ( 'Note cumulative precipitation ("pr_cumsum") property' ,
precipCumSum );
print ( ui . Chart . feature . byFeature (
precipCumSum , 'system:time_start' , [ 'pr' , 'pr_cumsum' ]));
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)
import altair as alt
# CAUTION: ee.FeatureCollection.iterate can be less efficient than alternative
# solutions implemented using ee.FeatureCollection.map or by converting feature
# properties to an ee.Array object and using ee.Array.slice and
# ee.Array.arrayAccum methods. Avoid ee.FeatureCollection.iterate if possible.
# Monthly precipitation accumulation for 2020.
climate = (
ee . ImageCollection ( 'IDAHO_EPSCOR/TERRACLIMATE' )
. filterDate ( '2020-01-01' , '2021-01-01' )
. select ( 'pr' )
)
# Region of interest: north central New Mexico, USA.
roi = ee . Geometry . BBox ( - 107.19 , 35.27 , - 104.56 , 36.83 )
# A FeatureCollection of mean monthly precipitation accumulation for the
# region of interest.
def mean_precip_ts_fun ( image ):
mean_precip = image . reduceRegion (
reducer = ee . Reducer . mean (), geometry = roi , scale = 5000
)
return ee . Feature ( roi , mean_precip ) . set (
'system:time_start' , image . get ( 'system:time_start' )
)
mean_precip_ts = climate . map ( mean_precip_ts_fun )
# A cumulative sum function to apply to each feature in the
# precipitation FeatureCollection. The first input is the current feature and
# the second is a list of features that accumulates at each step of the
# iteration. The function fetches the last feature in the feature list, gets
# the cumulative precipitation sum value from it, and adds it to the current
# feature's precipitation value. The new cumulative precipitation sum is set
# as a property of the current feature, which is appended to the feature list
# that is passed onto the next step of the iteration.
def cumsum ( current_feature , feature_list ):
feature_list = ee . List ( feature_list )
previous_sum = ee . Feature ( feature_list . get ( - 1 )) . getNumber ( 'pr_cumsum' )
current_val = ee . Feature ( current_feature ) . getNumber ( 'pr' )
current_sum = previous_sum . add ( current_val )
return feature_list . add ( current_feature . set ( 'pr_cumsum' , current_sum ))
# Use "iterate" to cumulatively sum monthly precipitation over the year with
# the above defined "cumsum" function. Note that the feature list used in the
# "cumsum" function is initialized as the "first" variable. It includes a
# temporary feature with the "pr_cumsum" property set to 0 this feature is
# filtered out of the final FeatureCollection.
first = ee . List ([ ee . Feature ( None , { 'pr_cumsum' : 0 , 'first' : True })])
precip_cum_sum = ee . FeatureCollection (
ee . List ( mean_precip_ts . iterate ( cumsum , first ))
) . filter ( ee . Filter . notNull ([ 'pr' ]))
precip_cum_sum = precip_cum_sum . map (
lambda feature : feature . set (
'date' ,
ee . Date ( feature . getNumber ( 'system:time_start' )) . format ( 'YYYY-MM-dd' ),
)
)
# Inspect the outputs.
display ( 'Note cumulative precipitation ("pr_cumsum") property' , precip_cum_sum )
df = geemap . ee_to_df ( precip_cum_sum , [ 'date' , 'pr' , 'pr_cumsum' ])
display ( df )
chart = (
alt . Chart ( df )
. mark_line ()
. encode ( x = 'date:T' , y = 'pr:Q' , color = alt . value ( 'blue' ))
)
chart += (
alt . Chart ( df )
. mark_line ()
. encode ( x = 'date:T' , y = 'pr_cumsum:Q' , color = alt . value ( 'red' ))
)
chart
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."],[],[]]