Export.classifier.toAsset

یک کار دسته ای برای صادر کردن ee.Classifier به عنوان دارایی Earth Engine ایجاد می کند.

فقط برای ee.Classifier.smileRandomForest، ee.Classifier.smileCart، ee.Classifier.DecisionTree و ee.Classifier.DecisionTreeEnsemble پشتیبانی می شود.

استفاده برمی گرداند
Export.classifier.toAsset(classifier, description , assetId , priority )
استدلال تایپ کنید جزئیات
classifier Computed Object طبقه بندی کننده برای صادرات
description رشته، اختیاری نام کار قابل خواندن برای انسان. پیش‌فرض «myExportClassifierTask» است.
assetId رشته، اختیاری شناسه دارایی مقصد.
priority شماره، اختیاری اولویت کار در پروژه. کارهای با اولویت بالاتر زودتر برنامه ریزی می شوند. باید یک عدد صحیح بین 0 و 9999 باشد. پیش فرض 100 است.

نمونه ها

ویرایشگر کد (جاوا اسکریپت)

// 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');

راه اندازی پایتون

برای اطلاعات در مورد API پایتون و استفاده از geemap برای توسعه تعاملی به صفحه محیط پایتون مراجعه کنید.

import ee
import geemap.core as geemap

کولب (پایتون)

# 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')