ee.FeatureCollection.randomPoints

  • ee.FeatureCollection.randomPoints generates points that are uniformly random within a given geometry.

  • The distribution of the generated points depends on the dimension of the input geometry.

  • The function takes arguments for the region, number of points, seed for randomness, and maximum error.

  • The function returns a FeatureCollection of the generated points.

  • Examples are provided for generating random points using both JavaScript and Python.

Generates points that are uniformly random in the given geometry. If the geometry is two-dimensional (polygon or multi-polygon) then the returned points are uniformly distributed on the given region of the sphere. If the geometry is one-dimensional (linestrings), the returned points are interpolated uniformly along the geometry's edges. If the geometry has dimension zero (points), the returned points are sampled uniformly from the input points. If a multi-geometry of mixed dimension is given, points are sampled from the component geometries with the highest dimension.

UsageReturns
ee.FeatureCollection.randomPoints(region, points, seed, maxError)FeatureCollection
ArgumentTypeDetails
regionGeometryThe region to generate points for.
pointsInteger, default: 1000The number of points to generate.
seedLong, default: 0A seed for the random number generator.
maxErrorErrorMargin, optionalThe maximum amount of error tolerated when performing any necessary reprojection.

Examples

Code Editor (JavaScript)

// An ee.Geometry to constrain the geographic bounds of random points.
var region = ee.Geometry.Rectangle(
    {coords: [-113.5, 40.0, -110.2, 41.9], geodesic: false});

// Generate 50 random points with the region.
var randomPoints = ee.FeatureCollection.randomPoints(
    {region: region, points: 50, seed: 0, maxError: 1});

print('Random points from within the defined region', randomPoints);
Map.setCenter(-111.802, 40.979, 7);
Map.addLayer(region, {color: 'yellow'}, 'Region');
Map.addLayer(randomPoints, {color: 'black'}, 'Random points');

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)

# An ee.Geometry to constrain the geographic bounds of random points.
region = ee.Geometry.Rectangle(
    coords=[-113.5, 40.0, -110.2, 41.9], proj='EPSG:4326', geodesic=False
)

# Generate 50 random points with the region.
random_points = ee.FeatureCollection.randomPoints(
    region=region, points=50, seed=0, maxError=1
)

display('Random points from within the defined region', random_points)
m = geemap.Map()
m.set_center(-111.802, 40.979, 7)
m.add_layer(region, {'color': 'yellow'}, 'Region')
m.add_layer(random_points, {'color': 'black'}, 'Random points')
m