solarPV_identification/PV_postprocessing649be84a8caamaster
solarPV_identification/PV_postprocessing
649be84a8caamaster
PV_postprocessing
PV_postprocessing
README.md
README.md
Alina's code for linking PV-predicted pixels with buildings and roofs ID
- I merged the TLM data into building polygons, each with a unique BLD_ID; this BLD_ID is attributed to each roof and each TLM polygon
- Merged polygons: TLM_GVA_dissolved
- Roofs with BLD_ID: SOLKAT_DACH_GVA_BLD_ID
- TLM with BLD_ID: TLM_BLD_ID_GVA
- I have buffered the polygons, once by 3m and once by 5m:
- TLM_GVA_buffer_3m, TLM_GVA_buffer_5m
- Code for steps 1 and 2 is in Create_building_polygons.ipynb
- I have spatially joined the PV pixels with the roofs, and the remaining ones with the buffered buildings:
- PV_pixels_detected.csv in /scratch/walch/pv_linking/files (fidis)
- Code is in spatial_join_pv.py - this is the computationally expensive bit, I have split it into batches
- I have applied spatial clustering (DBSCAN) to the selected pixels, and excluded all clusters with less than 6m2 size
- PV_pixels_clustered.csv in /scratch/walch/pv_linking/files (fidis)
- Code is in cluster_pv.py
- I have grouped the remaining pixels first per roof, then per building (which represents the individual installations as discussed)
- PV_per_roof.csv in /scratch/walch/pv_linking/files (fidis)
- PV_installations.csv in /scratch/walch/pv_linking/files (fidis)
- Code is in group_PV_to_buildings.py
To run steps 3-5 on the cluster, use exec_intersect_pixels_w_roofs.sh. The script is necessary since you have 9M pixels, so I am processing the spatial join in batches. For the development of steps 3-5 I have used Existing_PV_per_roof_GVA.ipynb, but that might not be very understandable since it got a bit long.
c4science · Help