Streetpy is a python library to analyse streets dataframes based on a multimodal representation.
A streetpy encapsulates a complex representation of streets in a pandas dataframe with spatial functions (from geopandas) and graph functions (from netpandas (https://https://github.com/chourmo/netpandas)). The base format has one row for each street segment, with attributes for directional accessibility per mode. For example bike and bike_rev columns are filled with data if a bike can use this street.
Processed modes are walk, bike, transit, rail and drive. Other modes may be added later (such as trucks). A single mode and directed dataframe can be extracted from this base dataframe. It is used to extract shortest path or isochrones, using pandana library.
Streetpy provides fast data extraction from openstreetmap based on the osmdatapy (https://https://github.com/chourmo/osmdatapy) and data simplification functions.
Streetpy provides some complex street data functions : dataframe conflation (add attrbutes from another street datasource), multiple source-target shortest paths.
Some attibutes can be evaluated : speed from max possible speed based on a hour speed profile, urban context...
Documentation is available at https://pyrosm.readthedocs.io.
Copyright (c) 2022, chourmo
Project based on the Computational Molecular Science Python Cookiecutter version 1.6.