Python 分析中国城市夜间灯光数据

article/2025/8/24 0:53:33

在城市化(城镇扩展)、环境和能源等社会科学研究中常使用夜间灯光影像作为人类活动的表征。研究中使用最多的夜间灯光数据来自美国国防气象卫星计划(Defense Meteorological Satellite Program,DMSP)一系列气象卫星的观测。处理夜间灯光数据的方法和软件有很多,常用的有Arcgis等。在这里笔者将尝试用Python来读取夜间灯光数据。

一、夜间灯光数据下载

DMSP/OLS夜间灯光数据下载地址:

https://www.ngdc.noaa.gov/eog/dmsp/downloadV4composites.html

640?wx_fmt=jpeg

笔者以2013年为例,下载后得到压缩文件F182013.v4.tar,解压之后:

640?wx_fmt=png

目前发布的灯光数据产品中使用较多的是稳定灯光数据(stable lights),它剔除了由火灾、爆炸等造成的短暂亮光,只包含了相对稳定的灯光,且均为无云数据。让我们再次解压稳定灯光数据:

F182013.v4c_web.stable_lights.avg_vis.tif.gz,获得的是1张标签图像文件格式(tiff)的图片,我们需要的灯光数据就在这张图里啦。

640?wx_fmt=jpeg

二、Python读取夜间灯光数据

接下来轮到Python登场了。Python有许多库可以解析tiff文件,笔者这里使用的是libtiff库。

1、安装libtiff库
笔者的实践经验表明,直接用pip/conda install在线安装libtiff库可能会报错(具体原因不明)。建议先下载好本机适配的libtiff-0.4.2-xxxx-xxxx-xxxxx.whl文件,采用pip install 路径+libtiff库的离线方式安装最靠谱。

下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/
安装命令:pip install 路径+libtiff-0.4.2-xxxx-xxxx-xxxxx.whl

2、Python提取指定区域的夜间灯光

安装好Python的libtiff库后,接下来用Python提取并显示中国东部的夜间灯光,附上源代码(在这里笔者不禁想感叹一下Python的简洁与高效):

from libtiff import TIFF
import matplotlib.pyplot as plt# 读取夜间灯光数据
tif = TIFF.open('F182013.v4c_web.stable_lights.avg_vis.tif', mode='r')
img = tif.read_image()#提取包含中国东部范围的夜间灯光数据画图
#夜灯数据覆盖范围为-65~75oN,-180-180oN,分辨率是30’
lons=100;lone=137;lats=15;late=52
lons_grid=int((lons+180.0)/(30.0/3600))
lone_grid=int((lone+180.0)/(30.0/3600))
lats_grid=int((75.0-lats)/(30.0/3600))
late_grid=int((75.0-late)/(30.0/3600))
img2=img[late_grid:lats_grid,lons_grid:lone_grid]
plt.imshow(img2)   
plt.show()

中国东部地区2013年的夜间灯光图片粗来啦! 中国东部和南部著名的三大城市群:京津冀、长三角和珠三角在图上非常明显。

640?wx_fmt=jpeg

三、夜间灯光数据看中国城市发展
选取1992年至2013年的夜间灯光图片做成动图进行展示,直观感受一下这些年中国城市的发展吧!

640?wx_fmt=gif

阿里云双十一活动来袭

长按扫描下方二维码

即享云服务器新用户1折起购

最低86元/年,一起拼团更优惠!

↓ ↓ 长按扫码了解更多 ↓ ↓

640?wx_fmt=png

【Python中文社区专属拼团码】

活动时间:2019年10月24日至2019年11月11日

活动对象:阿里云新用户,同一用户限购1单。

▼ 点击阅读原文,即享阿里云产品新用户1折优惠


http://chatgpt.dhexx.cn/article/ME4nBloZ.shtml

相关文章

中国范围逐月夜间灯光数据(2012-2021年)

人类以其文明和智慧创造了城市,城市最美的一面就是夜晚的灯光。对于经济学家来说,城市灯光的背后隐藏着巨大的社会经济秘密。一个城市夜晚的灯光不仅可以反映这个城市人口的数量、预测房价的趋势还能反映这个城市的经济发达程度。 根据灯光的亮度我们还可…

夜间灯光数据预处理

数据源:NPP-VIIRS夜 间 灯 光 数 据 有 2 种 类 型:vmflg 与vmsflg格 式。本 文 选 择 时 序 更 加 完 整 的 vmflg 格式的夜间灯光数据进行研究。本文将NOAA/NGDC 网站提供的去除了不稳定光源与背景值的2015年年度夜间灯光数据作研究使用基础数据之一&a…

夜间灯光数据

(1)本文提供我的CSDN中夜间灯光数据(包括DMSP/OLS(1992年-2013年) 和中科院火石数据(2012年-2017年))下载链接:DMSP/OLS夜间灯光数据_dmsp/ols夜间灯光数据,dmsp/ols数据…

使用arcgis进行夜间灯光数据处理

注:arcgis无法联网启动 ArcGIS10联网无法启动问题解决 _json20080301-CSDN博客 (写在开始:以下为夜间灯光数据处理部分,本人非地理、测绘相关专业,因毕业设计需要灯光数据支持所以自学了处理,下面是我的学…

夜光遥感学习摘录二

一、NPP VIIRS数据获取(年平均、月平均、单日) (一)访问网站VIIRS - Payne Institute for Public Policy(该VIIRS数据由Colorado School of Mines代理发布) (二)下拉界面到Data Do…

一文带你了解夜间灯光数据

一文带你了解夜间灯光数据 什么是夜间灯光?有哪些夜间灯光产品能做什么?研究领域应用领域(金融) 这几年,夜间灯光数据玩的很嗨,不仅在学术圈,金融圈也在利用这个数据追逐一拨红利。 什么是夜间灯…

夜间灯光数据简介与下载链接

夜间灯光数据可以被用来研究人类活动的空间分布,例如能源消费模式、勾勒城市边界,很多研究表明灯光的面积或亮度与人口密度、GDP、能源消耗、碳排放、贫困分布、不透水表面密度分布图、粮食需求分布图、城市建设中的钢铁使用情况分布、自然灾害、地区武装…

数据分享 — 国内外常用夜间灯光数据产品介绍

数据分享 — 夜间灯光数据 Annual VNL V2(2012-2020)全球500米分辨率的“类NPP-VIIRS”夜间灯光数据集(2000-2020)NASAs Black Marble nighttime lights product (2012-2020)(VNP46A2-VNP46A3-V…

VIIRS和DMSP夜间灯光数据(1992-2020)

夜光遥感就是利用遥感技术从太空观测夜间地球的光芒,相比于大多数白天成像的可见光卫星和雷达卫星,夜光遥感卫星通过获取地表发射的可见光-近红外电磁波信息,主要反映的是地表人类活动状况,最主要的是人类夜间灯光照明&#xff0c…

java.net.ConnectException: Failed to connect to /127.0.0.1:80

java.net.ConnectException: Failed to connect to /127.0.0.1:80 自己写了个api接口,跑在本机,我直接将浏览器地址(例如:http://127.0.0.1:80 或者http://localhost)在APP代码中使用,结果一直出现错误:ja…

毕设home系列【1】

1.Home模块组件拆分 先把静态页面完成拆分出静态组件获取服务器的数据进行展示动态业务 在这里插入图片描述 导航栏这儿是个二级联动,拆分为全局组件,可以在项目的任意地方使用 import TypeNav from /pages/Home/TypeNav; // 第一个参数:全…

通过免费API, 按照日期, 生成假日表

需求产生:需要根据每日的节假日状态,来进行一些自动化作业,例如:休假日闹钟不响,工作日早晨自动打开收音机等等…… 在网上找到了这样一个API ↑ 先在浏览器里试了一下,确认可以获得数据,于是…

Python网络爬虫(八)根据api判断法定节假日

判断当前日期是否是节假日 1、api接口地址1:http://api.goseek.cn/Tools/holiday?date20190225 (以今日20190225为例) api接口地址2:http://www.easybots.cn/api/holiday.php?d20190225 用法举例 检查一个日期是否为节假日 http://www.easybots.cn…

java获取工作日 日历接口_节假日api接口之获取指定日期的节假日信息

获取指定日期的节假日信息 1、接口地址:http://api.goseek.cn/Tools/holiday?date=数字日期 2、返回数据: 3、节假日数据说明:本接口包含2017年起的中国法定节假日数据,数据来源国务院发布的公告,每年更新1次,确保数据最新 4、示例: 返回数据: {"code":1000…

MQ-2型烟雾传感器

烟雾检测报警器是能够检测环境中的烟雾浓度,并具有报警功能的仪器,仪器的最基本组成部分应包括:烟雾信号采集电路、模数转换电路、单片机控制电路。 反烟雾信号采集电路一般由烟雾传感器和模拟放大电路组成,将烟雾信 号转化为模拟…

MQ-2烟雾传感器检测

MQ-2烟雾传感器检测 作为一个新手,第一次自己独立写了一个MQ-2烟雾传感器检测小项目。在这过程中出现很多错误,弄得我头大,通过自己在网上不断地查找资料,最终得以解决。主要问题有以下两个: 1.在编译时出错。显示…\…

基于MQ-135传感器和Arduino开发板的烟雾探测器

在本篇文章中,我们主要介绍如何使用MQ-135传感器和Arduino开发板制作一款烟雾探测器,用于测量环境中的烟雾等级。只需将MQ-135气体传感器模块与Arduino和1602 LCD模块连接即可显示。我们使用的烟雾传感器是MQ-135传感器。烟雾探测器在检测建筑物以及一些…

51单片机烟雾报警器mq2烟雾报警ADC0832采集实践制作DIY- GC0026-烟雾报警器

一、功能说明: 基于51单片机设计-烟雾报警器 功能介绍: STC89C52单片机(AT89C51/52)lcd1602adc0832mq2烟雾传感器蜂鸣器2个按键设定报警阈值 1.通过ADC0832采集MQ2烟雾输出的电压换算位烟雾浓度0~100 2.如果烟雾浓度超过设定…

基于51单片机烟雾报警器mq2烟雾报警ADC0832采集

实践制作DIY- GC0026-烟雾报警器 一、功能说明: 基于51单片机设计-烟雾报警器 功能介绍: STC89C52单片机(AT89C51/52)lcd1602adc0832mq2烟雾传感器蜂鸣器2个按键设定报警阈值 1.通过ADC0832采集MQ2烟雾输出的电压换算位烟雾…

arduino 读取模拟电压_MQ2气体/烟雾传感器如何工作及其与Arduino接口

arduino 读取模拟电压_MQ2气体/烟雾传感器如何工作及其与Arduino接口 使用MQ2气体传感器模块,为您的下一个Arduino项目带来一个人工鼻子。这是一个强大的气体传感器适用于感测LPG,烟雾,酒精,丙烷,氢气,甲烷…