Google Earth Engine(GEE)——LandScan人口数据集

这篇具有很好参考价值的文章主要介绍了Google Earth Engine(GEE)——LandScan人口数据集。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

LandScan人口数据
LandScan计划于1997年在橡树岭国家实验室(ORNL)启动,以满足为后果评估改进人口估计的需要。例如,全球范围内的自然和人为灾害使大量的人口处于危险之中,而且往往没有什么预先警告。开发高分辨的估计值是至关重要的,这样他们就可以对多个地理范围内的事件进行评估。自1998年以来,这一直是一个年度产品。

在为LandScan Global开发的建模方法的基础上,利用美国更高质量的数据,我们在2004年的LandScan USA的第一个版本中提高了空间和时间分辨率。创建LandScan USA的目的是为了捕捉人口的昼夜变化,这对各种分析和行动(包括应急准备和响应)至关重要。2016年,最初的LandScan USA模型被重新设计,以纳入地理空间技术的进步、机器学习方法和新的输入数据源。从那时起,我们每年都对基础模型进行改进,并每年发布一个新版本的数据集。

在LandScan USA首次启动的时候,ORNL也在机器学习和计算机视觉方面进行了开拓性的工作,特别是为了识别高空图像中明显的人为信号。这项工作最终实现了从高分辨率图像中快速、大规模地检测人类住区,并成为早期开发美国以外地区改进的分辨率人口分布的努力的基础,被称为Landscan HD。LandScan HD模型采用了多模式数据融合、空间数据科学、大数据资源和卫星图像利用的混合物。第一个国家尺度的LandScan HD数据集创建于2014年,此后不断有新的国家尺度数据集被开发出来。

免责声明:数据集的全部或部分描述是由作者或其作品提供的。

论文引用:

Sims, K., Reith, A., Bright, E., McKee, J., & Rose, A. (2022). LandScan Global 2021 [Data set]. Oak Ridge National Laboratory. https://doi.org/10. 48690/1527702

Weber, E., Moehl, J., Weston, S., Rose, A., Brelsford, C., & Hauser, T. (2022). LandScan USA 2021 [Data set]. Oak Ridge National Laboratory. https:// doi.org/10.48690/1527701

GEE 中的代码连接:

Earth Engine Snippet: LANDSCAN GLOBAL¶

var landscan_global = ee.ImageCollection("projects/sat-io/open-datasets/ORNL/LANDSCAN_GLOBAL");
var popcount_intervals =
'<RasterSymbolizer>' +
' <ColorMap type="intervals" extended="false" >' +
    '<ColorMapEntry color="#CCCCCC" quantity="0" label="No Data"/>' +
    '<ColorMapEntry color="#FFFFBE" quantity="5" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#FEFF73" quantity="25" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#FEFF2C" quantity="50" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#FFAA27" quantity="100" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#FF6625" quantity="500" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#FF0023" quantity="2500" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#CC001A" quantity="5000" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#730009" quantity="185000" label="Population Count (Estimate)"/>' +
  '</ColorMap>' +
'</RasterSymbolizer>';

// Define a dictionary which will be used to make legend and visualize image on map
var dict = {
  "names": [
    "0",
    "1-5",
    "6-25",
    "26-50",
    "51-100",
    "101-500",
    "501-2500",
    "2501-5000",
    "5001-185000"
  ],
  "colors": [
    "#CCCCCC",
    "#FFFFBE",
    "#FEFF73",
    "#FEFF2C",
    "#FFAA27",
    "#FF6625",
    "#FF0023",
    "#CC001A",
    "#730009"
  ]};
  
  // Create a panel to hold the legend widget
var legend = ui.Panel({
  style: {
    position: 'bottom-left',
    padding: '8px 15px'
  }
});

// Function to generate the legend
function addCategoricalLegend(panel, dict, title) {
  
  // Create and add the legend title.
  var legendTitle = ui.Label({
    value: title,
    style: {
      fontWeight: 'bold',
      fontSize: '18px',
      margin: '0 0 4px 0',
      padding: '0'
    }
  });
  panel.add(legendTitle);
  
  var loading = ui.Label('Loading legend...', {margin: '2px 0 4px 0'});
  panel.add(loading);
  
  // Creates and styles 1 row of the legend.
  var makeRow = function(color, name) {
    // Create the label that is actually the colored box.
    var colorBox = ui.Label({
      style: {
        backgroundColor: color,
        // Use padding to give the box height and width.
        padding: '8px',
        margin: '0 0 4px 0'
      }
    });
  
    // Create the label filled with the description text.
    var description = ui.Label({
      value: name,
      style: {margin: '0 0 4px 6px'}
    });
  
    return ui.Panel({
      widgets: [colorBox, description],
      layout: ui.Panel.Layout.Flow('horizontal')
    });
  };
  
  // Get the list of palette colors and class names from the image.
  var palette = dict['colors'];
  var names = dict['names'];
  loading.style().set('shown', false);
  
  for (var i = 0; i < names.length; i++) {
    panel.add(makeRow(palette[i], names[i]));
  }
  
  Map.add(panel);
}

addCategoricalLegend(legend, dict, 'Population Count(estimate)');

Map.addLayer(landscan_global.sort('system:time_start').first().sldStyle(popcount_intervals), {}, 'Population Count Estimate 2000');
Map.addLayer(landscan_global.sort('system:time_start',false).first().sldStyle(popcount_intervals), {}, 'Population Count Estimate 2021');

Sample code: https://code.earthengine.google.com/?scriptPath=users/sat-io/awesome-gee-catalog-examples:population-socioeconomics/LANDSCAN-GLOBAL

landscan人口数据,GEE数据集专栏,人工智能,计算机视觉,人口,数据集,gee 

 

Earth Engine Snippet: LANDSCAN USA¶

var landscan_usa_night = ee.ImageCollection("projects/sat-io/open-datasets/ORNL/LANDSCAN_USA_NIGHT");
var landscan_usa_day = ee.ImageCollection("projects/sat-io/open-datasets/ORNL/LANDSCAN_USA_DAY");

var popcount_intervals =
'<RasterSymbolizer>' +
' <ColorMap type="intervals" extended="false" >' +
    '<ColorMapEntry color="#CCCCCC" quantity="0" label="No Data"/>' +
    '<ColorMapEntry color="#FFFFBE" quantity="5" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#FEFF73" quantity="25" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#FEFF2C" quantity="50" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#FFAA27" quantity="100" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#FF6625" quantity="500" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#FF0023" quantity="2500" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#CC001A" quantity="5000" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#730009" quantity="185000" label="Population Count (Estimate)"/>' +
  '</ColorMap>' +
'</RasterSymbolizer>';

// Define a dictionary which will be used to make legend and visualize image on map
var dict = {
  "names": [
    "0",
    "1-5",
    "6-25",
    "26-50",
    "51-100",
    "101-500",
    "501-2500",
    "2501-5000",
    "5001-185000"
  ],
  "colors": [
    "#CCCCCC",
    "#FFFFBE",
    "#FEFF73",
    "#FEFF2C",
    "#FFAA27",
    "#FF6625",
    "#FF0023",
    "#CC001A",
    "#730009"
  ]};
  
  // Create a panel to hold the legend widget
var legend = ui.Panel({
  style: {
    position: 'bottom-left',
    padding: '8px 15px'
  }
});

// Function to generate the legend
function addCategoricalLegend(panel, dict, title) {
  
  // Create and add the legend title.
  var legendTitle = ui.Label({
    value: title,
    style: {
      fontWeight: 'bold',
      fontSize: '18px',
      margin: '0 0 4px 0',
      padding: '0'
    }
  });
  panel.add(legendTitle);
  
  var loading = ui.Label('Loading legend...', {margin: '2px 0 4px 0'});
  panel.add(loading);
  
  // Creates and styles 1 row of the legend.
  var makeRow = function(color, name) {
    // Create the label that is actually the colored box.
    var colorBox = ui.Label({
      style: {
        backgroundColor: color,
        // Use padding to give the box height and width.
        padding: '8px',
        margin: '0 0 4px 0'
      }
    });
  
    // Create the label filled with the description text.
    var description = ui.Label({
      value: name,
      style: {margin: '0 0 4px 6px'}
    });
  
    return ui.Panel({
      widgets: [colorBox, description],
      layout: ui.Panel.Layout.Flow('horizontal')
    });
  };
  
  // Get the list of palette colors and class names from the image.
  var palette = dict['colors'];
  var names = dict['names'];
  loading.style().set('shown', false);
  
  for (var i = 0; i < names.length; i++) {
    panel.add(makeRow(palette[i], names[i]));
  }
  
  Map.add(panel);
}

addCategoricalLegend(legend, dict, 'Population Count(estimate)');

//Cast to Int 16 & mask no data value
function cast(image){
  var img = image.toInt16()
  return img.mask(img.neq(-32768)).copyProperties(image)
  
}

//Datasets need explicit casting owing to difference in data type from source
landscan_usa_night= landscan_usa_night.map(cast)
landscan_usa_day= landscan_usa_day.map(cast)

Map.addLayer(ee.Image(landscan_usa_night.filterDate('2016-01-01','2016-12-31').median()).sldStyle(popcount_intervals),{},'LANDSCAN USA NIGHT 2016',false)
Map.addLayer(ee.Image(landscan_usa_night.filterDate('2021-01-01','2021-12-31').median()).sldStyle(popcount_intervals),{},'LANDSCAN USA NIGHT 2021',false)

Map.addLayer(ee.Image(landscan_usa_day.filterDate('2016-01-01','2016-12-31').median()).sldStyle(popcount_intervals),{},'LANDSCAN USA DAY 2016',false)
Map.addLayer(ee.Image(landscan_usa_day.filterDate('2021-01-01','2021-12-31').median()).sldStyle(popcount_intervals),{},'LANDSCAN USA DAY 2021',false)

Sample code: https://code.earthengine.google.com/?scriptPath=users/sat-io/awesome-gee-catalog-examples:population-socioeconomics/LANDSCAN-USA

landscan人口数据,GEE数据集专栏,人工智能,计算机视觉,人口,数据集,gee

 

Earth Engine Snippet: LANDSCAN HD¶

var landscan_hd = ee.ImageCollection("projects/sat-io/open-datasets/ORNL/LANDSCAN_HD");
var popcount_intervals =
'<RasterSymbolizer>' +
' <ColorMap type="intervals" extended="false" >' +
    '<ColorMapEntry color="#CCCCCC" quantity="0" label="No Data"/>' +
    '<ColorMapEntry color="#FFFFBE" quantity="5" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#FEFF73" quantity="25" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#FEFF2C" quantity="50" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#FFAA27" quantity="100" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#FF6625" quantity="500" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#FF0023" quantity="2500" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#CC001A" quantity="5000" label="Population Count (Estimate)"/>' +
    '<ColorMapEntry color="#730009" quantity="185000" label="Population Count (Estimate)"/>' +
  '</ColorMap>' +
'</RasterSymbolizer>';

// Define a dictionary which will be used to make legend and visualize image on map
var dict = {
  "names": [
    "0",
    "1-5",
    "6-25",
    "26-50",
    "51-100",
    "101-500",
    "501-2500",
    "2501-5000",
    "5001-185000"
  ],
  "colors": [
    "#CCCCCC",
    "#FFFFBE",
    "#FEFF73",
    "#FEFF2C",
    "#FFAA27",
    "#FF6625",
    "#FF0023",
    "#CC001A",
    "#730009"
  ]};
  
  // Create a panel to hold the legend widget
var legend = ui.Panel({
  style: {
    position: 'bottom-left',
    padding: '8px 15px'
  }
});

// Function to generate the legend
function addCategoricalLegend(panel, dict, title) {
  
  // Create and add the legend title.
  var legendTitle = ui.Label({
    value: title,
    style: {
      fontWeight: 'bold',
      fontSize: '18px',
      margin: '0 0 4px 0',
      padding: '0'
    }
  });
  panel.add(legendTitle);
  
  var loading = ui.Label('Loading legend...', {margin: '2px 0 4px 0'});
  panel.add(loading);
  
  // Creates and styles 1 row of the legend.
  var makeRow = function(color, name) {
    // Create the label that is actually the colored box.
    var colorBox = ui.Label({
      style: {
        backgroundColor: color,
        // Use padding to give the box height and width.
        padding: '8px',
        margin: '0 0 4px 0'
      }
    });
  
    // Create the label filled with the description text.
    var description = ui.Label({
      value: name,
      style: {margin: '0 0 4px 6px'}
    });
  
    return ui.Panel({
      widgets: [colorBox, description],
      layout: ui.Panel.Layout.Flow('horizontal')
    });
  };
  
  // Get the list of palette colors and class names from the image.
  var palette = dict['colors'];
  var names = dict['names'];
  loading.style().set('shown', false);
  
  for (var i = 0; i < names.length; i++) {
    panel.add(makeRow(palette[i], names[i]));
  }
  
  Map.add(panel);
}

addCategoricalLegend(legend, dict, 'Population Count(estimate)');


print(landscan_hd.aggregate_array('country'))
Map.addLayer(landscan_hd.mosaic().sldStyle(popcount_intervals), {}, 'Population Count Estimate LANDSCAN HD');

Sample code: https://code.earthengine.google.com/?scriptPath=users/sat-io/awesome-gee-catalog-examples:population-socioeconomics/LANDSCAN-HD

landscan人口数据,GEE数据集专栏,人工智能,计算机视觉,人口,数据集,gee

 

License¶

These datasets are offered under the Creative Commons Attribution 4.0 International License. Users are free to use, copy, distribute, transmit, and adapt the data for commercial and non-commercial purposes, without restriction, as long as clear attribution of the source is provided.

Created by: Oakridge National Laboratory

Curated in GEE by : Samapriya Roy

keywords: Global Population, Population count, Diurnal population, remote sensing, machine learning文章来源地址https://www.toymoban.com/news/detail-529944.html

到了这里,关于Google Earth Engine(GEE)——LandScan人口数据集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Google Earth Engine(GEE)扩展——制作的GEE app的误区

    地球引擎有一个用户界面API,允许用户直接从JavaScript代码编辑器中构建和发布交互式Web应用。许多读者会在其他章节中遇到对ui.Chart的调用,但还有更多的界面功能可用。特别是,用户可以利用ui函数来为他们的地球引擎脚本构建整个图形用户界面(GUI)。GUI可以包括简单的

    2023年04月12日
    浏览(23)
  • Google Earth Engine(GEE)深度学习入门教程- GEE导出篇

    官方教程:TFRecord 和地球引擎 在GEE的JS Code Editor中,我们按照我们的需要去处理对应的遥感影像,得到处理后Image影像。为了导出后读取数据,在导出前 一定清楚每个波段的名称(不然没法读取) 。深度学习数据集所需数据以为patch为单位,所以需要对整个遥感影像进行裁剪

    2024年02月03日
    浏览(33)
  • Google Earth Engine(GEE)——可视化动态图

    代码: 这里每一次最终的影像结果:  本文所需用到的函数: getVideoThumbURL(params, callback) 为这个ImageCollection获取一个动画缩略图的URL。 返回一个缩略图的URL,如果指定了回调,则未定义。 参数。 this:imagecollection(ImageCollection)。 ImageCollection实例。 params (对象): 与ee.data.get

    2024年02月16日
    浏览(25)
  • Google Earth Engine(GEE)——python导出 GeoTIFF 文件

    处理地球引擎数据集后,您可能需要将结果导出 ee.Image 到 GeoTIFF。例如,将其用作 Earth Engine 外部数值模型的输入,或将其与您喜欢的 GIS 中的个人地理参考文件重叠。有多种方法可以做到这一点(请参阅开发人员指南的导出部分)。在这里,我们探索两种选择: ee.Image 在

    2023年04月13日
    浏览(59)
  • Google Earth Engine(GEE)——快速建立一个10km的格网

    本文的主要目的是如何快速实现区域的一个网格的建立,主要过程是获取影像的经纬度,然后分别获取经纬度乘以一个数然后转化为整型,并将长宽相乘转化为一个矢量,然后对每一个歌王进行边界的坐标的获取与,最后返回一个多边形geometry,最后还要建立一个可以画图的

    2024年02月05日
    浏览(35)
  • Google Earth Engine(GEE)合成长时序的月NDVI与LST

    今天来简单分享下如何在GEE 合成长时序的月NDVI与LST,并进行分析 目标: 利用MODIS为数据源,在GEE计算某一地区对 月NDVI与LST ,并制作统计图 以武汉市为研究区 GEE实现代码: 首先确定研究区和使用的数据集 确定起止时间和月份 合成NDVI和LST 合成月NDVI 同样的方法合成月LST

    2024年02月15日
    浏览(35)
  • GEE(Google earth engine)中的Landsat影像的选择和去云(附代码)

            在这里可以看到GEE提供的全部Landsat数据:Landsat Collections in Earth Engine  |  Earth Engine Data Catalog  |  Google Developers               随便点进去,比如Landsat8,有三个数据,一个是地表面反射率数据,一个是大气层顶部的反射率数据,一个是raw。大气层顶部的反射数据

    2024年02月03日
    浏览(37)
  • Google Earth Engine(GEE)——Landsat 8/9 Level 2,Collection 2 LST地表温度(不包含Landsat7之前的数据集)

     不再需要使用 Ermida 的算法计算表面温度。 Landsat Level 2,Collection 2 包含经大气校正的地表反射率和地表温度 (LST)。所有 Collection 2 LST 产品均采用由罗彻斯特理工学院 (RIT) 和美国国家航空航天局 (NASA) 喷气推进实验室 (JPL) 联合开发的单通道算法创建。 前言 – 床长人工智能教

    2024年02月10日
    浏览(36)
  • Google Earth Engine(GEE) ——AI绘图工具Midjourney能替代传统设计师吗?

    近期智能AI话题爆火,前有ChatGpt,现又出现了一个AI绘图工具Midjourney,号称没有美术基础的人也能快速上手制作出漂亮的图像。也有不少声音表示设计师都要失业了。AI绘图工具能取代设计师吗?你可以参考以下角度来谈谈你的看法。 前言 – 床长人工智能教程 1,你目前从事

    2024年02月09日
    浏览(36)
  • Google Earth Engine(GEE)——function中函数注意事项(内部变量不可在函数外调用)

    function函数是JavaScript的基本构件之一。JavaScript中的函数类似于过程--一组执行任务或计算数值的语句,但要使一个过程有资格成为一个函数,它应该接受一些输入并返回一个输出,在输入和输出之间有一些明显的关系。要使用一个函数,你必须在你想调用它的范围内定义它。

    2024年02月13日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包