trajdl.grid.base module#

class trajdl.grid.base.BaseGridSystem(boundary: RectangleBoundary)[source]#

Bases: ABC

property boundary: RectangleBoundary#
in_boundary(x: float, y: float) bool[source]#

x, y是否在当前的边界内

in_boundary_np(coords: ndarray) ndarray[source]#
static load(path: str) BaseGridSystem[source]#
locate(x: float, y: float) str[source]#
abstract locate_unsafe(x: float, y: float) str[source]#

判断x, y属于哪个网格,为了性能允许不check x,y是否在边界内

save(path: str) None[source]#
class trajdl.grid.base.SimpleGridSystem(boundary: RectangleBoundary, step_x: float, step_y: float)[source]#

Bases: BaseGridSystem

基础网格系统,一般x是经度,y是纬度

get_centroid_of_grid(grid_x: int, grid_y: int) Tuple[float, float][source]#

给定网格坐标,获取网格中心点的原始坐标

in_boundary_by_grid_coordinate(grid_x: int, grid_y: int) bool[source]#
locate_by_grid_coordinate(grid_x: int, grid_y: int) str[source]#

将网格坐标转换为位置id

locate_unsafe(x: float, y: float) str[source]#

使用向下取整,因此所有网格都是左侧和下侧的边界是包含的,右侧和上侧是非包含

locate_unsafe_np(coords: ndarray, unk_loc: str | None = None) List[str][source]#
property num_x_grids: int#
property num_y_grids: int#
property step_x: float#
property step_y: float#
to_grid_coordinate(loc: str) Tuple[int, int][source]#
to_grid_coordinate_unsafe(loc: str) Tuple[int, int][source]#