Skip to content

Commit 21da3b2

Browse files
committed
add color to edge, color depend of indicator score
1 parent 513c032 commit 21da3b2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+15147
-6426
lines changed

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"remoteEnv": {
2020
"PATH": "${containerEnv:PATH}:/usr/src/Lamia",
2121
"PYTHONPATH": "${containerEnv:PYTHONPATH}:/usr/src/Lamia:/usr/share/qgis/python:/usr/share/qgis/python/plugins:/usr/lib/python38.zip:/usr/lib/python3.8",
22-
"DISPLAY": "172.17.174.33:0.0",
22+
"DISPLAY": "172.17.250.113:0.0",
2323
//"DISPLAY": "192.168.1.17:0.0",
2424
"LANG": "C.UTF-8",
2525
"LIBGL_ALWAYS_INDIRECT": "1",

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,4 @@ autre_dossier/GPMB_Bacalan.sqlite
4848
.devcontainer/devcontainer.json
4949
.vscode/settings.json
5050
utils/pydbasedisplay/pydisplaydbase.py
51+
qgisiface/config/recentprojects.txt

api/libslamia/lamiaITVimport/lamiaITVimport.py

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1017,10 +1017,8 @@ def getQgsLayer(self, itvfiles):
10171017
# avancement = (((countline * 100) / total) * 0.9) + 10
10181018
# self.dlg.progress.setProperty("value", avancement)
10191019

1020-
# change style TODO JB, relative path to .qml in config, urbanD ?
1021-
path_file = os.path.join(Path(__file__).parent.parent.parent.parent, "config/base3_urbandrainage/lamiaITVimport/Anomalies ITV.qml")
1020+
path_file = os.path.join(os.path.dirname(Lamia.__file__), "config/base3_urbandrainage/lamiaITVimport/Anomalies_ITV.qml")
10221021
temp_layer.loadNamedStyle(path_file)
1023-
# Sortir du mode édition
10241022
temp_layer.commitChanges()
10251023

10261024
return temp_layer
@@ -1134,25 +1132,25 @@ def setQgsEgde(self, dataframe, itv_name):
11341132
indicators_list = []
11351133
# result_df = pd.DataFrame(index=dataframe.index, columns=["id_edge"])
11361134
for indicator in all_exfiltration_indicators.keys():
1137-
indicators_list.append(indicator)
1135+
indicators_list.append('score_' + indicator)
11381136
indicators_list.append('result_' + indicator)
11391137
# result_df[indicator] = np.nan
11401138
for indicator in all_infiltration_indicators:
1141-
indicators_list.append(indicator)
1139+
indicators_list.append('score_' + indicator)
11421140
indicators_list.append('result_' + indicator)
11431141
# result_df[indicator] = np.nan
11441142
for indicator in all_ensablement_indicators:
1145-
indicators_list.append(indicator)
1143+
indicators_list.append('score_' + indicator)
11461144
indicators_list.append('result_' + indicator)
11471145
# result_df[indicator] = np.nan
11481146
for indicator in all_red_cap_hyfraulique_indicators:
1149-
indicators_list.append(indicator)
1147+
indicators_list.append('score_' + indicator)
11501148
indicators_list.append('result_' + indicator)
11511149
# result_df[indicator] = np.nan
11521150

11531151
# create qgis layer to put ITV result
11541152
temp_layer = qgis.core.QgsVectorLayer(
1155-
f"NoGeometry?crs=epsg:{self.dbase.crsnumber}", "result_" + itv_name, "memory"
1153+
f"NoGeometry?crs=epsg:{self.dbase.crsnumber}", itv_name, "memory"
11561154
)
11571155

11581156
pr = temp_layer.dataProvider()
@@ -1329,25 +1327,16 @@ def computeOneIndicator(self, result_df, indicator, alpha, P, dict_of_indictors)
13291327
result_df[indicator][np.logical_and(under_limit <= result_df[indicator].values, result_df[indicator].values < treshold[0])] = result_df[indicator][np.logical_and(under_limit <= result_df[indicator].values, result_df[indicator].values < treshold[0])].values + result_df[col][np.logical_and(under_limit <= result_df[indicator].values, result_df[indicator].values < treshold[0])].values * (alpha ** treshold[1])
13301328
under_limit = treshold[0]
13311329
# we divide total score by total length of the edge
1332-
result_df[indicator] = result_df[indicator] / result_df["length"]
1333-
result_df['result_' + indicator] = result_df[indicator]
1334-
# result_df[indicator] = result_df[indicator].fillna(np.inf)
1330+
result_df['score_' + indicator] = result_df[indicator] / result_df["length"]
1331+
result_df['result_' + indicator] = result_df[indicator] / result_df["length"]
13351332
threshold_result = [1., 2., 3., 4.]
13361333
if indicator in ["EXF4", "INF4"]:
1337-
# under_limit = 0.
1338-
for i, treshold in enumerate([0.5, 2., 7., np.inf]):
1339-
result_df.loc[result_df['result_' + indicator] >= treshold, indicator] = threshold_result[i]
1340-
# if 0 < len(result_df[indicator][np.logical_and(under_limit <= result_df[indicator].values, result_df[indicator].values < treshold)]):
1341-
# result_df[indicator][np.logical_and(under_limit <= result_df[indicator].values, result_df[indicator].values < treshold)] = threshold_result[i]
1342-
# under_limit = treshold
1334+
for i, treshold in enumerate([0., 0.5, 2., 7.]):
1335+
result_df.loc[result_df['result_' + indicator] >= treshold, 'score_' + indicator] = threshold_result[i]
13431336
elif indicator in ["HYD3", "ENS4"]:
1344-
# under_limit = 0.
1345-
for i, treshold in enumerate([1., 4., 14., np.inf]):
1346-
result_df.loc[result_df['result_' + indicator] >= treshold, indicator] = threshold_result[i]
1347-
# if 0 < len(result_df[indicator][np.logical_and(under_limit <= result_df[indicator].values, result_df[indicator].values < treshold)]):
1348-
# result_df[indicator][np.logical_and(under_limit <= result_df[indicator].values, result_df[indicator].values < treshold)] = threshold_result[i]
1349-
# under_limit = treshold
1350-
# result_df[indicator][result_df[indicator] == np.inf] = None
1337+
for i, treshold in enumerate([0., 1., 4., 14.]):
1338+
result_df.loc[result_df['result_' + indicator] >= treshold, 'score_' + indicator] = threshold_result[i]
1339+
result_df.drop(indicator, axis='columns', inplace=True)
13511340
return result_df
13521341

13531342
def computeIndicators(self, pks, alpha=2, P=5, itv_name="ITV"):
@@ -1365,7 +1354,6 @@ def computeIndicators(self, pks, alpha=2, P=5, itv_name="ITV"):
13651354
nodes = self.getAllPoints()
13661355
# ETL for itv
13671356
dataframe = self.getUniquesValuesbyEdge(pks)
1368-
# dataframe["length"] = 0
13691357
dataframe["k_reg_1"] = ""
13701358
dataframe["k_reg_2"] = ""
13711359
dataframe["X1"] = np.nan
@@ -1396,5 +1384,4 @@ def computeIndicators(self, pks, alpha=2, P=5, itv_name="ITV"):
13961384
dataframe = self.computeOneIndicator(dataframe, indicator, alpha, P, all_ensablement_indicators)
13971385
for indicator in all_red_cap_hyfraulique_indicators:
13981386
dataframe = self.computeOneIndicator(dataframe, indicator, alpha, P, all_red_cap_hyfraulique_indicators)
1399-
self.getQgsLayer(pks)
14001387
return self.setQgsEgde(dataframe, itv_name)

0 commit comments

Comments
 (0)