前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PIE-engine 教程 ——矢量集合的循环计算使用for循环(中国各省市面积统计)

PIE-engine 教程 ——矢量集合的循环计算使用for循环(中国各省市面积统计)

作者头像
此星光明
发布2024-02-02 08:24:51
1100
发布2024-02-02 08:24:51
举报

上一次我们提到了如何使用map()函数来完成相应的面积统计,本次我们将同样使用for驯化来完成我们所需要的全国各省市面积的统计,

同样我们先看一下获取矢量集合中每一个矢量的位置应该如何获取:

getAt(index)

获得指定编号的Feature对象。

方法参数:

- featureCollection(FeatureCollection)

FeatureCollection实例

- index(Number)

Feature的编号

返回值:Feature

另外,我们用的是矢量集合,而并没有把他转化成geometry形式,所以我们要介绍一下geometry函数,这个函数的功能就是将你的矢量图形进行几何化,方便用于计算面积

geometry(maxError,proj,geodesic)

返回给定要素在给定投影下的几何形状。

方法参数:

- feature(Feature)

Feature实例

- maxError(MaxError)

未启用

- proj(Project)

坐标系,默认为WGS84

- geodesic(Boolean)

未启用

返回值:Geometry

代码:

代码语言:javascript
复制
/**
 * @File    :   map-05-FeatureCollection循环计算_使用for循环
 * @Time    :   2022/3/1
 * @Author  :   piesat
 * @Version :   1.0
 * @Contact :   400-890-0662
 * @License :   (C)Copyright 航天宏图信息技术股份有限公司
 * @Desc    :   FeatureCollection使用for循环
 */

var ftrCol = pie.FeatureCollection("NGCC/CHINA_PROVINCE_BOUNDARY");
print("ftrCol", ftrCol);
for (i = 0; i <= 34; i++) {
    var province = ftrCol.getAt(i).get("name");
    var geometry = ftrCol.getAt(i).geometry();
    var area = geometry.area().divide(1000000);
    print(province, area);
}
Map.addLayer(ftrCol, { color: "ff0000", fillColor: "00000000" }, "ftrCol");
Map.setCenter(118, 39.7, 3);

大家可以发现,这里我们如果使用for循环你必须知道你的矢量集合中有多少个个数,这样才能进行下一步操作,而使用map()的过程中不需要这个环节。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档