Export.classifier.toAsset

Creates a batch task to export an ee.Classifier as an Earth Engine 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' 
 ); 

Python setup

See the Python Environment page for information on the Python API and using geemap for interactive development.

 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' 
 ) 
Create a Mobile Website
View Site in Mobile | Classic
Share by: