General Performance improvements related to geometry manipulations
There are various options to explore to reduce the setup time (i.e. queuing all the function calls before beginning to execute them):
- Clip the tile_index_extents to the region to rasterise buffered by the radius before the for loop - will limit the number of tiles to search through in 'select_lidar_files'. Do this in the roughness
_add_tiled_lidar_chunkedmethod as well
Addressed as part of https://github.com/rosepearson/GeoFabrics/issues/131 - In
_define_chunk_regionexplore buffering and clipping the shapely primatives instead of creating geopadas.GeoDataFrame's before the final step
Note this built on the work in https://github.com/rosepearson/GeoFabrics/issues/127
Also look at: Not quite the same subject - but when picking this up again could look at using dask with pandas to remove the horrendous bottle neck that exists when calculating the 'open waterway elevations'. See https://github.com/rosepearson/GeoFabrics/blob/main/src/geofabrics/processor.py#L2386
Each row should be able to operate in parallel
Have looked at these options. Dask GeoPandas wasn't quite ready with apply, and have addressed some of the define chunk region.