数据下载——夜间灯光(融合校正版)

今天在使用夜间灯光的时候,发现常用的两个夜间灯光数据DMSP(1992-2014)和VIRRS(2012-),两个数据集可获取时间不一致,实际导出之后也存在很大偏差,如果想要进行驱动分析,会产生很大的误差,不能直接使用。

​但是最近发现了,全球500米分辨率“类NPP-VIIRS”夜间灯光数据集,有效地校准了这两个数据,这个数据集的介绍文章A harmonized global nighttime light dataset 1992–2018 | Scientific Data⁤ (nature.com),并且数据也完全开源,时间为1992-2018,下载地址https://figshare.com/articles/dataset/Harmonization_of_DMSP_and_VIIRS_nighttime_light_data_from_1992-2018_at_the_global_scale/9828827/5

数据介绍翻译:

      国防气象卫星计划(DMSP)/业务线扫描系统(OLS)和苏米国家极轨伙伴关系卫星上的可见红外成像辐射计套件(VIIRS)提供的夜光(NTL)数据为监测从区域到全球范围的人类活动提供了巨大的机会。尽管 DMSP(1992-2013 年)和 VIIRS(2012-2018 年)提供了宝贵的夜景记录,但由于 DMSP 和 VIIRS 严重不一致,NTL 观测历史档案的潜力尚未得到充分挖掘。在本研究中,我们通过协调来自 DMSP 数据的相互校准的 NTL 观测数据和来自 VIIRS 数据的模拟 DMSP 样 NTL 观测数据,生成了全球尺度的综合一致的 NTL 数据集。生成的全球 DMSP NTL 时间序列数据(1992-2018 年)显示出一致的时间趋势。这一经过时间扩展的 DMSP NTL 数据集为与人类活动(如电力消费和城市范围动态)有关的各种研究提供了宝贵的支持。

下载链接:Harmonization of DMSP and VIIRS nighttime light data from 1992-2020 at the global scale⁤ (figshare.com)icon-default.png?t=N7T8https://figshare.com/articles/dataset/Harmonization_of_DMSP_and_VIIRS_nighttime_light_data_from_1992-2018_at_the_global_scale/9828827/5引用:Li, Xuecao, Yuyu Zhou, Min Zhao, and Xia Zhao. "A harmonized global nighttime light dataset 1992–2018." Scientific data 7, no. 1 (2020): 1-9.

另外还有另一个数据集,这是文章https://www.mdpi.com/2072-4292/12/6/937;研究提出了一种基于自编码器(Auto-encoder, AE)模型的跨传感器校正方案。自编码器包含编码和解码两个过程,其中编码是将图像压缩成抽象特征,而解码则是将抽象特征复原成原始图像。研究中对自编码器进行了改动,将2013年的EANTLI数据作为输入数据,而输出数据的验证集则为同年份的NPP-VIIRS年合成夜间灯光数据(Composited NPP-VIIRS NTL Data),如文档图2所示。迭代训练后,依次将2000年至2012年的EANTLI输入至训练后的模型中,从而获得各自年份的“类NPP-VIIRS”数据(NPP-VIIRS-like NTL Data),该数据集具有同NPP-VIIRS夜间灯光数据一致的参数属性(详细参数见文末表格);此外,将2013-2020间逐年份的NPP-VIIRS年合成夜间灯光数据直接附加在2000-2012年“类NPP-VIIRS”夜间灯光数据之后即可获得完整的长时序(2000-2022)新夜间灯光数据集(Extended NPP-VIIRS-like NTL Data),下载地址国家地球系统科学数据中心数据详细信息 (geodata.cn)

  • 14
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据结构——用C语言描述(第3)》课后答案的描述使用C语言来实现各种数据结构和算法。以下是对几个常见数据结构的描述和相关代码示例。 1. 数组(Array):数组是一种线性数据结构,用于存储相同类型的元素。C语言中使用数组可以快速访问和修改元素。示例代码如下: ```c #include <stdio.h> int main() { int arr[5] = {1, 2, 3, 4, 5}; for(int i = 0; i < 5; i++) { printf("%d ", arr[i]); } return 0; } ``` 2. 链表(Linked List):链表是一种动态数据结构,通过节点之间的指针链接来存储数据。C语言中可以使用结构体和指针来实现链表。示例代码如下: ```c #include <stdio.h> #include <stdlib.h> struct Node { int data; struct Node* next; }; void printList(struct Node* head) { struct Node* current = head; while(current != NULL) { printf("%d ", current->data); current = current->next; } } int main() { struct Node* head = NULL; struct Node* second = NULL; struct Node* third = NULL; head = (struct Node*) malloc(sizeof(struct Node)); second = (struct Node*) malloc(sizeof(struct Node)); third = (struct Node*) malloc(sizeof(struct Node)); head->data = 1; head->next = second; second->data = 2; second->next = third; third->data = 3; third->next = NULL; printList(head); return 0; } ``` 3. 栈(Stack):栈是一种后进先出(LIFO)的数据结构,在C语言中可以使用数组来实现。示例代码如下: ```c #include <stdio.h> #define MAX_SIZE 100 int stack[MAX_SIZE]; int top = -1; void push(int item) { if(top == MAX_SIZE - 1) { printf("Stack Overflow\n"); } else { stack[++top] = item; } } int pop() { if(top == -1) { printf("Stack Underflow\n"); return -1; } else { return stack[top--]; } } void printStack() { for(int i = top; i >= 0; i--) { printf("%d ", stack[i]); } } int main() { push(1); push(2); push(3); printf("Popped element: %d\n", pop()); printStack(); return 0; } ``` 这些示例代码展示了如何使用C语言描述《数据结构——用C语言描述(第3)》中介绍的数据结构。读者可以根据书中提供的习题进行编程练习,进一步巩固数据结构和算法的相关知识。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值