Skip to content

Commit

Permalink
np.array adapted
Browse files Browse the repository at this point in the history
np.array adapted
  • Loading branch information
dieuska committed Jun 18, 2024
1 parent 79649f2 commit 5e0a940
Show file tree
Hide file tree
Showing 8 changed files with 43 additions and 20 deletions.
4 changes: 2 additions & 2 deletions brdr/aligner.py
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,7 @@ def process_dict_thematic(

def predictor(
self,
relevant_distances=np.arange(0.1, 5.05, 0.1, dtype=float),
relevant_distances=np.arange(0, 300, 10, dtype=int)/100,
od_strategy=OpenbaarDomeinStrategy.SNAP_SINGLE_SIDE,
treshold_overlap_percentage=50,
):
Expand Down Expand Up @@ -516,7 +516,7 @@ def predictor(
for zs in zero_streaks:
dict_predicted[key][zs[0]] = dict_series[zs[0]]
dict_predicted[key] = filter_resulting_series_by_key(dict_predicted[key],key)
return dict_predicted
return dict_predicted, diffs

def process_series(
self,
Expand Down
39 changes: 31 additions & 8 deletions examples/example_eo.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,44 @@
import numpy as np

from brdr.aligner import Aligner
from brdr.utils import get_oe_dict_by_ids
from examples import show_map
from examples import show_map, plot_series

if __name__ == "__main__":
# EXAMPLE to test the algorithm for erfgoedobject with relevant distance 0.2m and od_strategy SNAP_ALL_SIDE

# Initiate brdr
aligner = Aligner()
# Load thematic data & reference data
dict_theme = get_oe_dict_by_ids([206363], oetype='erfgoedobjecten')
#dict_theme = get_oe_dict_by_ids([206363], oetype='erfgoedobjecten')

erfgoedobjecten =[206407,
# 206403,
# 206372,
# 206369,
# 206377,
# 206371,
# 206370,
# 206368,
206786
]
dict_theme = get_oe_dict_by_ids(erfgoedobjecten, oetype='erfgoedobjecten')
aligner.load_thematic_data_dict(dict_theme)
aligner.load_reference_data_grb_actual(grb_type="adp", partition=1000)

#RESULTS
rel_dist = 0.2
dict_results_by_distance = {}
#put resulting tuple in a dictionary
dict_results_by_distance[rel_dist] = aligner.process_dict_thematic(rel_dist,2)
aligner.export_results("output/")
show_map(dict_results_by_distance, aligner.dict_thematic, aligner.dict_reference)
# rel_dist = 0.2
# dict_results_by_distance = {}
# #put resulting tuple in a dictionary
# dict_results_by_distance[rel_dist] = aligner.process_dict_thematic(rel_dist,2)
# aligner.export_results("output/")
# show_map(dict_results_by_distance, aligner.dict_thematic, aligner.dict_reference)

series = np.arange(0, 200, 20, dtype=int)/100
#predict which relevant distances are interesting to propose as resulting geometry
dict_predicted, diffs = aligner.predictor(relevant_distances=series, od_strategy=2,treshold_overlap_percentage=50)
for key in dict_predicted.keys():
diff ={}
diff[key]= diffs[key]
plot_series(series,diff)
show_map(dict_predicted[key], {key:aligner.dict_thematic[key]}, aligner.dict_reference)
2 changes: 1 addition & 1 deletion examples/example_parcel_vs_building.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
) # gebruik de actuele adp-percelen adp= administratieve percelen

# Example how to use a series (for histogram)
series = np.arange(0.1, 5.05, 0.1, dtype=float)
series = np.arange(0, 300, 10, dtype=int)/100
x_dict_series = aligner_x.process_series(series, 4, 50)
x_resulting_areas = diffs_from_dict_series(x_dict_series, aligner_x.dict_thematic)
y_dict_series = aligner_y.process_series(series, 4, 50)
Expand Down
2 changes: 1 addition & 1 deletion examples/example_wanted_changes.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
print(aligner.get_formula(results[key]))

#Example how to use a series (for histogram)
series = np.arange(0.1, 10.05, 0.1, dtype=float)
series = np.arange(0, 500, 10, dtype=int)/100
dict_series = aligner.process_series(series,4,50)
resulting_areas = diffs_from_dict_series(dict_series, aligner.dict_thematic)
plot_series(series, resulting_areas)
Expand Down
2 changes: 1 addition & 1 deletion examples/examples_predictor.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
aligner.load_thematic_data_file("../tests/testdata/test_wanted_changes.geojson", 'theme_id')
aligner.load_reference_data_grb_actual(grb_type='adp', partition=1000) #gebruik de actuele adp-percelen adp= administratieve percelen

series = np.arange(0.1, 5.00, 0.2, dtype=float)
series = np.arange(0, 300, 10, dtype=int)/100
#predict which relevant distances are interesting to propose as resulting geometry
dict_predicted = aligner.predictor(relevant_distances=series, od_strategy=4,treshold_overlap_percentage=50)
for key in dict_predicted.keys():
Expand Down
2 changes: 1 addition & 1 deletion examples/stats_snapping_distance_creation.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
array_treshold_overlap_percentage = [50]
array_od = [1]
# array_relevant_distance = [0.2, 0.5, 1, 1.5, 2, 3, 4, 5, 6, 8, 10]
array_relevant_distance = np.arange(0.1, 10.05, 0.1, dtype=float)
array_relevant_distance = np.arange(0, 500, 10, dtype=int)/100
print(array_relevant_distance)

x = Aligner()
Expand Down
4 changes: 2 additions & 2 deletions tests/test_aligner.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,9 +125,9 @@ def test_predictor(self):
self.sample_aligner.load_thematic_data_dict(thematic_dict)
# LOAD REFERENCE DICTIONARY
self.sample_aligner.load_reference_data_dict(reference_dict)
series = np.arange(0.1, 5.00, 0.2, dtype=float)
series = np.arange(0, 300, 10, dtype=int)/100
# predict which relevant distances are interesting to propose as resulting geometry
dict_predicted = self.sample_aligner.predictor(relevant_distances=series, od_strategy=4,
dict_predicted, diffs = self.sample_aligner.predictor(relevant_distances=series, od_strategy=4,
treshold_overlap_percentage=50)
self.assertEqual(len(dict_predicted), len(thematic_dict))

Expand Down
8 changes: 4 additions & 4 deletions tests/test_examples.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ def test_example_multi_to_single(self):
# ) # gebruik de actuele adp-percelen adp= administratieve percelen
#
# # Example how to use a series (for histogram)
# series = np.arange(0.1, 5.05, 0.1, dtype=float)
# series = np.arange(0, 300, 10, dtype=int)/100
# x_dict_series = aligner_x.process_series(series, 4, 50)
# x_resulting_areas = diffs_from_dict_series(x_dict_series, aligner_x.dict_thematic)
# y_dict_series = aligner_y.process_series(series, 4, 50)
Expand All @@ -106,7 +106,7 @@ def test_example_wanted_changes(self):
dict_results_by_distance[rel_dist] = aligner.process_dict_thematic(rel_dist, 4)

# Example how to use a series (for histogram)
series = np.arange(0.1, 10.05, 0.1, dtype=float)
series = np.arange(0, 300, 10, dtype=int)/100
dict_series = aligner.process_series(series, 4, 50)
resulting_areas = diffs_from_dict_series(dict_series, aligner.dict_thematic)
for key in resulting_areas:
Expand All @@ -130,8 +130,8 @@ def test_example_predictor(self):
aligner.load_reference_data_grb_actual(grb_type='adp',
partition=1000) # gebruik de actuele adp-percelen adp= administratieve percelen

series = np.arange(0.1, 5.00, 0.2, dtype=float)
series = np.arange(0, 300, 10, dtype=int)/100
# predict which relevant distances are interesting to propose as resulting geometry
dict_predicted = aligner.predictor(relevant_distances=series, od_strategy=4, treshold_overlap_percentage=50)
dict_predicted,diffs = aligner.predictor(relevant_distances=series, od_strategy=4, treshold_overlap_percentage=50)
for key in dict_predicted.keys():
continue

0 comments on commit 5e0a940

Please sign in to comment.