Python读取夜间灯光数据看中国城市发展
本文轉載自氣象學渣,詳情可以掃描下方二維碼:
在城市化(城鎮擴展)、環境和能源等社會科學研究中常使用夜間燈光影像作為人類活動的表征。研究中使用最多的夜間燈光數據來自美國國防氣象衛星計劃(Defense Meteorological Satellite Program,DMSP)一系列氣象衛星的觀測。處理夜間燈光數據的方法和軟件有很多,常用的有Arcgis等。在這里小渣將嘗試用Python來讀取夜間燈光數據。
一、夜間燈光數據下載
DMSP/OLS夜間燈光數據下載地址:
https://www.ngdc.noaa.gov/eog/dmsp/downloadV4composites.html
小渣以2013年為例,下載后得到壓縮文件F182013.v4.tar,解壓之后:
目前發布的燈光數據產品中使用較多的是穩定燈光數據(stable lights),它剔除了由火災、爆炸等造成的短暫亮光,只包含了相對穩定的燈光,且均為無云數據。讓我們再次解壓穩定燈光數據:F182013.v4c_web.stable_lights.avg_vis.tif.gz,獲得的是1張標簽圖像文件格式(tiff)的圖片,我們需要的燈光數據就在這張圖里啦。
二、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.whl2、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年的夜間燈光圖片粗來啦!中國東部著名的三大城市群:京津冀、長三角和珠三角在圖上非常明顯。三、夜間燈光數據看中國城市發展采用我們上期介紹的繪制動圖的方法(戳這里復習:
◆?◆?◆ ?◆?◆
長按二維碼關注我們
數據森麟公眾號的交流群已經建立,許多小伙伴已經加入其中,感謝大家的支持。大家可以在群里交流關于數據分析&數據挖掘的相關內容,還沒有加入的小伙伴可以掃描下方管理員二維碼,進群前一定要關注公眾號奧,關注后讓管理員幫忙拉進群,期待大家的加入。
管理員二維碼:
猜你喜歡?
總結
以上是生活随笔為你收集整理的Python读取夜间灯光数据看中国城市发展的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OTRS中国版 快速安装
- 下一篇: vuejs集成simditor