示例#1
0
    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)
示例#2
0
 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
示例#3
0
 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
示例#4
0
 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