1. 代码链接

https://code.earthengine.google.com/6f3876f55be5280369750c9e38c8ffce?noload=true

  1. 函数介绍

2.1 vecSplitByRowCol(table.geometry(), Row, Col)函数

【GEE】分块处理以降低内存压力_GEE


2.2 getSmallVec(featureCollection, i, table.geometry())函数

【GEE】分块处理以降低内存压力_执行时间_02


3. 完整代码

Map.centerObject(table, 5);

// 记录程序开始时间
var startTime = new Date();
print('程序开始时间', startTime);

var eevp = require('users/949384116/lib:Tools/VectorProcessor')

var featureCollection = eevp.vecSplitByRowCol(table.union().geometry(), 5, 5)
    .filterBounds(table.geometry())
    .toList(100)

featureCollection.size().evaluate(function (nSize) {
    // print('Feature Collection Size: ', nSize)
    for (var i = 0; i < nSize; i++) {
        var smallVec = eevp.getSmallVec(featureCollection, i, table.geometry());
        Map.addLayer(smallVec, {}, 'Vec ' + i);

        // 这里可以使用分块后的矢量数据去处理自定义代码

    }
});

// 记录结束时间
var endTime = new Date();
print('程序结束时间', endTime);

// 计算执行时间(以毫秒为单位)
var executionTimeMS = endTime - startTime;
var executionTimeStringMS = executionTimeMS.toString() + ' 毫秒';
print('程序执行时间: ' + executionTimeStringMS);