欢迎关注博主的微信公众号:“智能遥感”。

该公众号将为您奉上Python地学分析、爬虫、数据分析、Web开发、机器学习、深度学习等热门源代码。

本人的GitHub代码资料主页(持续更新中,多给Star,多Fork):

https://github.com/xbr2017

CSDN也在同步更新:

https://blog.csdn.net/XBR_2014


 Python + Basemap对遥感地图可视化。

今天的遥感之美封面图—圣克莱尔湖“绽放”的藻类。澳大利亚塔斯马尼亚州中西部湖泊,位于克雷德尔山-圣克莱尔湖国家公园南部边缘,面积为28平方公里。原本为山谷,因冰川刨蚀而加深,后为冰川堰塞湖。为澳大利亚最深的湖,西部最深点约215米。

2015年7月28日,Landsat 8卫星上的陆地成像仪(OLI)拍摄了大湖周围爆发的藻类图像,在圣克莱尔湖和西伊利湖的图像中可见绿色“漩涡”。

7月早些时候,美国国家海洋和大气管理局(NOAA)的科学家们预测,在伊利湖西部,2015年有害藻类大量繁殖将会非常严重。他们认为,伊利湖西部的藻类生长可以与2011年的藻类爆发事件相媲美。当有大量营养物质(许多来自农业径流)和阳光以及适宜水温时,该盆地中的藻类会茁壮成长。整个夏季为藻类生长期,九月达到高峰。

研究证实,2011年来自农田径流的磷与有利的天气、湖水条件相结合,产生的爆发比以前观察到的面积大三倍。研究人员指出,如果土地开采活动和气候变化趋势持续下去,可能会看到比2011年更大面积的爆发。

有害藻类的大量繁殖会导致鱼类死亡,它们还可以影响用于娱乐和消费的水体安全。截至2015年7月30日,据报道这些地区的饮用水是安全的。

2015年4月,美国宇航局(NASA)联合几个单位开发了一项新的用于早期预警淡水中有害藻类大量繁殖的系统。该系统有望使环境和水质管理者更容易获得海洋彩色卫星图像(译自LandSat官网)。


Albers投影

遥感数据预处理部分到此结束,下面给大家分享遥感地图可视化。遥感可视化主要基于Basemap模块实现,不同的投影会使得遥感图像/矢量地图的形状不一样,这是给人最直观的感受。不同的投影适用于不同的目的,例如网络映射,精确测量距离或计算面积。我国常用的投影如墨卡托投影、高斯-克吕格投影以及UTM投影。

为了在二维地图上表示三维球面,需要对地图进行投影。由于地图投影均有失真情况,因此有许多种地图投影,每个投影都有自己的优缺点。Basemap模块提供了24种不同的地图投影。有些是全球范围,有些只代表全球某个地方。创建类Basemap实例时,必须指定所需的地图投影,以及有关地图投影将描述的地球表面部分信息。这有两种基本方法:一种是提供矩形地图投影区域的四角点的经纬度信息;另一种是提供地图投影区域的中心经纬度以及地图投影坐标中的区域宽度和高度。下面给大家展示的是Albers投影,主要代码参考Basemap官网。

阿尔伯斯投影,又名“正轴等积割圆锥投影”,“双标准纬线等积圆锥投影”。圆锥投影的一种,为阿伯斯(Albers)拟定。在等面积投影上,面积保持不变但形状发生变化。具体代码实现如下:

# _*_ coding: utf-8 _*_
__author__ = 'xbr'
__date__ = '2019/1/9 11:40'from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt
import matplotlib# 中文字体设置,防止中文乱码
# 指定默认字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']# width为投影坐标中所需地图域的宽度(米)
# height投影坐标中所需地图域的高度(米)
# l:low低分辨率; aea:Albers Equal Area
# lat_1为第一标准线
# lat_2为第二标准线
# lon_0,lat_0为地图中心点
mp = Basemap(width=8000000, height=7000000,resolution='l', projection='aea',lat_1=40., lat_2=60., lon_0=100, lat_0=35)
mp.drawcoastlines()
mp.drawcountries()
# 内陆湖泊采用蓝色
mp.fillcontinents(color='red', lake_color='b')# [1, 1, 0, 0]左右纬度显示, [0, 0, 0, 1]只显示下方经度
mp.drawparallels(np.arange(-80., 81, 20.), labels=[1, 1, 0, 0], fontsize=12)
mp.drawmeridians(np.arange(-180., 181., 20.), labels=[0, 0, 0, 1], fontsize=12)
# 海洋采用水青色
mp.drawmapboundary(fill_color='aqua')# 获取当前坐标轴对象
ax = plt.gca()
# 添加地图标题
plt.title(u"Albers等面积投影")
# 将文本叠加到地图上,但是Basemap没有annotate方法,所以使用pyplot接口
# xy=(0.42, 0.47)表示本文在图中位置
# xycoords:坐标轴比例
# color:字体颜色
# fontsize:字体大小
plt.annotate(u"中华人民共和国", xy=(0.42, 0.47), xycoords='axes fraction',color='k', fontsize=12)
plt.show()

上述代码运行结果如下:

Python遥感可视化 — Basemap作Albers投影相关推荐

  1. Python遥感可视化 — Basemap对遥感数据可视化

    欢迎关注博主的微信公众号:"智能遥感". 该公众号将为您奉上Python地学分析.爬虫.数据分析.Web开发.机器学习.深度学习等热门源代码. 本人的GitHub代码资料主页(持续 ...

  2. Python遥感可视化 — Basemap将地面观测站点进行空间插值可视化

    欢迎关注博主的微信公众号:"智能遥感". 该公众号将为您奉上Python地学分析.爬虫.数据分析.Web开发.机器学习.深度学习等热门源代码. 本人的GitHub代码资料主页(持续 ...

  3. Python遥感可视化 — folium模块展示热力图

    欢迎关注博主的微信公众号:"智能遥感". 该公众号将为您奉上Python地学分析.爬虫.数据分析.Web开发.机器学习.深度学习等热门源代码. 本人的GitHub代码资料主页(持续 ...

  4. Python数据可视化——使用Matplotlib创建散点图

    Python数据可视化--使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 转载请注明网址:https://www.cnblogs.com/pengsky2016/p/812 ...

  5. python数据可视化之美源码_Python数据可视化之美-专业图

    Python数据可视化之美 专业图表绘制指南 作  者:张杰 著 定  价:129 出 版 社:电子工业出版社 出版日期:2020年03月01日 页  数:303 装  帧:平装 ISBN:97871 ...

  6. Python实现VIIRS气溶胶产品重投影-类GLT实现

    Python实现VIIRS气溶胶产品重投影-类GLT实现 前言 代码说明 用到的外部python包 代码实现 注意事项 后记 前言 最近用IDL写了个VIIRS气溶胶产品重投影的代码,之后心想着用py ...

  7. 超硬核的 Python 数据可视化教程!

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:机器学习算法那些事 Python实现可视化的三个步骤: ...

  8. 超硬核的 Python 数据可视化教程

    来源:数据分析1480 本文约3000字,建议阅读6分钟 本文为你介绍Python实现可视化的三个步骤. Python实现可视化的三个步骤: 确定问题,选择图形 转换数据,应用函数 参数设置,一目了然 ...

  9. Python数据可视化教程之基础篇

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 开运张 | 作者 知乎专栏 | 来源 https://zhuanlan.zhihu.c ...

最新文章

  1. Java集合LinkedHashMap
  2. surefire 拉起testng单元测试类的源码流程阅读(二)
  3. android图片保存形式,Android应用开发之Android ScrollView截图和图片保存到相册的方式...
  4. 深度学习在美团配送ETA预估中的探索与实践 1
  5. “金牛智慧城市”APP上线 一键可查找公厕和公园
  6. Linux中查看进程命令ps aux,ps -ef,ps -A,ps -a
  7. Mybatis的简单介绍,什么是Mybatis框架
  8. cad计算机绘图等级考试,全国CAD技能等级考试情况
  9. 使php爬虫能够长期运行的一点总结
  10. 四个步骤告诉你如何进行渠道效果监测
  11. 阿里云OSS使用详解(java版本)
  12. el-option显示value而不是lable的问题
  13. 筋膜枪方案-无刷马达方波运用1
  14. UE4 打包问题总结
  15. 信号与系统 傅里叶变换 拉普拉斯变换 z变换所有公式和性质 三个变换的联系 整理
  16. 短信服务-重要消息通知解决方案
  17. 3D进阶之OSG:从VS2019编译osgEarth开始
  18. OAuth2.0实现自定义颁发token
  19. 永远不要忘记_它永远不会忘记一张脸
  20. 安装mujoco遇到一些坑

热门文章

  1. java:上传微信临时文件的素材
  2. Spark 的宽依赖和窄依赖
  3. 战地4 网页服务器地址,战地4修改的服务器地址
  4. 无法识别USB设备解决办法
  5. php英文怎么读,100的英文怎么读_单词及读音
  6. mp3 文件专辑封面 一点点知识
  7. MIT物理学家观察超冷原子形成量子龙卷风晶体
  8. ubuntu软件开发必备东西
  9. java 字符转化为点阵,输入文字,输出点阵文字
  10. 我博士科研经历中的经验和教训