fastscapelib.ProfileGrid

class fastscapelib.ProfileGrid

A 1-dimensional profile grid.

__init__(self, size: int, spacing: float, bounds_status: NodeStatus | List[NodeStatus] | ProfileBoundaryStatus, nodes_status: Dict[int, NodeStatus] | None) None

Profile grid initializer (overloaded).

Parameters:
  • size (int) – Total number of grid nodes.

  • spacing (float) – Distance between two adjacent grid nodes.

  • bounds_status (NodeStatus or list or ProfileBoundaryStatus) – Status at boundary nodes (left/right grid edges).

  • nodes_status (dict, optional) – A dictionary where keys are node indices and values are NodeStatus values. If present (default is None), it is used to manually define the status at any node on the grid.

Methods

__init__(self, size, spacing, bounds_status, ...)

Profile grid initializer (overloaded).

from_length(self, size, length, ...)

Profile grid initializer from a given total length.

neighbors(idx)

Returns the neighbors of a given node.

neighbors_count(idx)

Returns the number of neighbors at a given node.

neighbors_distances(idx)

Returns the distances from a given node to its neighbors.

neighbors_indices(idx)

Returns the (flat) indices of the neighbors of a given node.

nodes_areas(*args)

Returns the area of the direct vicinity of a given node or all nodes.

nodes_indices(*args)

Returns the (flattened) indices of grid nodes, possibly filtered by node status.

nodes_status(*args)

Returns the status of a given node or all nodes.

Attributes

is_structured

is_uniform

length

Returns the total length of the grid for each of its dimension.

n_neighbors_max

shape

Returns the shape of the grid node arrays.

size

Returns the total number of grid nodes.

spacing

Returns the fixed distance between two adjacent nodes for each dimension.

static from_length(self, size: int, length: float, bounds_status: NodeStatus | List[NodeStatus] | ProfileBoundaryStatus, nodes_status: Dict[int, NodeStatus] | None) None

Profile grid initializer from a given total length.

Parameters:
  • size (int) – Total number of grid nodes.

  • length (float) – Total physical length of the grid.

  • bounds_status (NodeStatus or list or ProfileBoundaryStatus) – Status at boundary nodes (left/right grid edges).

  • nodes_status (dict, optional) – A dictionary where keys are node indices and values are NodeStatus values. If present (default is None), it is used to manually define the status at any node on the grid.

property length

Returns the total length of the grid for each of its dimension.

neighbors(idx: int) List[Neighbor]

Returns the neighbors of a given node.

Parameters:

idx (int) – The grid node (flat) index.

Returns:

neighbors (list) – A list of Neighbor instances.

Notes

For a RasterGrid, it is also possible to provide row and col indices as arguments, which returns a list of RasterNeighbor instances.

neighbors_count(idx: int) int

Returns the number of neighbors at a given node.

Parameters:

idx (int) – The grid node (flat) index.

neighbors_distances(idx: int) numpy.ndarray

Returns the distances from a given node to its neighbors.

Parameters:

idx (int) – The grid node (flat) index.

Returns:

distances (numpy.ndarray) – A 1-dimensional array of node distances (float). The neighbor order is the same than the one returned by neighbors_indices(idx).

neighbors_indices(idx: int) numpy.ndarray

Returns the (flat) indices of the neighbors of a given node.

Parameters:

idx (int) – The grid node (flat) index.

Returns:

indices (numpy.ndarray) – A 1-dimensional array of node (flat) indices (int).

Notes

For a RasterGrid, it is also possible to provide row and col indices as arguments.

nodes_areas(*args) float | numpy.ndarray

Returns the area of the direct vicinity of a given node or all nodes.

Overloaded method that supports the following signatures:

  1. nodes_areas() -> numpy.ndarray

  2. nodes_areas(idx: int) -> float

Parameters:

idx (int) – The grid node (flat) index.

nodes_indices(*args) numpy.ndarray

Returns the (flattened) indices of grid nodes, possibly filtered by node status.

Overloaded method that supports the following signatures:

  1. nodes_indices() -> numpy.ndarray

  2. nodes_indices(status: NodeStatus) -> numpy.ndarray

Parameters:

status (NodeStatus) – The status of the grid nodes to filter in.

Returns:

indices (numpy.ndarray) – A new, 1-dimensional array with grid node (filtered) flat indices.

nodes_status(*args) NodeStatus | numpy.ndarray

Returns the status of a given node or all nodes.

Overloaded method that supports the following signatures:

  1. nodes_status() -> numpy.ndarray

  2. nodes_status(idx: int) -> NodeStatus

Parameters:

idx (int) – The grid node (flat) index.

Returns:

status (NodeStatus or numpy.ndarray) – If an array is returned, it is a copy of the original array and has the NodeStatus enum class values (int) as values.

property shape

Returns the shape of the grid node arrays.

property size

Returns the total number of grid nodes.

property spacing

Returns the fixed distance between two adjacent nodes for each dimension.