- Install
conda
via Anaconda or Miniconda - Clone this repository and navigate to the project root directory
- Run
conda env create -f environment.yml && conda activate shared_parking
- Run
python run_model.py -c tests/winooski_example/configuration.yaml
to use the example configuration
- Copy
tests/winooski_example
to a new directory and editconfiguration.yaml
to customize inputs and other parameters - Add an
-s
flag to the run command to specify individual steps, ex:python run_model.py -c <your directory>/configuration.yaml -s factors preference
- Run
python run_model.py -h
for the full helptext
Tool contains three model steps, run sequentially. Inputs and outputs for the Winooski scenario can be found in the tests
directory. Timestamped logfiles are written to the logs/
output subdirectory.
Creates factors.csv, a csv of the factors dataframe. The factors dataframe contains every combination of factors related to shared parking.
Inputs
- Factors XLSX:
Parking Demand and Adjustments.xlsx
. Contains three sheets for Land Use, Monthly Usage, and TOD (time of day) factors
Outputs
factors.csv
a CSV of combined monthly, daily, and hourly demand factors
This script takes a parking demand generator shapefile and a parking supply shapefile as input. The parking generators (demand) are joined to the nearest lots (supply) within a certain buffer distance. The joined file is saved to the outputs directory.
Inputs
- Demand Shapefile:
Winooski_Demand_Generators.shp
. - Supply Shapefile:
Winooski_Parking_Supply.shp
.
Outputs
- Parking Preference CSV:
parking_preference.csv
.
This script assigns demand from the generators, using the land use/time of day factors and parking preference lists to distribute parking among all of the lots for each time-slot defined in the factors file.
Inputs
- Factors DataFrame from
Generate Parking Factors
- Parking Preference DataFrame from
Generate Parking Preference
Outputs
- Parking Distribution:
timeseries.csv
.