Greppo:快速构建与部署地理空间 Web 应用的 Python 框架
Greppo 是一个开源 Python 框架,用于快速构建地理空间 Web 应用,提供将数据、算法、可视化与交互式 UI 整合起来的工具包,帮助数据科学家展示其地理空间工作成果。框架基于 Starlette、Vue、Leaflet、ChartJS、TailwindCSS 等开源项目构建,使用 Apache V2 许可证。
社区作者 · zZz
它解决什么问题
Greppo 是一个用于构建地理空间 Web 应用(geospatial web-applications)的开源 Python 框架。它的定位是:让构建应用变得简单,提供一套工具包,可以快速整合数据、算法、可视化和用于交互的 UI,使数据科学家能够方便地展示自己的地理空间相关工作。
官方资源:
- 文档:docs.greppo.io
- 网站:https://greppo.io
- Discord 社区:https://discord.gg/RNJBjgh8gz
- 遇到问题可通过 Discord、Twitter 反馈,或在 GitHub 上提交 issue。
核心用法(来源给出的示例): 在 app.py 中从 greppo 导入 app,并配合 geopandas 读取地理数据;使用 app.overlay_layer() 添加覆盖图层(可设置 name、description、style、visible),使用 app.base_layer() 添加底图图层(可设置 name、visible、url、subdomains、attribution,示例使用 Open Street Map 瓦片地址)。
运行方式:使用 Greppo 的 CLI 命令 greppo serve app.py 启动应用,然后在浏览器中访问 localhost:8080/ 查看。注意:8080 端口可能因本机运行的其他程序而不同,应以命令行界面中显示的端口为准。
底层实现:Greppo 是开源的,也建立在开源之上。其底层使用 Starlette、Vue、Leaflet、ChartJS、TailwindCSS 等(官方还提供了所用开源项目的详细清单)。项目自述其目标是“回馈地理空间社区”,让地理空间应用开发变得容易。
配图说明:配图 1 为项目 logo,配图 2 为文档相关图形,配图 3 为地球(geospatial)主题图形,配图 4 为聊天/社区主题图形,配图 5 为应用界面截图(可参考其了解生成的应用形态)。
适用对象:需要把地理空间数据与分析结果快速做成可交互 Web 应用的数据科学家、GIS 与地理空间开发者、以及希望低成本搭建内部地理数据展示页面的团队。
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
以下步骤依据来源 README 整理:
- 准备环境
- 需要 Python 环境与 pip。
- 官方建议为本项目使用虚拟环境(virtual environment)来管理依赖包。更多信息与故障排查请查阅官方 Installation Guide。
- 安装框架
- 在已激活的(虚拟)环境中执行:
pip install greppo- 编写应用(示例,文件名为 app.py)
inside app.py
from greppo import app import geopandas as gpd
data_gdf = gpd.read_file("geospatial_data.geojson") buildings_gdf = gpd.read_file("./data/buildings.geojson")
app.overlay_layer( buildings_gdf,
name="Buildings",description="Buildings in a neighbourhood in Amsterdam",style={"fillColor": "#F87979"},visible=True,)
app.base_layer(
name="Open Street Map",visible=True,url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",subdomains=None,attribution='© <a target="_blank" href="http://osm.org/copyright">OpenStreetMap</a> contributors',) (示例中先读取 geojson 数据,再依次调用 overlay_layer 与 base_layer 添加覆盖图层和底图。)
- 首次运行
greppo serve app.py
- 使用 Greppo 的 CLI 命令启动应用:
- 在浏览器中访问命令行提示的本地地址查看应用:localhost:8080/
- 注意:8080 端口可能因为本机运行的其他程序而不同,请以命令行界面中显示的实际端口为准。
- 常见问题
- Windows 用户:安装 Greppo 的依赖之一 Fiona 通常无法在 Windows 上默认安装成功;可行的变通方式是使用(例如 Christoph Gohlke 提供的)wheel 文件手动安装。
- 遇到其他问题:可在 Discord、Twitter 上联系项目方,或在 GitHub 上提交 issue。