geemap学习笔记010:按组统计分区数据

前言

上一篇中介绍了分区统计(zonal statistics)工具,但是没法实现按组进行统计。打个比方说,一个省内有多种土地覆盖类型,例如林地、草地、水体等等,如何统计一个省内不同土地覆盖类型的总量及其所占的比例,就需要用到**geemap.zonal_statistics_by_group()**函数。

1 导入库并显示地图

!pip install geemap #安装geemap库
!pip install pycrs
from google.colab import drive
drive.mount('/content/drive')
import ee
import geemap
import os

Map = geemap.Map()
Map

2 分析国家土地覆盖数据 (NLCD)

2.1 添加数据

dataset = ee.Image('USGS/NLCD_RELEASES/2019_REL/NLCD/2019')
landcover = ee.Image(dataset.select('landcover'))
Map.addLayer(landcover, {}, 'NLCD 2016')

states = ee.FeatureCollection("TIGER/2018/States")
Map.addLayer(states, {}, 'US States')

Map.add_legend(builtin_legend='NLCD') #添加图例

显示结果
image.png

2.2 计算各州的土地覆盖构成

out_dir = os.path.join(os.path.expanduser('~'), 'Downloads')
nlcd_stats = os.path.join(out_dir, 'nlcd_stats.csv')

if not os.path.exists(out_dir):
    os.makedirs(out_dir)

# statistics_type can be either 'SUM' or 'PERCENTAGE' #可以统计的类型,总数或者比例
# denominator can be used to convert square meters to other areal units, such as square kilometers
# denominator:可用于将平方米转换为其他面积单位,例如平方公里
geemap.zonal_statistics_by_group(
    landcover,
    states,
    nlcd_stats,
    statistics_type='SUM',
    denominator=1000000,
    decimal_places=2,
)
geemap.create_download_link(nlcd_stats)

统计结果
image.png

后记

大家如果有地信遥感方面的问题需要请教或者有项目需要合作,可以在闲 鱼软件的用户中搜索:遥感GIS工作室,请认准头像,谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值