prettymapp icon indicating copy to clipboard operation
prettymapp copied to clipboard

🖼️ Create beautiful maps from OpenStreetMap data in a streamlit webapp

prettymapp 🖼️

Prettymapp is a webapp to create beautiful maps from OpenStreetMap data (based on prettymaps)


🎈 Try it out here: prettymapp on streamlit 🎈



Based on the prettymaps project

Prettymapp is based on a rewrite of the fantastic prettymaps project by @marceloprates. All credit for the original idea, designs and implementation go to him. The prettymapp rewrite focuses on speed and adapted configuration to interface with the webapp. It drops more complex configuration options in favour of improved speed, reduced code complexity and simplified configuration interfaces. It is partially tested and adds a streamlit webapp component.

Standalone Python package

In addition to the streamlit webapp, you can also use the Python package to create your own application or further customize the functionality.

Installation:

pip install git+https://github.com/chrieke/prettymapp.git

Define the area, download and plot the osm data:

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="Brandenburger Tor, Berlin", distance=500, rectangular=True)
df = get_osm_geometries(aoi=aoi)

fig = Plot(
    df=df,
    aoi_bounds=aoi.bounds,
    draw_settings=STYLES["Peach"]
).plot_all()

To customize the map apperance, use the additional arguments of the Plot class (e.g. shape, contour_width etc.). Check the preconfigured styles and webapp examples for inspiration.