bug in generate when using shapefile having geometries with Z attribute
Using generate with a shapefile having Z information is not working due to an error in rasterio/fiona.
0%| | 0/238686 [00:00<?, ?it/s]
'2022-06-21 14:05:28,796 odeon [ERROR | ''main.py:129] > something went wrong during generation
error code : name of error: ERR_GENERATION_ERROR, code value of error: 10
trace back: Traceback (most recent call last):
File "/home/ign.fr/ndavid/dev/odeon-landcover/odeon/scripts/generate.py", line 123, in __call__
self.pre_rasterize_mask(i)
File "/home/ign.fr/ndavid/dev/odeon-landcover/odeon/scripts/generate.py", line 565, in pre_rasterize_mask
polygon_window = geometry_window(
File "/home/ign.fr/ndavid/anaconda3/envs/odeona/lib/python3.9/site-packages/rasterio/features.py", line 441, in geometry_window
all_bounds = [bounds(shape, transform=~dataset.transform) for shape in shapes]
File "/home/ign.fr/ndavid/anaconda3/envs/odeona/lib/python3.9/site-packages/rasterio/features.py", line 441, in <listcomp>
all_bounds = [bounds(shape, transform=~dataset.transform) for shape in shapes]
File "/home/ign.fr/ndavid/anaconda3/envs/odeona/lib/python3.9/site-packages/rasterio/features.py", line 390, in bounds
return _bounds(geom, north_up=north_up, transform=transform)
File "rasterio/_features.pyx", line 434, in rasterio._features._bounds
TypeError: can't multiply sequence by non-int of type 'Affine'
stack trace: can't multiply sequence by non-int of type 'Affine'
()
str{}'
Converting input shapefile to 2D geometries before using generate solve the issue, but this could be better managed by forcing 2d geom in generate code.