Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion map2loop/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,7 @@ def __init__(
self.thickness_calculator = [InterpolatedStructure(
dtm_data=self.map_data.get_map_data(Datatype.DTM),
bounding_box=self.bounding_box,
is_strike=False
)]


Expand Down Expand Up @@ -610,7 +611,7 @@ def calculate_stratigraphic_order(self, take_best=False):

@beartype.beartype
def set_thickness_calculator(
self, thickness_calculator: Union['ThicknessCalculator', List['ThicknessCalculator']]
self, thickness_calculator: Union['ThicknessCalculator', List['ThicknessCalculator']], is_strike: bool = False
) -> None:
"""
Sets the thickness_calculator attribute for the object.
Expand All @@ -628,6 +629,7 @@ def set_thickness_calculator(
ThicknessCalculator or a list of such instances.
"""
if isinstance(thickness_calculator, ThicknessCalculator):
thickness_calculator.is_strike = is_strike
thickness_calculator = [thickness_calculator]

# Now check if thickness_calculator is a list of valid instances
Expand All @@ -639,6 +641,8 @@ def set_thickness_calculator(
)

# Finally, set the calculators
for tc in thickness_calculator:
tc.is_strike = is_strike
self.thickness_calculator = thickness_calculator

def get_thickness_calculator(self) -> List[str]:
Expand Down
21 changes: 14 additions & 7 deletions map2loop/thickness_calculator.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ def __init__(
self,
dtm_data: Optional[gdal.Dataset] = None,
bounding_box: Optional[dict] = None,
max_line_length: Optional[float] = None
max_line_length: Optional[float] = None,
is_strike: Optional[bool] = False,
):
"""
Initialiser of for ThicknessCalculator
Expand All @@ -48,6 +49,7 @@ def __init__(
self.max_line_length = max_line_length
self.dtm_data = dtm_data
self.bounding_box = bounding_box
self.is_strike = is_strike

def type(self):
"""
Expand Down Expand Up @@ -221,12 +223,13 @@ def __init__(
self,
dtm_data: Optional[gdal.Dataset] = None,
bounding_box: Optional[dict] = None,
max_line_length: Optional[float] = None
max_line_length: Optional[float] = None,
is_strike: Optional[bool] = False
):
"""
Initialiser for interpolated structure version of the thickness calculator
"""
super().__init__(dtm_data, bounding_box, max_line_length)
super().__init__(dtm_data, bounding_box, max_line_length, is_strike)
self.thickness_calculator_label = "InterpolatedStructure"
self.lines = None

Expand Down Expand Up @@ -475,13 +478,14 @@ def __init__(
self,
dtm_data: Optional[gdal.Dataset] = None,
bounding_box: Optional[dict] = None,
max_line_length: Optional[float] = None
max_line_length: Optional[float] = None,
is_strike: Optional[bool] = False
):
super().__init__(dtm_data, bounding_box, max_line_length)
super().__init__(dtm_data, bounding_box, max_line_length, is_strike)
self.thickness_calculator_label = "StructuralPoint"
self.strike_allowance = 30
self.lines = None


@beartype.beartype
def compute(
Expand Down Expand Up @@ -575,7 +579,10 @@ def compute(

# find unit and strike
litho_in = measurement['unit_name']
strike = (measurement['DIPDIR'] - 90) % 360
if self.is_strike:
strike = measurement['DIPDIR']
else:
strike = (measurement['DIPDIR'] - 90) % 360

# find bounding box of the lithology
bbox_poly = geology[geology['UNITNAME'] == litho_in][['minx', 'miny', 'maxx', 'maxy']]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1683,7 +1683,8 @@ def test_calculate_thickness_InterpolatedStructure():
"top": 3000,
}
thickness_calculator = InterpolatedStructure(dtm_data=md.get_map_data(Datatype.DTM),
bounding_box=md.bounding_box)
bounding_box=md.bounding_box,
is_strike=False)

result = thickness_calculator.compute(
units=st_units,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1660,7 +1660,7 @@ def check_thickness_values(result, column, description):

def test_calculate_thickness_structural_point():
# Run the calculation
thickness_calculator = StructuralPoint()
thickness_calculator = StructuralPoint(is_strike=False)

md = MapData()
md.sampled_contacts = s_c
Expand Down
Loading