项目简介
| |
|---|
| |
| https://github.com/marceloprates/prettymaps |
| |
| |
prettymaps 是一个轻量 Python 绘图库:它从 OpenStreetMap 获取地理数据,再借助 osmnx、Matplotlib、Shapely 等组件画出可定制的地图。调用者可以用地名、经纬度或 GeoDataFrame 边界作为输入,快速得到有视觉风格的局部地图。
它不仅面向“出一张图”。plot() 返回的对象还保留各图层的 GeoDataFrame、Matplotlib 图形与坐标轴,因而可以继续筛选建筑数据、叠加标题,或接入自己的数据处理流程。
核心特性
- 支持地址、坐标和自定义 GeoDataFrame 边界作为绘图入口。
- 可用预设快速套用风格,也可分别配置 OpenStreetMap 图层查询和 Matplotlib 样式。
- 支持圆形边界、半径、膨胀范围,以及完整行政或地理区域的绘制。
- 绘图结果暴露图层 GeoDataFrame、
fig 和 ax,便于继续分析或二次排版。 - 提供 plotter 模式,可导出兼容笔式绘图机的 SVG;仓库也附有 Streamlit 前端与可交互教程。
快速开始
先在常用 Python 环境中安装库:pip install prettymaps。随后新建脚本,写入 import prettymaps,再执行 prettymaps.plot('Stad van de Zon, Heerhugowaard, Netherlands'),即可按默认预设绘制地图。想换成更简洁的视觉效果,可给同一调用添加 preset='minimal';需要进一步指定水域、建筑等数据时,再传入 layers 与 style 字典。若要体验仓库自带的网页界面,请克隆项目并进入其目录后运行 streamlit run app.py。在 Colab 中安装后,README 还要求重启运行时再导入。
为什么火了
它把“获取地理数据、选取图层、绘制成图”收敛为较短的 Python 调用,同时仍保留对配色、道路与建筑等细节的控制;这很适合希望快速制作位置海报、报告插图或生成式地图实验的人。当日进入 GitHub Trending,可能正是因为这种低门槛输出与可深度定制的组合更容易被展示和复用。
仓库还提供预设、教程、Colab 入口和前端运行方式,降低了从示例到实际产出的距离。其价值更偏向地图的视觉表达与原型制作,而非通用 GIS 分析平台;这一清晰定位也可能让有明确作图需求的开发者更容易判断是否适用。
适合谁
适合数据可视化开发者、设计师、城市或地理兴趣项目的创作者,以及需要为报告、网页或实体绘图机制作地图图形的人。它尤其适合已能使用 Python、希望基于 OpenStreetMap 图层做细致风格控制的场景。需要注意的是,项目采用 AGPL v3.0:README 说明商业使用、分发和修改可以进行,但需披露源代码并保留许可证与版权声明;打印图形也应保留对仓库及 OpenStreetMap 的署名信息。