Python遥感可视化 — Basemap对遥感数据可视化
欢迎关注博主的微信公众号:“智能遥感”。
该公众号将为您奉上Python地学分析、爬虫、数据分析、Web开发、机器学习、深度学习等热门源代码。
本人的GitHub代码资料主页(持续更新中,多给Star,多Fork):
https://github.com/xbr2017
CSDN也在同步更新:
https://blog.csdn.net/XBR_2014
“小伙伴们,好久不见!本节接着上一节的内容继续分享遥感可视化功能,主要通过对欧洲再分析资料栅格数据进行可视化。”
今天的遥感之美 — 罗平县,中国的“黄金土地”。罗平县隶属于云南省曲靖市,地处东经103°57′~104°43′、北纬24°31′~25°25′之间,除南部八大河一带属南亚热带气候外,其余为高原季风气候。每到春天来临之时,正是油菜花绽放的最佳时期。
每年的2月中旬,卫星图像中的黄色区域在我国南方罗平县的山谷中蔓延,这便是那可爱的油菜花短暂的绽放。
使用中分辨率成像光谱仪(MODIS)的粗分辨率(每个像元为250米),效果是油菜花绽放的山谷比它们周围的森林山丘和山脊的深绿色稍微淡了些。
凭借Landsat 8上的Operational Land Imager(OLI)更精细的分辨率(每像元为30米),效果更加清晰。广阔的黄色田野和牙齿形状的喀斯特山丘的绿色之间的界限是显而易见的。
Landsat 8于2017年2月19日获得了上图,通常这是油菜花处于一年中的高峰期。到了三月中旬,花朵逐渐消失,绿色重新凸起。
在上一次的Basemap可视化分享中,主要将地面站点以及空间插值后的数据进行可视化。这一节,主要对栅格数据直接可视化。在日常遥感数据可视化中,遥感栅格、在分析资料等都是常见的数据,下面以欧洲中期天气预报中心(ECMWF)的再分析资料为例,来实现Basemap栅格可视化功能。
ECMWF下载地址:https://apps.ecmwf.int/datasets/,关于如何运用Python对再分析资料批量下载,网上博客已有相关介绍,这个在后面数据爬虫部分,我也会详细介绍,就请大家耐心等待,后面还有很多干货!
ECMWF再分析资料包含温、压、湿、风、流场、数值预报产品等,一般主要看他的数值预报,如流场、温度、气压场、降水等。除了这些常见气象数据,还有云、气溶胶、痕量气体、辐射、地表径流等。
代码实现:
# _*_ coding: utf-8 _*_
__author__ = 'xbr'
__date__ = '2019/3/10 21:22'from netCDF4 import Dataset
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
import cmapsmeteo_file = r'D:\data\ECMWF.nc'
ds = Dataset(meteo_file, mode='r')# 获取每个变量的值
lons = ds.variables['longitude'][:]
lats = ds.variables['latitude'][:]# surface_air_pressure
sp = ds.variables['sp'][:]
sp_units = ds.variables['sp'].units
scale_factor = ds.variables['sp'].scale_factor
add_offset = ds.variables['sp'].add_offset
sp = scale_factor * sp + add_offset
# 2 metre temperature
t2m = ds.variables['t2m'][:]
t2m_units = ds.variables['t2m'].units
scale_factor = ds.variables['t2m'].scale_factor
add_offset = ds.variables['t2m'].add_offset
t2m = scale_factor * t2m + add_offset
# Total column ozone
tco3 = ds.variables['tco3'][:]
tco3_units = ds.variables['tco3'].units
scale_factor = ds.variables['tco3'].scale_factor
add_offset = ds.variables['tco3'].add_offset
tco3 = scale_factor * tco3 + add_offset# 经纬度平均值
lon_0 = lons.mean()
lat_0 = lats.mean()# 画图大小设置
fig = plt.figure(figsize=(16, 9))
plt.rc('font', size=15, weight='bold')
ax = fig.add_subplot(111)m = Basemap(lat_0=lat_0, lon_0=lon_0)
lon, lat = np.meshgrid(lons, lats)
xi, yi = m(lon, lat)# 这里数据时间是UTC 00:00,2018年1月的日平均数据,只展示1月1号的数据
sp_01 = sp[0:1, :, :]
t2m_01 = t2m[0:1, :, :]
tco3_01 = tco3[0:1, :, :]levels = m.pcolor(xi, yi, np.squeeze(tco3_01), cmap=cmaps.GMT_panoply)# 添加格网与绘制经纬线
m.drawparallels(np.arange(-90., 91., 20.), labels=[1, 0, 0, 0], fontsize=15)
m.drawmeridians(np.arange(-180., 181., 40.), labels=[0, 0, 0, 1], fontsize=15)# 添加海岸线,省州边界以及国家行政边界
m.drawcoastlines()
m.drawstates()
m.drawcountries()# 添加colorbar
cbar = m.colorbar(levels, location='bottom', pad="10%")
cbar.set_label(tco3_units, fontsize=15, weight='bold')# 添加图的标题
plt.title('Total column ozone')
plt.show()ds.close()
结果图:
2018年01月01日近地面大气压强(单位:Pa,分辨率:1°×1°)
2018年01月01日近2米处温度(单位:K,分辨率:1°×1°)
2018年01月01日臭氧总柱状浓度(单位:kg/m-2,分辨率:1°×1°)
Python遥感可视化 — Basemap对遥感数据可视化相关推荐
- python爬虫数据可视化_适用于Python入门者的爬虫和数据可视化案例
本篇文章适用于Python小白的教程篇,如果有哪里不足欢迎指出来,希望对你帮助. 本篇文章用到的模块: requests,re,os,jieba,glob,json,lxml,pyecharts,he ...
- Python: 除matplotlib外还有哪些数据可视化库?
Python: 除matplotlib外还有哪些数据可视化库? matplotlib算是python比较底层的可视化库,可定制性强.图表资源丰富.简单易用.达到出版质量级别. 其它的可视化库诸如: s ...
- Python基于WordCloud词云图的数据可视化分析 词云图的基本使用 政府工作报告分析
Python基于WordCloud词云图的数据可视化分析 词云图的基本使用 政府工作报告分析 文章目录 1.词云图简介 2.wordcloud库的安装 3.WordCloud的主要参数说明 4.绘制词 ...
- python使用pyecharts库画地图数据可视化
python使用pyecharts库画地图数据可视化 导库 中国地图 代码 结果 世界地图 代码 结果 省级地图 代码 结果 地级市地图 代码 结果 导库 from pyecharts import ...
- 用python进行简单的数据分析和数据可视化
用python进行简单的数据分析和数据可视化 本篇文章主要是初步探索数据分析,简单了解数据分析大致流程 数据来源:来自于Kaggle平台上的一个项目:Explore San Francisco cit ...
- 在R、Python和Julia中常用的数据可视化技术
俗话说"一图胜千言".通过各种图片和图形化展示,我们可以更清晰地表达很多抽象概念.理论.数据模式或某些想法.在本章中,我们首先解释为什么应该关心数据可视化.然后,我们将讨论几种在R ...
- 【计算机专业毕设之基于python猫咪网爬虫大数据可视化分析系统-哔哩哔哩】 https://b23.tv/jRN6MVh
[计算机专业毕设之基于python猫咪网爬虫大数据可视化分析系统-哔哩哔哩] https://b23.tv/jRN6MVh https://b23.tv/jRN6MVh
- python模拟投掷色子并做出数据可视化统计图
这里讲解模拟掷色子,并实现数据可视化的操作. 数据可视化可以帮助我们更好地分析相关的统计结果,获得更为直观的统计图,帮组我们更好的处理一些事情. 可视化的终极目标是洞悉蕴含在数据中的现象和规律,这里面 ...
- python数据可视化书籍推荐_数据可视化的优秀入门书籍有哪些?
数据可视化方向 首先你需要考虑清楚"非常感兴趣的数据可视化"属于哪一类? 数据可视化是个非常宽泛的领域,大体可以分为"信息图Infographic"和" ...
- Python+vtk 实现激光点云数据可视化学习(2021.7.12)
Python+VTK实现激光点云数据可视化学习 2021.7.12 1.激光点云与VTK简介 2.配置Python环境(Conda+PyCharm+Python3.6+VTK) 3.点云数据(大约60 ...
最新文章
- 纯干货:CMOS图像传感器产业趋势和主要厂商
- 301转向和网址规范化
- android 文件读取错误,Android源文件从SD卡读取错误问题,怎么处理
- CSS3中的群组选择器,后代选择器[空格]子元素选择器 >相邻兄弟选择器+兄弟选择器~
- Android kotlin使用RecyclerView实例
- MySQL8.0 - 新特性 - 说说InnoDB Log System的隐藏参数
- linux 劫持广告技术,屏蔽运营商广告劫持 - gcudwork的个人空间 - OSCHINA - 中文开源技术交流社区...
- 牛逼!java反射创建类实例的三种方式
- 画出传输门、三态门、开路门_谷仓门优缺点有哪些?安装效果绝对出彩
- 【图像检索】基于matlab GUI Hu不变矩图像检索【含Matlab源码 1508期】
- [HEOI2015]定价 (贪心)
- android 生成长截图,【UNIAPP截长图】方案之一:滚动截屏 Android
- 手机怎么解决同ip多账号_原神手游如何多开刷初始号赚钱技巧攻略 | 兔子IP
- 什么是微信小程序什么是小程序微信小程序有什么优势
- docker compose容器域名配置
- 推荐必读:测试人员如何快速熟悉新业务?
- android时间轴折线图,echarts时间轴折线图
- 微信小程序-如何实现图片授权保存本地?【亲测有效,附完整源码】
- 大道至简 (求道于盲)
- python数据域宽左对齐_Python语言及其运用_第七章_像高手一样玩转数据
热门文章
- 电能管理系统在浙江阿克希龙舜华铝塑业有限公司的应用
- 全链路设计师是什么?如何打造全链路设计师?
- 【TDSQL】资源存在隔离端口产生告警的处置
- 开影Precision 128 Max精密断层能谱CT获得NMPA注册证
- 压力传感器传输数据到服务器,无线压力传感器,数据采集器解决方案及应用实例...
- 伯恩光学再成被执行人:多次因劳动纠纷被起诉,曾冲刺港交所上市
- 项目显示红色感叹号问题解决
- 打开计算机服务的五种方法
- 翻译:数据科学简历中的7个必备条件
- [网络安全自学篇] 六十七.WannaCry勒索病毒复现及分析(一)Python利用永恒之蓝及Win7勒索加密