***************************************************************************
ParkingSpacePotential 2.0
(C) Lisa-Marie Jalyschko (lisamarie.jalyschko@gmail.com)

This QGIS plugin analyzes the location and capacity of public parking garages (PPG) and 
helps to identify street side parking (SSP) which could be shifted into them. After determening the SSP which are 
located within a freely adjustable walking distance to the chosen PPG, the plugin calculates the number of SSP 
that could be shifted into a PPG in terms of its free capacity. If provided an URL, it is possible to import utilization 
data for parking garages from an API.

***************
IMPORTANT NOTE: In order for the plugin to function properly, you will the following input files:

	1. network (vector: lines) 
	street network which needs to be fully walkable (e.g. no motorhighways)

	2. public parking garages (vector: point)
	necessary attributes for each object: 
		'name' (string)			name of the PPG 
		'capacity' (int)		total capacity of the PPG (e.g. 100)
		'utilized' (double)		average utilization of the PPG as a decimal value (e.g. 0.43)
	optional attributes:
		'target_util' (double)	target utilization for parking garage as a decimal value (e.g. 0,8)

	3. street side parking (vector: polygon or lines)
	necessary attributes for each object:
		'id' (int)				individual id 
		'capacity' (int)		total capacity of the public parking space (e.g. 3)
	optional attributes:
		'd_cap' (int)			number of disability parking spaces of total capacity (e.g. 1)
		'r_cap' (int)			number of residential parking spaces of total capacity (e.g. 2)
		'ld_cap' (int)			number of parking spaces for load and delivery of total capacity (e.g. 0)
		'st_cap' (int)			number of short term parking spaces of total capacity (e.g. 0)
		'e_cap' (int)			number of parking spaces for electric vehicles of total capacity (e.g. 0)

You can use the QGIS-Plugin 'QuickOSM' to download the data. Please make sure that all the files contain the necessary attributes 
in their correct format.

The recommended CRS for all input files is EPSG:4326 / WGS 84

See enclosed example files for further information. 
***************

##### GUI #####

When the GUI opens you can...
- select the input files in the ComboBoxes (necessary)
- select a radius (maximum walking distance between parking garages and street side parking in Meters) (necessary)
- select whether you want to override the target utilization with a global value (optional)
- select whether you want to import current data on parking garage utilization from an API (optional)

	# IMPORTANT NOTE:
	# If you want to import data from an API, you will have to provide an URL as well as the paths to the attributes specified
	  
	Example paths for response from https://services.gis.konstanz.digital/geoportal/rest/services/Fachdaten/Parkplaetze_Parkleitsystem/MapServer/0/query?where=1%3D1&outFields=*&outSR=4326&f=json 
	- for features:	features
	- for name: 	attributes,name
	- for capacity: attributes,capacity
	etc.

- select whether you want to restrict the shiftable parking spaces by characteristics (e.g. leave out disability parking spaces) (optional)
- select whether output layers should be saved as .CSV to selected output directory (optional)
- select the parking garages you want to analyse by clicking on them in the MapCanvas (necessary)
- click 'OK'

##### OUTPUT #####

- parking spaces : 	a vector layer containing all the parking spaces within the selected radius to at least one of the 
					selected parking garages, whether they are shiftable into one of these garages and if so, which one.
- parking garages : 	vector layer containing the selected parking garages, the number of parking spaces shiftable 
					into them and their new utilization

