PIE-engine 教程 ——云计算当中的map()映射函数功能介绍

简介: PIE-engine 教程 ——云计算当中的map()映射函数功能介绍

   这里的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

这里我们可以看到一个输出的结果对象,就是我们的全国矢量信息,每一个矢量(省市、自治区、直辖市)的相关信息。

image.png

 


相关文章
Google Earth Engine(GEE)——从列表中少选所需要的数字不用map函数,还能如何实现?简单方法介绍
Google Earth Engine(GEE)——从列表中少选所需要的数字不用map函数,还能如何实现?简单方法介绍
187 0
|
5月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
391 1
|
Python
高阶函数如`map`, `filter`, `reduce`和`functools.partial`在Python中用于函数操作
【6月更文挑战第20天】高阶函数如`map`, `filter`, `reduce`和`functools.partial`在Python中用于函数操作。装饰器如`@timer`接收或返回函数,用于扩展功能,如记录执行时间。`timer`装饰器通过包裹函数并计算执行间隙展示时间消耗,如`my_function(2)`执行耗时2秒。
147 3
|
数据处理 Python
Pandas中的map函数应用
Pandas中的map函数应用
163 2
WK
|
Python
map函数
在Python中,`map()` 是一个内置的高阶函数,接受一个函数和一个或多个可迭代对象作为参数,将指定函数应用于每个元素,并返回包含应用结果的迭代器。若有多个可迭代对象,其元素会并行地传递给函数。`map()` 返回一个迭代器,需用 `list()` 转换。在Python 3中,`map()` 返回迭代器而非列表,并支持 `lambda` 表达式,适用于多种应用场景。注意,当输入的可迭代对象长度不同时,结果仅包含最短对象的长度。
WK
692 2
|
安全 云计算
云计算自旋锁问题之在LogFileProfiler::AddProfilingData函数中使用锁如何解决
云计算自旋锁问题之在LogFileProfiler::AddProfilingData函数中使用锁如何解决
126 3
|
安全 云计算
云计算自旋锁问题之在ConfigManager的FindAllMatch函数中自旋锁被使用如何解决
云计算自旋锁问题之在ConfigManager的FindAllMatch函数中自旋锁被使用如何解决
95 2
|
JavaScript 定位技术
vue 百度地图开发【教程】1. 绘制百度地图(不使用 vue-baidu-map,解决 BMap is undefined)
vue 百度地图开发【教程】1. 绘制百度地图(不使用 vue-baidu-map,解决 BMap is undefined)
720 0
|
JavaScript 前端开发
JavaScript 数组的函数 map/forEach/reduce/filter
JavaScript 数组的函数 map/forEach/reduce/filter
|
存储 算法 C++
【C++ 包装器类 map】C++ 标准库(std)中的map结构 哈希表(unordered_map)和黑红树(map)教程
【C++ 包装器类 map】C++ 标准库(std)中的map结构 哈希表(unordered_map)和黑红树(map)教程
1504 1

热门文章

最新文章