[Python可视化]空气污染物浓度地图可视化,果然是路边浓度最大
在本篇文章中,我将展示如何使用 Python 结合 OSMnx、NetworkX 和 GeoPandas 等库,计算给定路径的最短路线,并基于该路径穿过的网格单元计算总污染量。最终,我们将把这些数据可视化为地图图层,并使用不同颜色表示网格的污染浓度。
1. 导入必要的库
首先,我们需要导入必要的 Python 库,这些库包括用于处理地图数据的 OSMnx 和 GeoPandas,以及用于图形化的 matplotlib。
2. 配置 OSMnx 并定义地址
我们需要配置 OSMnx 以缓存数据,并设置日志输出到控制台。接下来,定义两个地点的地址,分别是 和 。
3. 获取包含两个地点的网络图
通过使用 OSMnx 获取这两个地点所在区域的网络图,并找到与这些地点最接近的节点。
4. 计算最短路径并转换为 GeoDataFrame
利用 NetworkX 计算从 到 的最短路径,并将路径转换为 GeoDataFrame,以便后续处理。
5. 加载网格数据并生成网格单元
加载预先准备好的网格数据,并在 EPSG:3395 投影坐标系下生成 20x20 米的网格单元。每个网格单元包含污染浓度值。
6. 找到路径穿过的网格单元并计算污染物总量
接下来,我们找出路径穿过的所有网格单元,并计算路径在每个网格内的长度,再根据长度和浓度计算总污染物量。
7. 可视化路径、网格和污染浓度
最后,我们使用 matplotlib 绘制路径、网格单元,并根据污染浓度 conc 的值来设置网格的颜色深浅。我们还可以添加图例,方便直观地展示污染浓度。)
总结
通过以上步骤,我们成功地计算了路径穿过的网格单元,并计算了总污染量。最后,我们将结果可视化为一张地图,展示了路径与网格污染浓度的关系。这个方法可以应用在环境监测、交通分析等领域,为我们提供更加直观的分析工具。