你是否想过,一张普通的地图也能像油画、水墨画或极简插画一样美?prettymaps 就是这样一款神奇的开源工具——它不渲染导航路线,也不做 GIS 分析,而是专注把 OpenStreetMap(开放街图)中的真实地理数据,转化为风格化、可定制、充满设计感的手绘风地图图像。无论是家乡小城、大学校园,还是巴黎埃菲尔铁塔周边,只需输入地名或坐标,就能一键生成可用于社交媒体分享、个人博客配图、甚至打印装裱的艺术级地图作品。
核心功能
- 一键生成高颜值地图:自动抓取 OpenStreetMap 数据,智能提取道路、水体、绿地、建筑轮廓等要素,并用柔和色彩与手绘质感重新组合呈现
- 深度风格自定义:支持调整配色方案(如莫兰迪色系、赛博朋克霓虹、水墨淡彩)、线条粗细、透明度、图层叠加顺序,甚至添加文字水印和装饰性边框
- 多尺度自由缩放:从街区级(500米半径)到城市级(10公里范围),精准控制视野范围,适配不同场景需求
- Jupyter 原生友好:专为数据科学工作流优化,在 Jupyter Notebook 中交互式调试参数、实时预览效果,所见即所得
- 矢量导出支持:不仅输出 PNG 静态图,还可导出 SVG 或 PDF 格式,方便设计师导入 Illustrator 或 Figma 进行二次创作
- 创意延展性强:内置「生成艺术」接口,支持随机扰动、分形变形、几何抽象等算法,让每张地图都独一无二
适合哪些人用
它不是给专业制图师准备的重型 GIS 软件,而是为设计师、教师、内容创作者、地理爱好者、Python 初学者和艺术科技(Art+Tech)实践者量身打造的轻量级创意工具。老师可以用它制作生动的地理课教具;自媒体博主能快速产出城市主题封面图;程序员在技术分享中插入一张亲手绘制的公司所在地地图,瞬间提升专业感与温度;学生做毕业设计时,更可用它为调研区域生成兼具数据真实性与视觉表现力的插图。
快速上手
安装仅需一条命令:pip install prettymaps(推荐使用 Python 3.9+)。运行示例也极其简单:
from prettymaps import plot
plot('São Paulo, Brazil', radius=1000)
想换个风格?加两行参数就行:
plot('Kyoto Station, Japan',
radius=800,
style='watercolor',
background_color='#f8f4e9',
text_kwargs={'fontsize': 16, 'color': '#333'})
所有参数均有中文文档说明,项目还附带 20+ 个现成 Notebook 案例(含上海、东京、柏林等地实测),打开即学即用。
项目信息
Draw pretty maps from OpenStreetMap data! Built with osmnx +matplotlib + shapely
13.1k
今日 +58 stars today
Stars
654
Forks
Python
AGPL-3.0
编程语言:Python|GitHub Star 数:13,095|开源协议:AGPL-3.0|GitHub 项目地址
它用最友好的方式,把严肃的地理信息变成了人人可参与的视觉实验——无需制图功底,也能拥有属于自己的城市艺术肖像。





