GEE开发之Worldpop人口数据分析


前言:如何利用GEE平拍获取Worldpop人口数据。


1 基础知识

  • 全球高分辨率当代人口分布数据是准确测量人口增长影响、监测变化和规划干预措施的先决条件。WorldPop项目旨在通过提供使用透明和同行审查方法构建的详细和开放获取的人口分布数据集来满足这些需求。
  • WorldPop网站上提供了构建数据所用方法和数据集的详细信息,以及开放获取出版物。简而言之,通过利用人口密度和一系列地理空间协变量层之间关系的机器学习方法,将与相关行政单元匹配的最近基于人口普查的人口计数分解为约100x100m个网格单元。映射方法是基于随机森林的对称重分布。

2 获取某地区的人口遥感影像

代码如下(以鹿邑县为例):

var geometry = ee.FeatureCollection('users/www1573979951/luyixian');
Map.centerObject(geometry,7);
var worldpop2010 = ee.ImageCollection("WorldPop/GP/100m/pop")
.filterBounds(geometry)
.filter(ee.Filter.eq('country', 'CHN')).filterDate('2010-01-01', '2010-12-31')
.select('population');

var worldpop2020 = ee.ImageCollection("WorldPop/GP/100m/pop")
.filterBounds(geometry)
.filter(ee.Filter.eq('country', 'CHN')).filterDate('2020-01-01', '2020-12-31')
.select('population');

Map.addLayer(worldpop2010.mean().clip(geometry),{min:0,max:100,palette: ['24126c', '1fff4f', 'd4ff50']},"worldpop2010");
Map.addLayer(worldpop2020.mean().clip(geometry),{min:0,max:100,palette: ['24126c', '1fff4f', 'd4ff50']},"worldpop2020");

2010遥感截图:
在这里插入图片描述
2020遥感截图:
在这里插入图片描述

3 获取某地区每年人口的数据

代码如下(以鹿邑县10年人口数量为例):

var geometry = ee.FeatureCollection('users/www1573979951/luyixian');
var worldpop = ee.ImageCollection("WorldPop/GP/100m/pop")
.filterBounds(geometry)
.filter(ee.Filter.eq('country', 'CHN')).filterDate('2010-01-01', '2020-12-31')
.select('population');
var chart =
    ui.Chart.image.seriesByRegion
        ({
          imageCollection:worldpop,
          regions: geometry,
          reducer: ee.Reducer.sum(),
          scale: 100,
          xProperty: 'system:time_start'
        })
        .setSeriesNames(['population'])
        .setOptions({
          title: 'population dynamics',
          hAxis: {title: 'Date', titleTextStyle: {italic: false, bold: true}},
          vAxis: {
            title: 'total population',
            titleTextStyle: {italic: false, bold: true}
          },
          lineWidth: 5,
          colors: ['e37d05'],
          curveType: 'function'
        });
        
print(chart);

表格截图(10年人口变化,和实际的人口数据有出入,能分析出来人口逐渐下降):
在这里插入图片描述
CSV数据(和实际的人口数据有出入):
在这里插入图片描述

4 TIF数据下载

代码如下所示

//导出影像数据函数,三个参数
function exportImage(image, region, fileName) {  
   Export.image.toDrive({  
      image: image,  //设置要输出的影像
      description: fileName,  // 设置下载任务tasks的名称
      fileNamePrefix: fileName,  //设置下载影像的名称
      folder: "population",  //设置下载影像在Drive中存储的文件夹名称(可不设置)
      scale: 100, //空间分辨率,单位:米
      region: geometry,  //要下载影像的范围
      maxPixels: 1e13, //单幅影像输出的最大像元数
      fileFormat:"GeoTIFF", //设置影像导出格式,注意GeoTIFF格式需要所有波段存储类型一致(如不能同时存Int16和Int32)
      crs: "EPSG:4326"  //投影信息,一般是采用默认方式,通常可以设置为EPSG:4326
  });  
} 
//获取每幅影像对应的时间
var indexList = worldpop.reduceColumns(ee.Reducer.toList(), ["system:index"]).get("list");  
print("indexList", indexList);
 
//循环导出影像,用影像时间对其命名
indexList.evaluate(function(indexs) {  
for (var i=0; i<indexs.length; i++) {  
      var image = worldpop.filter(ee.Filter.eq("system:index", indexs[i])) //筛选对应时间的影像
                           .first() //选取第一幅影像
                           .int16() //将所有波段存储格式都转换Int16,使其保持一致(哨兵2号数据QA20波段为Int32,与其他不一致会出错)
      exportImage(image, geometry, "Worldpop-"+indexs[i]); 
  }  
});

在这里插入图片描述
下载之后在arcgis上运行显示
在这里插入图片描述

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等待着冬天的风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值