AI-generated Key Takeaways
-
The
Export.classifier.toAssetfunction creates a batch task to export anee.Classifieras an Earth Engine asset. -
This function supports exporting
ee.Classifier.smileRandomForest,ee.Classifier.smileCart,ee.Classifier.DecisionTree, andee.Classifier.DecisionTreeEnsembleclassifiers. -
The function requires specifying the
classifierto export, and optionally allows setting adescription,assetId, andpriorityfor the task. -
Example code is provided for both JavaScript (Code Editor) and Python (Colab) to demonstrate how to use
Export.classifier.toAssetwith a trainedsmileRandomForestclassifier. -
The examples show the process of gathering training data, training a classifier, creating the export task, and then loading and visualizing the exported classifier asset.
Only supported for ee.Classifier.smileRandomForest, ee.Classifier.smileCart, ee.Classifier.DecisionTree and ee.Classifier.DecisionTreeEnsemble.
| Usage | Returns |
|---|---|
Export.classifier.toAsset(classifier, description
, assetId
, priority
)
|
| Argument | Type | Details |
|---|---|---|
classifier
|
ComputedObject | The classifier to export. |
description
|
String, optional | A human-readable name of the task. Defaults to "myExportClassifierTask". |
assetId
|
String, optional | The destination asset ID. |
priority
|
Number, optional | The priority of the task within the project. Higher priority tasks are scheduled sooner. Must be an integer between 0 and 9999. Defaults to 100. |
Examples
Code Editor (JavaScript)
// First gather the training data for a random forest classifier. // Let's use MCD12Q1 yearly landcover for the labels. var landcover = ee . ImageCollection ( 'MODIS/061/MCD12Q1' ) . filterDate ( '2022-01-01' , '2022-12-31' ) . first () . select ( 'LC_Type1' ); // A region of interest for training our classifier. var region = ee . Geometry . BBox ( 17.33 , 36.07 , 26.13 , 43.28 ); // Training features will be based on a Landsat 8 composite. var l8 = ee . ImageCollection ( 'LANDSAT/LC08/C02/T1' ) . filterBounds ( region ) . filterDate ( '2022-01-01' , '2023-01-01' ); // Draw the Landsat composite, visualizing true color bands. var landsatComposite = ee . Algorithms . Landsat . simpleComposite ({ collection : l8 , asFloat : true }); Map . addLayer ( landsatComposite , { min : 0 , max : 0.3 , bands : [ 'B3' , 'B2' , 'B1' ] }, 'Landsat composite' ); // Make a training dataset by sampling the stacked images. var training = landcover . addBands ( landsatComposite ). sample ({ region : region , scale : 30 , // With export to Classifier we can bump this higher to say 10,000. numPixels : 1000 }); var classifier = ee . Classifier . smileRandomForest ({ // We can also increase the number of trees higher to ~100 if needed. numberOfTrees : 3 }). train ({ features : training , classProperty : 'LC_Type1' }); // Create an export classifier task to run. var assetId = 'projects/<project-name>/assets/<asset-name>' ; // <> modify these Export . classifier . toAsset ({ classifier : classifier , description : 'classifier_export' , assetId : assetId }); // Load the classifier after the export finishes and visualize. var savedClassifier = ee . Classifier . load ( assetId ) var landcoverPalette = '05450a,086a10,54a708,78d203,009900,c6b044,dcd159,' + 'dade48,fbff13,b6ff05,27ff87,c24f44,a5a5a5,ff6d4c,69fff8,f9ffa4,1c0dff' ; var landcoverVisualization = { palette : landcoverPalette , min : 0 , max : 16 , format : 'png' }; Map . addLayer ( landsatComposite . classify ( savedClassifier ), landcoverVisualization , 'Upsampled landcover, saved' );
import ee import geemap.core as geemap
Colab (Python)
# First gather the training data for a random forest classifier. # Let's use MCD12Q1 yearly landcover for the labels. landcover = ( ee . ImageCollection ( 'MODIS/061/MCD12Q1' ) . filterDate ( '2022-01-01' , '2022-12-31' ) . first () . select ( 'LC_Type1' )) # A region of interest for training our classifier. region = ee . Geometry . BBox ( 17.33 , 36.07 , 26.13 , 43.28 ) # Training features will be based on a Landsat 8 composite. l8 = ( ee . ImageCollection ( 'LANDSAT/LC08/C02/T1' ) . filterBounds ( region ) . filterDate ( '2022-01-01' , '2023-01-01' )) # Draw the Landsat composite, visualizing true color bands. landsatComposite = ee . Algorithms . Landsat . simpleComposite ( collection = l8 , asFloat = True ) Map = geemap . Map () Map # Render the map in the notebook. Map . addLayer ( landsatComposite , { 'min' : 0 , 'max' : 0.3 , 'bands' : [ 'B3' , 'B2' , 'B1' ] }, 'Landsat composite' ) # Make a training dataset by sampling the stacked images. training = landcover . addBands ( landsatComposite ) . sample ( region = region , scale = 30 , # With export to Classifier we can bump this higher to say 10,000. numPixels = 1000 ) # We can also increase the number of trees higher to ~100 if needed. classifier = ee . Classifier . smileRandomForest ( numberOfTrees = 3 ) . train ( features = training , classProperty = 'LC_Type1' ) # Create an export classifier task to run. asset_id = 'projects/<project-name>/assets/<asset-name>' # <> modify these ee . batch . Export . classifier . toAsset ( classifier = classifier , description = 'classifier_export' , assetId = asset_id ) # Load the classifier after the export finishes and visualize. savedClassifier = ee . Classifier . load ( asset_id ) landcover_palette = [ '05450a' , '086a10' , '54a708' , '78d203' , '009900' , 'c6b044' , 'dcd159' , 'dade48' , 'fbff13' , 'b6ff05' , '27ff87' , 'c24f44' , 'a5a5a5' , 'ff6d4c' , '69fff8' , 'f9ffa4' , '1c0dff' ] landcoverVisualization = { 'palette' : landcover_palette , 'min' : 0 , 'max' : 16 , 'format' : 'png' } Map . addLayer ( landsatComposite . classify ( savedClassifier ), landcoverVisualization , 'Upsampled landcover, saved' )

