UnstructuredData

class subsurface.structs.base_structures.unstructured_data.UnstructuredData(data: xarray.core.dataset.Dataset, cells_attr_name: str = 'cell_attrs', vertex_attr_name: str = 'vertex_attrs')[source]

Bases: object

Attributes Summary

attributes

attributes_to_dict

cells

cells_attr_name

extent

n_elements

n_points

n_vertex_per_element

points_attributes

points_attributes_to_dict

vertex

vertex_attr_name

Primary structure definition for unstructured data

Methods Summary

create_default_cells_arg(cells, n_vertex)

data_array_attributes_from_raw_data(…)

from_array(vertex, cells[, cells_attr, …])

Constructor of UnstructuredData from arrays or pandas DataFrames.

from_data_arrays_dict(xarray_dict[, coords, …])

from_raw_data(raw_data[, coords, …])

raw_attributes_to_dict_data_arrays(…)

to_binary([order])

to_xarray()

vertex_and_cells_arrays_to_data_array(cells, …)

Attributes Documentation

attributes
attributes_to_dict
cells
cells_attr_name: str = 'cell_attrs'
extent
n_elements
n_points
n_vertex_per_element
points_attributes
points_attributes_to_dict
vertex
vertex_attr_name: str = 'vertex_attrs'

Primary structure definition for unstructured data

data

Data structure where we store

Type

xarray.Dataset

Parameters

ds (xarray.Dataset) – Directly a dataset with the expected structured. This arg is specially thought for loading data from disk

Notes

Depending on the shape of edge the following unstructured elements can be created:

  • cells NDArray[(Any, 0), IntX] or NDArray[(Any, 1), IntX] -> Point cloud. E.g. Outcrop scan with lidar

  • cells NDArray[(Any, 2), IntX] -> Lines. E.g. Borehole

  • cells NDArray[(Any, 3), IntX] -> Mesh. E.g surface-DEM Topography

  • cells NDArray[(Any, 4), IntX]
    • -> tetrahedron

    • -> quadrilateral (or tetragon) UNSUPPORTED?

  • cells NDArray[(Any, 8), IntX] -> Hexahedron: Unstructured grid/Prisms

Methods Documentation

classmethod create_default_cells_arg(cells: Literal[points, lines], n_vertex: int)numpy.ndarray[source]
classmethod data_array_attributes_from_raw_data(raw_data: Union[None, pandas.core.frame.DataFrame], dims: List[str], n_rows: int)xarray.core.dataarray.DataArray[source]
classmethod from_array(vertex: numpy.ndarray, cells: Union[numpy.ndarray, Literal[lines, points]], cells_attr: Union[None, pandas.core.frame.DataFrame, Dict[str, xarray.core.dataarray.DataArray]] = None, vertex_attr: Union[None, pandas.core.frame.DataFrame, Dict[str, xarray.core.dataarray.DataArray]] = None, coords: Optional[Mapping[Hashable, Any]] = None, xarray_attributes: Optional[Mapping[Hashable, Any]] = None, default_cells_attr_name: str = 'cell_attrs', default_points_attr_name: str = 'vertex_attrs', attributes: Union[None, pandas.core.frame.DataFrame, Dict[str, xarray.core.dataarray.DataArray]] = None)[source]

Constructor of UnstructuredData from arrays or pandas DataFrames.

Parameters
  • vertex (np.ndarray) – NDArray[(Any, 3), FloatX]: XYZ point data

  • cells (Union[np.ndarray, Literal["lines", "points"]]) – NDArray[(Any, …), IntX]: Combination of vertex that create different geometric elements. If str use default values for either points or lines

  • (Union[None (vertex_attr) – Number associated to an element

  • pd.DataFrame – Number associated to an element

  • Dict[str – Number associated to an element

  • xr.DataArray]]] – Number associated to an element

  • (Union[None – Number associated to points

  • pd.DataFrame – Number associated to points

  • Dict[str – Number associated to points

  • xr.DataArray]]] – Number associated to points

  • coords

  • xarray_attributes

  • attributes

  • default_cells_attr_name

  • default_points_attr_name

Returns:

classmethod from_data_arrays_dict(xarray_dict: Dict[str, xarray.core.dataarray.DataArray], coords: Optional[Mapping[Hashable, Any]] = None, xarray_attributes: Optional[Mapping[Hashable, Any]] = None, default_cells_attributes_name='cell_attrs', default_points_attributes_name='vertex_attrs')[source]
classmethod from_raw_data(raw_data: subsurface.reader.readers_data.RawDataUnstructured, coords: Optional[Mapping[Hashable, Any]] = None, xarray_attributes: Optional[Mapping[Hashable, Any]] = None, default_cells_attributes_name: str = 'cell_attrs', default_points_attributes_name: str = 'vertex_attrs')[source]
classmethod raw_attributes_to_dict_data_arrays(default_attributes_name: str, n_items: int, dims: List[str], raw_attributes: Union[None, pandas.core.frame.DataFrame, Dict[str, xarray.core.dataarray.DataArray]])Dict[str, xarray.core.dataarray.DataArray][source]
to_binary(order='F')[source]
to_xarray()[source]
classmethod vertex_and_cells_arrays_to_data_array(cells: Union[numpy.ndarray, Literal[lines, points]], vertex: numpy.ndarray)[source]