map2loop.thickness_calculator.InterpolatedStructure#
- class map2loop.thickness_calculator.InterpolatedStructure#
Bases:
ThicknessCalculator
This class is a subclass of the ThicknessCalculator abstract base class. It implements the thickness calculation method for a given set of interpolated data points.
- thickness_calculator_label#
A string that stores the label of the thickness calculator.
- Type:
str
- For this class, it is "InterpolatedStructure".
- compute(units
pandas.DataFrame, stratigraphic_order: list, basal_contacts: pandas.DataFrame, map_data: MapData)
- -> pandas.DataFrame
Calculates a thickness map for the overall map area.
Initialiser for interpolated structure version of the thickness calculator
- __init__()#
Initialiser for interpolated structure version of the thickness calculator
Methods
__init__
()Initialiser for interpolated structure version of the thickness calculator
compute
(units, stratigraphic_order, ...)Execute thickness calculator method takes unit data, basal_contacts, stratigraphic order, orientation data and DTM data to estimate unit thickness.
type
()Getter for subclass type label
- compute(units: DataFrame, stratigraphic_order: list, basal_contacts: GeoDataFrame, structure_data: DataFrame, map_data: MapData) DataFrame #
Execute thickness calculator method takes unit data, basal_contacts, stratigraphic order, orientation data and DTM data to estimate unit thickness.
The method works by iterating over the stratigraphic order of units. For each unit, it finds the basal contact points and the top contact line. It then calculates the shortest line between these points. For each basal contact point, it finds the interpolated points that are within 10% of the length of the shortest line. It then calculates the true thickness of the unit at these points using the formula t = L . sin dip, where L is the length of the line orthogonal to both contacts and dip is the dip of the interpolated points. The method then calculates the median thickness and standard deviation for the unit.
- Parameters:
units (pandas.DataFrame) – the data frame of units to add thicknesses to
stratigraphic_order (list) – a list of unit names sorted from youngest to oldest
basal_contacts (geopandas.GeoDataFrame) – basal contact geo data with locations and unit names of
contacts (the)
structure_data (pandas.DataFrame) – sampled structural data
map_data (map2loop.MapData) – a catchall so that access to all map data is available
- Returns:
pandas.DataFrame – units dataframe with added thickness columns: “ThicknessMedian” is the median thickness of the unit, “ThicknessStdDev” is the standard deviation of the thickness of the unit
- type()#
Getter for subclass type label
- Returns:
str – Name of subclass