GeoViews:地理数据可视化库
GeoViews:地理数据可视化库
holoviz/geoviews 是一个 Python 地理可视化库,目前收获了 629 个 Star。


GeoViews 基于 HoloViews 构建,专门用于处理包含地理位置信息的数据。它在气象和海洋数据集方面有较强的支持,也适用于任何需要在地图上展示的数据。
这个库的核心定位是简化地理数据的探索流程。用户不需要写大量的底层绘图代码,就可以将数据投射到地图上。
GeoViews 底层依赖 Cartopy 库处理地理投影,渲染后端可以选择 Matplotlib 或 Bokeh。这意味着用户可以在静态图表和交互式可视化之间切换,不需要重写大量代码。
GeoViews 提供了一系列地理元素类型,包括 Feature、WMTS、Tiles、Points、Contours、Image、QuadMesh、TriMesh、RGB、HSV、Labels、Graph、HexTiles、VectorField 和 Text。这些元素可以在同一图层中叠加。比如温度数据可以和海岸线数据叠加:
gv.Image(temperature) * gv.Feature(cartopy.feature.COASTLINE)
这些 GeoElement 也可以与其他 HoloViews 元素组合成复杂的多图布局。这种组合方式是 GeoViews 区别于其他地理可视化工具的一个特点。
安装方式
GeoViews 可以通过 conda 安装:
conda install -c pyviz geoviews
如果只需要核心功能,可以安装 geoviews-core:
conda install -c pyviz geoviews-core
在某些情况下 proj6 可能导致安装问题,特别是 cartopy<=0.17 时。遇到这种情况需要固定 proj4 版本:
conda install proj4<6
安装完成后,复制示例到当前目录并运行:
geoviews examples
cd geoviews-examples
jupyter notebook
这里的 geoviews examples 是 geoviews copy-examples --path geoviews-examples && geoviews fetch-data --path geoviews-examples 的简写。
在 Jupyter notebook 和 JupyterLab 中使用前,需要先执行 gv.extension()。GeoViews 对象作为单元格最后一个输出项时会自动渲染。
JupyterLab 3.0 及以上版本所需的扩展已自动打包在 pyviz_comms 中,版本需要 >=2.0。更早版本的 JupyterLab 需要手动安装扩展:
jupyter labextension install @pyviz/jupyterlab_pyviz
安装扩展后启动 JupyterLab:
jupyter-lab
GeoViews 也支持 pip 安装,但需要先安装 Cartopy 的依赖,或确保系统具备编译条件。如果需要使用 Iris 或 xesmf 等只在 conda-forge 上提供的库,建议从 conda-forge 安装:
conda create -n env-name -c pyviz -c conda-forge geoviews iris xesmf
conda activate env-name
示例和详细文档可以在 geoviews.org 查看。
浙公网安备 33010602011771号