ee.Geometry.coveringGrid

このジオメトリをカバーするフィーチャーのコレクションを返します。各フィーチャーは、指定された投影で定義されたグリッド内の長方形です。

用途戻り値
Geometry.coveringGrid(proj, scale)FeatureCollection
引数タイプ詳細
この場合: geometryジオメトリ結果は、このリージョンと交差するグリッド セルです。
proj予測グリッドを構築する投影法。「geometry」と交差する各グリッド セルに対して特徴が生成されます。ここで、セルの角は投影内の整数値の位置にあります。投影がメートル単位でスケーリングされている場合、ポイントは真のスケール ポイントでそのサイズのグリッド上に配置されます。
scale浮動小数点数、デフォルト: null指定されている場合は、投影のスケールをオーバーライドします。投影がまだスケーリングされていない場合は、必要になることがあります。

コードエディタ(JavaScript)

// Define the coordinate reference system (CRS) to be used for grid alignment.
// WGS 84 / UTM zone 36S.
var epsg = 'EPSG:32736';

// Create a point geometry to serve as the center for the analysis.
var point = ee.Geometry.Point(31.6, -8.54);

Map.addLayer(point, {color: 'orange'}, 'Center');
Map.centerObject(point, 8);

// Create a circular buffer of 100,000 meters (100 km) around the point to
// define the study area.
var areaOfInterest = point.buffer(100000);
Map.addLayer(areaOfInterest, {color: 'purple'}, 'Area of interest');

// Calculate a scale value to determine the size of the grid cells.
// Use a power of 2 for best GeoTIFF tiling, e.g., assuming that we'll use the
// grid cell to define image export regions, 2**14 -> 16384.
var scale = Math.pow(2, 14);

// Generate a FeatureCollection of grid cells that covers the buffered area
// using the specified projection and scale.
var grid = areaOfInterest.coveringGrid({proj: epsg, scale: scale});
Map.addLayer(grid, {color: 'blue'}, 'Covering Grid', true, 0.5);

// Define the specific index string of the grid cell to be extracted.
var cellOfInterest = '18,551';
// Filter the grid collection to find the feature matching the index and
// retrieve it as an ee.Feature.
var feature =
    ee.Feature(grid.toList(10000)
                   .filter(ee.Filter.eq('system:index', cellOfInterest))
                   .get(0));
Map.addLayer(feature, {color: 'red'}, 'grid cell', true, 0.5);

// One common use of coveringGrid is to tile operations such as exports.
// This often involves iterating through grid cells on the client-side to
// submit tasks for each cell. Here we print each cell ID using evaluate().
print('Grid cell IDs:');
grid.aggregate_array('system:index').evaluate(function(cellIds) {
  cellIds.forEach(function(cellId) {
    print(cellId);
  });
});