Prettymapp 项目教程
项目介绍
Prettymapp 是一个基于 OpenStreetMap 数据创建美观地图的 Web 应用和 Python 包。该项目是基于 prettymaps 项目的重写版本,专注于速度和适应性配置,以与 Web 应用接口。Prettymapp 简化了配置接口,减少了代码复杂性,并提高了运行速度。
项目快速启动
安装
首先,克隆项目仓库并安装必要的依赖:
git clone https://github.com/chrieke/prettymapp.git
cd prettymapp
pip install -r streamlit-prettymapp/requirements.txt
运行 Web 应用
使用以下命令启动 Streamlit Web 应用:
streamlit run streamlit-prettymapp/app.py
使用 Python 包
你也可以直接在 Python 中使用 prettymapp 包来创建地图:
from prettymapp.geo import get_aoi
from prettymapp.osm import get_osm_geometries
from prettymapp.plotting import Plot
from prettymapp.settings import STYLES
aoi = get_aoi(address="Praça Ferreira do Amaral Macau", radius=1100, rectangular=False)
df = get_osm_geometries(aoi=aoi)
fig = Plot(df=df, aoi_bounds=aoi.bounds, draw_settings=STYLES["Peach"])
fig.plot_all()
fig.savefig("map.jpg")
应用案例和最佳实践
案例一:自定义地图样式
你可以通过调整 Plot
类的参数来自定义地图的外观,例如形状和轮廓宽度:
fig = Plot(df=df, aoi_bounds=aoi.bounds, draw_settings=STYLES["Peach"], shape_contour_width=2)
案例二:从 OSM XML 文件生成地图
你可以从 OpenStreetMap 导出的 XML 文件生成地图:
from prettymapp.osm import get_osm_geometries_from_xml
df = get_osm_geometries_from_xml(filepath="Berlin.osm")
aoi_bounds = df.total_bounds
fig = Plot(df=df, aoi_bounds=aoi_bounds, draw_settings=STYLES["Peach"])
fig.plot_all()
fig.savefig("map.jpg")
典型生态项目
Prettymapp 项目与以下开源项目和工具紧密相关:
- OpenStreetMap (OSM): 提供地图数据。
- Streamlit: 用于创建交互式 Web 应用。
- Matplotlib: 用于地图绘制和可视化。
这些项目和工具共同构成了 Prettymapp 的生态系统,为用户提供了强大的地图创建和定制功能。