in granule_ingester/granule_ingester/processors/ElevationRange.py [0:0]
def process(self, tile, dataset):
tile_type = tile.tile.WhichOneof("tile_type")
tile_data = getattr(tile.tile, tile_type)
tile_summary = tile.summary
spec_list = tile_summary.section_spec.split(',')
depth_index = None
for spec in spec_list:
v = spec.split(':')
if v[0] == self.dimension:
depth_index = int(v[1])
break
if depth_index is None:
logger.warning(f"Cannot compute depth bounds for tile {str(tile.summary.tile_id)}. Unable to determine depth index from spec")
return tile
elevation = self.e[depth_index]
# if tile_type in ['GridTile', 'GridMultiVariableTile']:
# elev_shape = (len(from_shaped_array(tile_data.latitude)), len(from_shaped_array(tile_data.longitude)))
# else:
# elev_shape = from_shaped_array(tile_data.latitude).shape
elev_shape = from_shaped_array(tile_data.variable_data).shape
# print(f'Elev shape: {elev_shape}')
tile_data.elevation.CopyFrom(
to_shaped_array(
np.full(
elev_shape,
elevation
)
)
)
tile_data.max_elevation = elevation
tile_data.min_elevation = elevation
return tile