0%

【P5自学笔记】基于Processing的地理可视化

前言

开篇之前,先给大家介绍一个用于创建交互式地图和地理可视化的库——UNFOLDING MAP(关于processing的介绍就不在这里赘述了)。这是目前我发现的在官网公布的由tillnagel等创建的,但由于其仅适用于processing2等以下版本。所以在此作为一个引子,感兴趣的同学可以详细了解相关介绍以及Example(http://unfoldingmaps.org/2014unfolded.html )。

1、交互活动

unfolding库可以帮助您快速创建交互式地图。包括缩放、平移等基本交互,同时可以添加更多高级功能例如:Overview + Detail。

2、数据可视化

unfolding库可以在地图上创建地理标记。支持加载和显示用户自定义的形状,包括点、线和多边形。

3、各式各样的地图

unfolding库是一个基于图块的地图库。地图图块可以具有各种地理特征,同时可以提供例如OpenStreetMap或TileMill等图库。

4、扩展代码

高级用户也可以创建更为复杂的可视化效果以及扩展该库的功能。

2D地图可视化

数据来源

该project的数据来源于USGS,采用了网站所公布的近30天的地震数据(具体可见https://earthquake.usgs.gov/) 。该网站里面有各种各样的数据,json/csv/…,提取csv数据使用loadTable的方式,能够比较方便得到想要的数据,要注意header.

地图数据可以在mapbox里获取token从而导入,同时可以改变地图颜色、角度等。

坐标转换

要将数据点展在网络墨卡托的平面上就需要进行坐标转换。

函数应用

在map函数中,地震mag采用分级颜色来实现。在nosie函数中,实现数据点的波动。

整个工程文件可见:https://github.com/HuimbleClown/p5.js-mapbox

3D地图可视化


掌握使用processing画3D图形,这个就容易多了。

数据来源

该project的数据同上依旧来源于USGS。

贴图数据来源于NASA,也是基于墨卡托投影。该网站(https://www.nasa.gov/) 有各类不同样式的地图可供选择。

坐标转换(同上)

数据展示

不同的高度代表不同的地震mag。设置坐标轴,只需控制Z轴长度即可。

整个工程文件可见:https://github.com/HuimbleClown/earthquake3d

后记

更多的实践,可以持续关注我的更新。processing在国内可供学习的资源相对比较少,希望可以做更多的工作,让大家能够多一种选择。Thanks。若需转载或咨询请联系作者(WeChat:danghui629)