Annuncio : tutti i progetti non commerciali registrati per l'utilizzo di Earth Engine prima del
15 aprile 2025 devono
verificare l'idoneità non commerciale per mantenere l'accesso. Se non hai eseguito la verifica entro il 26 settembre 2025, il tuo accesso potrebbe essere sospeso.
Invia feedback
ee.FeatureCollection.iterate
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Applica una funzione fornita dall'utente a ogni elemento di una raccolta. La funzione fornita dall'utente riceve due argomenti: l'elemento corrente e il valore restituito dalla chiamata precedente a iterate() o il primo argomento, per la prima iterazione. Il risultato è il valore restituito dall'ultima chiamata alla funzione fornita dall'utente.
Restituisce il risultato della chiamata Collection.iterate().
Utilizzo Resi FeatureCollection. iterate (algorithm, first )
ComputedObject
Argomento Tipo Dettagli questo: collection
Raccolta L'istanza della raccolta. algorithm
Funzione La funzione da applicare a ogni elemento. Deve accettare due argomenti: un elemento della raccolta e il valore dell'iterazione precedente. first
Oggetto, facoltativo Lo stato iniziale.
Esempi
Editor di codice (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' ]));
Configurazione di Python
Consulta la pagina
Ambiente Python per informazioni sull'API Python e sull'utilizzo di
geemap
per lo sviluppo interattivo.
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
Invia feedback
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0 , mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0 . Per ulteriori dettagli, consulta le norme del sito di Google Developers . Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-26 UTC.
Vuoi dirci altro?
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-26 UTC."],[],[]]