Repolode
marceloprates

marceloprates/prettymaps

一个基于 OpenStreetMap 数据绘制自定义地图艺术图的极简 Python 库。

Star
14,326
Fork
735
未关闭 Issue
24
最近提交
3个月前

这是什么?

prettymaps 根据地名获取 OpenStreetMap 数据,并用 matplotlib 渲染成风格化的地图图像。可以按标签选择水系、建筑、道路、公园等各类图层,并为每层单独设置颜色、填充和描边。

它面向的是地图装饰画和可打印图像的生成,而不是导航地图。通过 radius、dilate 等参数可以设置圆形或自定义边界,并支持可复用的 JSON 样式预设,以及将多张地图组合排版的 multiplot 功能。项目还附带 Streamlit 前端和 marimo 教程笔记本。

该包可从 PyPI 安装,需要 Python 3.11 及以上版本。生成的地图图像需保留图上的 OpenStreetMap 署名,这是其许可证的要求。

核心功能

  • 01借助 osmnx 按地名获取 OpenStreetMap 图层数据。
  • 02用 matplotlib 为每个图层设置颜色、填充和描边。
  • 03通过 radius、dilate 参数支持圆形或自定义边界。
  • 04提供 JSON 样式预设和多图组合排版。
  • 05附带 Streamlit 网页前端和 marimo 教程笔记本。

适用场景

  • 制作城市或街区的装饰性地图海报。
  • 为生成艺术项目创作风格化地图作品。
  • 在学习地理空间 Python 时直观浏览 OpenStreetMap 数据。
  • 制作用于礼品或家居装饰的可打印地图图像。

快速上手

  1. 1

    从 PyPI 安装 prettymaps

    pip install prettymaps
  2. 2

    导入 prettymaps 并绘制某地的地图

    python -c "import prettymaps; plot = prettymaps.plot('Stad van de Zon, Heerhugowaard, Netherlands')"

使用前须知

  • 需要联网才能获取 OpenStreetMap 数据。
  • 采用 AGPL-3.0 许可证,分发或网络提供的衍生作品必须公开源代码。

收录于专题

标签

常见问题

prettymaps 是什么?
一个基于 OpenStreetMap 数据绘制自定义地图艺术图的极简 Python 库。 prettymaps 根据地名获取 OpenStreetMap 数据,并用 matplotlib 渲染成风格化的地图图像。可以按标签选择水系、建筑、道路、公园等各类图层,并为每层单独设置颜色、填充和描边。
prettymaps 可以免费使用吗?用的什么许可证?
prettymaps 以 AGPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
prettymaps 还在维护吗?
半年内有更新。prettymaps 最近一次提交是在 2026年7月30日。
prettymaps 适合用来做什么?
制作城市或街区的装饰性地图海报。 为生成艺术项目创作风格化地图作品。 在学习地理空间 Python 时直观浏览 OpenStreetMap 数据。 制作用于礼品或家居装饰的可打印地图图像。
prettymaps 怎么安装和运行?
从 PyPI 安装 prettymaps: pip install prettymaps 导入 prettymaps 并绘制某地的地图: python -c "import prettymaps; plot = prettymaps.plot('Stad van de Zon, Heerhugowaard, Netherlands')"
在哪里获取 prettymaps?
源代码和安装说明在 GitHub 上:https://github.com/marceloprates/prettymaps

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目