这里的map并不是指地图,而是在云平台中的遍历函数的意思,也就是重复进行的一个工作,一般map()括号中会是一个函数,用于遍历括号中的内容的一个函数,我们看一下官网函数给出的一个函数解释:
map(algorithm,dropNulls)
在集合上映射执行算法。
方法参数:
- featureCollection(FeatureCollection)
FeatureCollection实例
- algorithm(Function)
针对每个Feature的算法,一般需要返回操作后的对象
- dropNulls(Boolean)
算法是否允许返回为空
返回值:FeatureCollection
map(algorithm,dropNulls)
针对ImageCollection中的每个Image进行循环计算。
方法参数:
- imageCollection(ImageCollection)
ImageCollection实例。
- algorithm(Function)
参数是Image的方法,需要返回Image
- dropNulls(Boolean)
是否允许返回空值
返回值:ImageCollection
map(algorithm,dropNulls)
对集合列表做循环计算。
方法参数:
- list(List)
List实例。
- algorithm(Function)
参数是object的方法,需要返回对象。
- dropNulls(Boolean)
是否允许返回空值
返回值:List
我们可以看出官网给出了3个map对应的操作对象,分别是矢量集合、影像集合和列表,所以我们面对这3个对象的时候就可以使用map函数来完成相应的映射功能,也就是讲括号中的内容映射到每一个矢量,每一景影像或者每一个列表中的内容。
代码:
/**
* @File : map-01-Map算子介绍
* @Time : 2022/3/1
* @Author : piesat
* @Version : 1.0
* @Contact : 400-890-0662
* @License : (C)Copyright 航天宏图信息技术股份有限公司
* @Desc : 代码取出featureCol 中的每一个feature,然后求取各feature的几何中心,
* 得到一个新的矢量集合-featureColNew。
*/
var ftrCol = pie.FeatureCollection("NGCC/CHINA_PROVINCE_BOUNDARY");
print("ftrCol", ftrCol);
var ftrColNew = ftrCol.map(function (feature) {
var geometry = feature.geometry();
var ftrColNew = pie.Feature(geometry.centroid());
return ftrColNew;
});
print("ftrColNew", ftrColNew);
在这个代码中我们可以看到一个大家不太理解的函数:也就是获取每个点的centroid几何中心
centroid(maxError,proj)
获得几何图形的中心点。
方法参数:
- geometry(Geometry)
Geometry实例。
- maxError(Number, optional)
未启用。
- proj(Projection, optional)
坐标系对象,默认EPSG:4326。
返回值:Geometry
这里我们可以看到一个输出的结果对象,就是我们的全国矢量信息,每一个矢量(省市、自治区、直辖市)的相关信息。