def forward(self, v: TorchscriptPreprocessingInput) -> torch.Tensor: if torch.jit.isinstance(v, List[torch.Tensor]): v = torch.stack(v) if not torch.jit.isinstance(v, torch.Tensor): raise ValueError(f"Unsupported input: {v}") v = torch.nan_to_num(v, nan=self.computed_fill_value) v = v.long() outputs: List[torch.Tensor] = [] for v_i in v: components = h3_to_components(v_i) header: List[int] = [ components.mode, components.edge, components.resolution, components.base_cell, ] cells_padding: List[int] = [self.h3_padding_value] * ( self.max_h3_resolution - len(components.cells)) output = torch.tensor(header + components.cells + cells_padding, dtype=torch.uint8, device=v.device) outputs.append(output) return torch.stack(outputs)
def h3_to_list(h3_int): components = h3_to_components(h3_int) header = [ components['mode'], components['edge'], components['resolution'], components['base_cell'] ] cells_padding = [H3_PADDING_VALUE ] * (MAX_H3_RESOLUTION - len(components['cells'])) return header + components['cells'] + cells_padding
def h3_to_list(h3_int): components = h3_to_components(h3_int) header = [ components.mode, components.edge, components.resolution, components.base_cell ] cells_padding = [H3_PADDING_VALUE ] * (MAX_H3_RESOLUTION - len(components.cells)) return header + components.cells + cells_padding
def h3_to_list(h3_int): components = h3_to_components(h3_int) header = [components["mode"], components["edge"], components["resolution"], components["base_cell"]] cells_padding = [H3_PADDING_VALUE] * (MAX_H3_RESOLUTION - len(components["cells"])) return header + components["cells"] + cells_padding