Mapro 是一个面向地铁图数据的 Python CLI 工具,当前聚焦于静态渲染和地图数据分析。
- 渲染地铁图为 PNG 预览图
- 监听地图数据文件变化并自动重绘
- 在渲染前按倍数缩放站点坐标
- 计算地图站点坐标边界
- 支持目录地图包与 ZIP 地图包
- 支持地图包打包与解包
uv sync查看帮助:
uv run python main.py --help渲染预览图:
uv run python main.py render library/gz --output map_preview.png渲染前缩放坐标:
uv run python main.py render library/gz --scale 1.5 --output map_preview.png监听文件变化:
uv run python main.py render library/gz --watch计算坐标边界:
uv run python main.py bounds library/gz渲染目录地图包:
uv run python main.py render maps/gz_map/仓库里已经拆好了一个完整示例包:
uv run python main.py render library/gz --output map_preview.png打包目录地图包:
uv run python main.py pack maps/gz_map/ --output gz_map.zip解包地图压缩包:
uv run python main.py unpack gz_map.zip --output maps/gz_map/也可以通过安装后的命令入口运行:
uv run mapro --help目录地图包推荐结构:
gz_map/
map.json
stations/
101.json
102.json
lines/
1.json
2.json
connections/
core.json
map.json用于存放id、meta、pricing等全局信息stations/*.json中放stations,推荐每站一个文件lines/*.json中放lines,推荐每线一个文件connections/*.json中放connections- CLI 会在加载时自动合并这些模块
- 仓库内也提供了从
gz.json拆出的完整目录包:library/gz/
uvx ruff format
uvx ty check .
uv run python -m unittest discover -s tests