基于Processing的地理可视化
点击上方蓝色字体“慧天地”即可订阅
前言
开篇之前,先给大家介绍一个用于创建交互式地图和地理可视化的库——UNFOLDING MAP(关于processing的介绍就不在这里赘述了)。这是目前我发现的在官网公布的由tillnagel等创建的,但由于其仅适用于processing2等以下版本。所以在此作为一个引子,感兴趣的同学可以详细了解相关介绍及Example(http://unfoldingmaps.org/2014unfolded.html)。
1、交互活动
unfolding库可以帮助您快速创建交互式地图。包括缩放、平移等基本交互,同时可以添加更多高级功能例如:Overview + Detail。
2、数据可视化
unfolding库可以在地图上创建地理标记。支持加载和显示用户自定义的形状,包括点、线和多边形。
3、各式各样的地图
unfolding库是一个基于图块的地图库。地图图块可以具有各种地理特征,同时可以提供例如OpenStreetMap或TileMill等图库。
4、扩展代码
高级用户也可以创建更为复杂的可视化效果以及扩展该库的功能。
2D地图可视化
1、数据来源
该project的数据来源于USGS,采用了网站所公布的近30天的地震数据(具体可见https://earthquake.usgs.gov/) 。该网站里面有各种各样的数据,json/csv/…,提取csv数据使用loadTable的方式,能够比较方便得到想要的数据,要注意header。
地图数据可以在mapbox里获取token从而导入,同时可以改变地图颜色、角度等。
2、坐标转换
要将数据点展在网络墨卡托的平面上就需要进行坐标转换
3、函数应用
在map函数中,地震mag采用分级颜色来实现。在nosie函数中,实现数据点的波动。
整个工程文件可见:
https://github.com/HuimbleClown/p5.js-mapbox
3D地图可视化
掌握使用processing画3D图形,这个就容易多了。
1、数据来源
该project的数据同上依旧来源于USGS。贴图数据来源于NASA,也是基于墨卡托投影。该网站(https://www.nasa.gov/) 有各类不同样式的地图可供选择。
2、坐标转换
同上
3、数据展示
不同的高度代表不同的地震mag。设置坐标轴,只需控制Z轴长度即可。
整个工程文件可见:
https://github.com/HuimbleClown/earthquake3d
后记
processing在国内可供学习的资源相对比较少,希望可以做更多的工作,让大家能够多一种选择。Thanks。
若需转载或咨询请联系作者(WeChat:danghui629)
荐读
点击下文标题即可阅读
编辑 / 胡方霞 审核 / 卜玺 胡方霞
指导:万剑华教授(微信号wjh18266613129)