最近在准备gee学习室的暑假课程,在筹备基础课程内容的时候,发现了一个之前没有注意到的问题,其中主要涉及一个函数,这个函数的功能存在一定的缺陷,其主要问题是运行速度慢、效率低,这一缺陷(几乎)影响99%的用户。
这个函数就是sampleRegions。这个sampleRegions函数的使用说明如下。很显然,sampleRegions函数的功能就是:将与一个或多个区域相交的图像中的每个像素(在给定的比例尺下)转换为一个要素,返回一个要素集合(FeatureCollection)。每个输出要素将拥有一个输入图像中每个波段的属性,以及从输入要素中复制的任何指定属性。也就是说,sampleRegions函数实现了对影像数据进行采样,从而得到了一个FeatureCollection。
表面上看似乎没有什么问题,而且很多官方代码或者网络上流传的代码都在使用这个函数。但是最近在测试的时候,我们发现这个sampleRegions函数运行效率比较差,尤其是针对大样本数据的时候会出现这一问题。下面就用具体例子来说明这个问题。
假设我们对下面的Landsat影像数据进行采样操作,