ee.Image.sample

Entnimmt Pixel aus einem Bild und gibt sie als FeatureCollection zurück. Für jedes Feature gibt es eine Eigenschaft pro Band im Eingabebild. Standardmäßig werden Features, die sich mit maskierten Pixeln überschneiden, entfernt, was zu Attributen mit Nullwerten führt (siehe Argument „dropNulls“).

NutzungAusgabe
Image.sample(region, scale, projection, factor, numPixels, seed, dropNulls, tileScale, geometries)FeatureCollection
ArgumentTypDetails
So gehts: imageBildDas Bild, aus dem die Stichprobe entnommen werden soll.
regionGeometrie, Standardwert: nullDie Region, aus der die Stichprobe gezogen werden soll. Wenn nichts angegeben ist, wird die gesamte Fläche des Bildes verwendet.
scaleGleitkommazahl, Standardwert: nullEine nominale Skala in Metern der Projektion, in der die Stichprobe erstellt werden soll.
projectionProjektion, Standardwert: nullDie Projektion, in der die Stichproben genommen werden sollen. Wenn nichts angegeben ist, wird die Projektion des ersten Bands des Bildes verwendet. Wird zusätzlich zur Skalierung angegeben und auf die angegebene Skalierung skaliert.
factorGleitkommazahl, Standardwert: nullEin Subsampling-Faktor im Bereich (0, 1]. Falls angegeben, darf „numPixels“ nicht angegeben werden. Standardmäßig wird kein Subsampling verwendet.
numPixelsLang, Standardwert: nullDie ungefähre Anzahl der Pixel, für die Stichproben erhoben werden sollen. Wenn angegeben, darf „factor“ nicht angegeben werden.
seedGanzzahl, Standardwert: 0Ein Randomisierungs-Seed, der für die Teilstichprobenerhebung verwendet werden soll.
dropNullsBoolescher Wert, Standard: „true“Filtern Sie das Ergebnis nach der Verarbeitung, um Merkmale mit Eigenschaften mit Nullwerten zu entfernen.
tileScaleGleitkommazahl, Standardwert: 1Ein Skalierungsfaktor, mit dem die Größe von Aggregationskacheln verringert wird. Wenn Sie einen größeren tileScale-Wert verwenden (z. B. 2 oder 4) können Berechnungen ermöglicht werden, die mit dem Standardwert nicht möglich sind, weil der Arbeitsspeicher nicht ausreicht.
geometriesBoolescher Wert, Standard: „false“Wenn „true“, wird der Mittelpunkt des ausgewählten Pixels als Geometrieeigenschaft des Ausgabeelements hinzugefügt. Andernfalls werden Geometrien ausgelassen, um Speicherplatz zu sparen.

Beispiele

Code-Editor (JavaScript)

// Demonstrate extracting pixels from an image as features with
// ee.Image.sample(), and show how the features are aligned with the pixels.

// An image with one band of elevation data.
var image = ee.Image('CGIAR/SRTM90_V4');
var VIS_MIN = 1620;
var VIS_MAX = 1650;
Map.addLayer(image, {min: VIS_MIN, max: VIS_MAX}, 'SRTM');

// Region to sample.
var region = ee.Geometry.Polygon(
  [[[-110.006, 40.002],
    [-110.006, 39.999],
    [-109.995, 39.999],
    [-109.995, 40.002]]], null, false);
// Show region on the map.
Map.setCenter(-110, 40, 16);
Map.addLayer(ee.FeatureCollection([region]).style({"color": "00FF0022"}));

// Perform sampling; convert image pixels to features.
var samples = image.sample({
  region: region,

  // Default (false) is no geometries in the output.
  // When set to true, each feature has a Point geometry at the center of the
  // image pixel.
  geometries: true,

  // The scale is not specified, so the resolution of the image will be used,
  // and there is a feature for every pixel. If we give a scale parameter, the
  // image will be resampled and there will be more or fewer features.
  //
  // scale: 200,
});

// Visualize sample data using ee.FeatureCollection.style().
var styled = samples
  .map(function (feature) {
    return feature.set('style', {
      pointSize: feature.getNumber('elevation').unitScale(VIS_MIN, VIS_MAX)
          .multiply(15),
    });
  })
  .style({
    color: '000000FF',
    fillColor: '00000000',
    styleProperty: 'style',
    neighborhood: 6,  // increase to correctly draw large points
  });
Map.addLayer(styled);

// Each sample feature has a point geometry and a property named 'elevation'
// corresponding to the band named 'elevation' of the image. If there are
// multiple bands they will become multiple properties. This will print:
//
// geometry: Point (-110.01, 40.00)
// properties:
//   elevation: 1639
print(samples.first());

Python einrichten

Informationen zur Python API und zur Verwendung von geemap für die interaktive Entwicklung finden Sie auf der Seite Python-Umgebung.

import ee
import geemap.core as geemap

Colab (Python)

# Demonstrate extracting pixels from an image as features with
# ee.Image.sample(), and show how the features are aligned with the pixels.

# An image with one band of elevation data.
image = ee.Image('CGIAR/SRTM90_V4')
vis_min = 1620
vis_max = 1650
m = geemap.Map()
m.add_layer(image, {'min': vis_min, 'max': vis_max}, 'SRTM')

# Region to sample.
region = ee.Geometry.Polygon(
    [[
        [-110.006, 40.002],
        [-110.006, 39.999],
        [-109.995, 39.999],
        [-109.995, 40.002],
    ]],
    None,
    False,
)
# Show region on the map.
m.set_center(-110, 40, 16)

m.add_layer(ee.FeatureCollection([region]).style(color='00FF0022'))

# Perform sampling convert image pixels to features.
samples = image.sample(
    region=region,
    # Default (False) is no geometries in the output.
    # When set to True, each feature has a Point geometry at the center of the
    # image pixel.
    geometries=True,
    # The scale is not specified, so the resolution of the image will be used,
    # and there is a feature for every pixel. If we give a scale parameter, the
    # image will be resampled and there will be more or fewer features.
    #
    # scale=200,
)


def scale_point_size(feature):
  elevation = feature.getNumber('elevation')
  point_size = elevation.unitScale(vis_min, vis_max).multiply(15)
  feature.set('style', {'pointSize': point_size})
  return feature


# Visualize sample data using ee.FeatureCollection.style().
styled = samples.map(scale_point_size).style(
    color='000000FF',
    fillColor='00000000',
    styleProperty='style',
    neighborhood=6,  # increase to correctly draw large points
)
m.add_layer(styled)
display(m)

# Each sample feature has a point geometry and a property named 'elevation'
# corresponding to the band named 'elevation' of the image. If there are
# multiple bands they will become multiple properties. This will print:
#
# geometry: Point (-110.01, 40.00)
# properties:
#   elevation: 1639
display(samples.first())