wolfhece 2.2.1__py3-none-any.whl → 2.2.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wolfhece/PandasGrid.py +67 -0
- wolfhece/PyDraw.py +671 -30
- wolfhece/PyGui.py +6 -2
- wolfhece/PyHydrographs.py +2 -3
- wolfhece/PyPalette.py +10 -0
- wolfhece/PyParams.py +2 -3
- wolfhece/PyVertex.py +7 -7
- wolfhece/PyVertexvectors.py +1 -0
- wolfhece/PyWMS.py +72 -3
- wolfhece/acceptability/Parallels.py +25 -19
- wolfhece/acceptability/acceptability_gui.py +104 -131
- wolfhece/acceptability/func.py +99 -13
- wolfhece/apps/check_install.py +6 -6
- wolfhece/apps/splashscreen.py +5 -0
- wolfhece/apps/version.py +1 -1
- wolfhece/assets/__init__.py +1 -0
- wolfhece/assets/speedometer.py +135 -0
- wolfhece/dike.py +684 -0
- wolfhece/drowning_victims/Class.py +2165 -0
- wolfhece/drowning_victims/Functions.py +1019 -0
- wolfhece/drowning_victims/__init__.py +0 -0
- wolfhece/lifewatch.py +88 -0
- wolfhece/scenario/config_manager.py +4 -4
- wolfhece/wolf_array.py +58 -33
- wolfhece/wolf_texture.py +9 -2
- {wolfhece-2.2.1.dist-info → wolfhece-2.2.3.dist-info}/METADATA +3 -1
- {wolfhece-2.2.1.dist-info → wolfhece-2.2.3.dist-info}/RECORD +30 -22
- {wolfhece-2.2.1.dist-info → wolfhece-2.2.3.dist-info}/WHEEL +0 -0
- {wolfhece-2.2.1.dist-info → wolfhece-2.2.3.dist-info}/entry_points.txt +0 -0
- {wolfhece-2.2.1.dist-info → wolfhece-2.2.3.dist-info}/top_level.txt +0 -0
File without changes
|
wolfhece/lifewatch.py
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
from enum import Enum
|
2
|
+
from PIL import Image
|
3
|
+
|
4
|
+
class LifeWatch_Legend(Enum):
|
5
|
+
"""
|
6
|
+
https://www.mdpi.com/2306-5729/8/1/13
|
7
|
+
|
8
|
+
Map Class Map Code Related EAGLE Code Percentage of Land Area [%] Based on 2018 Product
|
9
|
+
Water 10 LCC-3 0.73
|
10
|
+
Natural Material Surfaces with less than 10% vegetation 15 LCC-1_2 0.32
|
11
|
+
Artificially sealed ground surface 20 LCC-1_1_1_3 5.75
|
12
|
+
Building, specific structures and facilities 21 LCC-1_1_1_1 || LCC-1_1_1_2 1.99
|
13
|
+
Herbaceous in rotation during the year (e.g., crops) 30 LCC-2_2 23.94
|
14
|
+
Grassland with intensive management 35 LCC-2_2 27.57
|
15
|
+
Grassland and scrub of biological interest 40 LCC-2_2 1.82
|
16
|
+
Inundated grassland and scrub of biological interest 45 LCC-2_2 & LCH-4_4_2 0.22
|
17
|
+
Vegetation of recently disturbed area (e.g., clear cut) 48 LCC-2_2 & LCH-3_8 2.64
|
18
|
+
Coniferous trees (≥3 m) 50 LCC-2_1_1 & LCH-3_1_1 11.24
|
19
|
+
Small coniferous trees (<3 m) 51 LCC-2_1_2 & LCH-3_1_1 0.40
|
20
|
+
Broadleaved trees (≥3 m) 55 LCC-2_1_1 & LCH-3_1_2 21.63
|
21
|
+
Small broadleaved trees (<3 m) and shrubs 56 LCC-2_1_2 & LCH-3_1_2 1.75
|
22
|
+
|
23
|
+
Color Table (RGB with 256 entries) from tiff file
|
24
|
+
10: 10,10,210,255
|
25
|
+
11: 254,254,254,255
|
26
|
+
15: 215,215,215,255
|
27
|
+
20: 20,20,20,255
|
28
|
+
21: 210,0,0,255
|
29
|
+
30: 230,230,130,255
|
30
|
+
35: 235,170,0,255
|
31
|
+
40: 240,40,240,255
|
32
|
+
45: 145,245,245,255
|
33
|
+
46: 246,146,246,255
|
34
|
+
48: 148,112,0,255
|
35
|
+
50: 50,150,50,255
|
36
|
+
51: 0,151,151,255
|
37
|
+
55: 55,255,0,255
|
38
|
+
56: 156,255,156,255
|
39
|
+
"""
|
40
|
+
WATER = (10, (10, 210, 255))
|
41
|
+
NATURAL_MATERIAL_SURFACES = (15, (215, 215, 215, 255))
|
42
|
+
ARTIFICIALLY_SEALED_GROUND_SURFACE = (20, (20, 20, 20, 255))
|
43
|
+
BUILDING = (21, (210, 0, 0, 255))
|
44
|
+
HERBACEOUS_ROTATION = (30, (230, 230, 130, 255))
|
45
|
+
GRASSLAND_INTENSIVE_MANAGEMENT = (35, (235, 170, 0, 255))
|
46
|
+
GRASSLAND_SCRUB_BIOLOGICAL_INTEREST = (40, (240, 40, 240, 255))
|
47
|
+
INUNDATED_GRASSLAND_SCRUB_BIOLOGICAL_INTEREST = (45, (145, 245, 245, 255))
|
48
|
+
VEGETATION_RECENTLY_DISTURBED_AREA = (48, (148, 112, 0, 255))
|
49
|
+
CONIFEROUS_TREES = (50, (50, 150, 50, 255))
|
50
|
+
SMALL_CONIFEROUS_TREES = (51, (0, 151, 151, 255))
|
51
|
+
BROADLEAVED_TREES = (55, (55, 255, 0, 255))
|
52
|
+
SMALL_BROADLEAVED_TREES_SHRUBS = (56, (156, 255, 156, 255))
|
53
|
+
|
54
|
+
NODATA11 = (11, (254,254,254,255)) # Not used
|
55
|
+
NODATA46 = (46, (246,146,246,255)) # Not used
|
56
|
+
NODATA100 = (100, (0, 0, 0, 255)) # Outside Belgium/Wallonia
|
57
|
+
|
58
|
+
if __name__ == "__main__":
|
59
|
+
import numpy as np
|
60
|
+
n = 4
|
61
|
+
|
62
|
+
DIR = r'E:\MODREC-Vesdre\vesdre-data\LifeWatch'
|
63
|
+
|
64
|
+
# Tif file is very large, so we need to use PIL to open it
|
65
|
+
Image.MAX_IMAGE_PIXELS = 15885900000
|
66
|
+
img = Image.open(DIR + r'\lifewatch_LC2018_vx19_2mLB08cog.tif',)
|
67
|
+
img = np.asarray(img)
|
68
|
+
|
69
|
+
ij11 = np.where(img == 11)
|
70
|
+
ij46 = np.where(img == 46)
|
71
|
+
|
72
|
+
print(ij11[0].shape) # must be 0
|
73
|
+
print(ij11[1].shape) # must be 0
|
74
|
+
|
75
|
+
img = img[::n,:-img.shape[1]//2:n]
|
76
|
+
print(np.unique(img))
|
77
|
+
|
78
|
+
img = Image.open(DIR +r'\lifewatch_LC2022_vx20_2mLB08cog.tif',)
|
79
|
+
img = np.asarray(img)
|
80
|
+
|
81
|
+
ij11 = np.where(img == 11) # must be 0
|
82
|
+
ij46 = np.where(img == 46) # must be 0
|
83
|
+
|
84
|
+
print(ij11[0].shape)
|
85
|
+
print(ij11[1].shape)
|
86
|
+
|
87
|
+
img = img[::n,:-img.shape[1]//2:n]
|
88
|
+
print(np.unique(img))
|
@@ -2341,8 +2341,8 @@ class UI_Manager_2D_GPU():
|
|
2341
2341
|
cursim._save_json()
|
2342
2342
|
except Exception as e:
|
2343
2343
|
self._wp[cursim] = None
|
2344
|
-
logging.
|
2345
|
-
logging.
|
2344
|
+
logging.error(_('Error while saving parameters for simulation {}'.format(cursim.path.name)))
|
2345
|
+
logging.error(str(e))
|
2346
2346
|
|
2347
2347
|
def _callbackwp_destroy(self):
|
2348
2348
|
""" Callback for wolfparam """
|
@@ -2355,8 +2355,8 @@ class UI_Manager_2D_GPU():
|
|
2355
2355
|
cursim._save_json()
|
2356
2356
|
except Exception as e:
|
2357
2357
|
self._wp[cursim] = None
|
2358
|
-
logging.
|
2359
|
-
logging.
|
2358
|
+
logging.error(_('Error while saving parameters for simulation {}'.format(cursim.path.name)))
|
2359
|
+
logging.error(str(e))
|
2360
2360
|
|
2361
2361
|
def OnActivateTreeElem(self, e):
|
2362
2362
|
"""
|
wolfhece/wolf_array.py
CHANGED
@@ -10,13 +10,15 @@ copying or distribution of this file, via any medium, is strictly prohibited.
|
|
10
10
|
|
11
11
|
import os
|
12
12
|
import sys
|
13
|
+
|
14
|
+
import numpy as np
|
15
|
+
import numpy.ma as ma
|
16
|
+
|
13
17
|
from typing import Union, Literal
|
14
18
|
from matplotlib.axis import Axis
|
15
19
|
from matplotlib.figure import Figure
|
16
20
|
import matplotlib.pyplot as plt
|
17
21
|
from matplotlib.colors import Colormap
|
18
|
-
import numpy as np
|
19
|
-
import numpy.ma as ma
|
20
22
|
import math as m
|
21
23
|
import logging
|
22
24
|
import json
|
@@ -40,7 +42,6 @@ import re
|
|
40
42
|
import wx
|
41
43
|
from scipy.interpolate import interp2d, griddata
|
42
44
|
from scipy.ndimage import laplace, label, sum_labels
|
43
|
-
import pygltflib
|
44
45
|
from shapely.geometry import Point, LineString, MultiLineString, Polygon, MultiPolygon, MultiPoint
|
45
46
|
from shapely.ops import linemerge, substring, polygonize_full
|
46
47
|
from shapely import contains, contains_properly, contains_xy, touches, prepare, destroy_prepared, is_prepared
|
@@ -56,12 +57,6 @@ except ImportError as e:
|
|
56
57
|
print(e)
|
57
58
|
raise Exception(_('Error importing modules'))
|
58
59
|
|
59
|
-
try:
|
60
|
-
from osgeo import gdal
|
61
|
-
except ImportError as e:
|
62
|
-
print(e)
|
63
|
-
raise Exception(_('Error importing GDAL library'))
|
64
|
-
|
65
60
|
try:
|
66
61
|
from .Coordinates_operations import reproject_and_resample_raster
|
67
62
|
except ImportError as e:
|
@@ -132,6 +127,13 @@ VERSION_RGB = 3
|
|
132
127
|
|
133
128
|
from numba import jit
|
134
129
|
|
130
|
+
try:
|
131
|
+
from osgeo import gdal, osr
|
132
|
+
gdal.UseExceptions()
|
133
|
+
except ImportError as e:
|
134
|
+
print(e)
|
135
|
+
raise Exception(_('Error importing GDAL library'))
|
136
|
+
|
135
137
|
@jit(nopython=True)
|
136
138
|
def custom_gradient(array: np.ndarray):
|
137
139
|
""" Calculate the gradient manually """
|
@@ -878,7 +880,7 @@ class header_wolf():
|
|
878
880
|
locpath = Path(filename)
|
879
881
|
|
880
882
|
if filename.endswith('.tif') or filename.endswith('.tiff') :
|
881
|
-
from osgeo import gdal
|
883
|
+
# from osgeo import gdal
|
882
884
|
|
883
885
|
raster:gdal.Dataset
|
884
886
|
raster = gdal.Open(filename)
|
@@ -932,7 +934,7 @@ class header_wolf():
|
|
932
934
|
|
933
935
|
elif filename.endswith('.vrt'):
|
934
936
|
# Virtual raster
|
935
|
-
from osgeo import gdal
|
937
|
+
# from osgeo import gdal
|
936
938
|
|
937
939
|
raster:gdal.Dataset
|
938
940
|
raster = gdal.Open(filename)
|
@@ -4059,7 +4061,7 @@ class SelectionData():
|
|
4059
4061
|
selunique, counts = np.unique(self.myselection, return_counts=True, axis=0)
|
4060
4062
|
|
4061
4063
|
# les éléments énumérés plus d'une fois doivent être enlevés
|
4062
|
-
#
|
4064
|
+
# on trie par ordre décroissant
|
4063
4065
|
locsort = sorted(zip(counts.tolist(), selunique.tolist()), reverse=True)
|
4064
4066
|
counts = [x[0] for x in locsort]
|
4065
4067
|
sel = [tuple(x[1]) for x in locsort]
|
@@ -5492,6 +5494,11 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
5492
5494
|
|
5493
5495
|
return self.alpha
|
5494
5496
|
|
5497
|
+
# def find_minmax(self, update=False):
|
5498
|
+
|
5499
|
+
# if update:
|
5500
|
+
# [self.xmin, self.xmax], [self.ymin, self.ymax] = self.get_bounds()
|
5501
|
+
|
5495
5502
|
@property
|
5496
5503
|
def memory_usage(self):
|
5497
5504
|
"""
|
@@ -6099,7 +6106,7 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
6099
6106
|
:param extent: suffix to add to the filename before the extension '.tif' (only if outdir is provided)
|
6100
6107
|
:param EPSG: EPSG code, by default 31370 (Lambert 72)
|
6101
6108
|
"""
|
6102
|
-
from osgeo import gdal, osr, gdalconst
|
6109
|
+
# from osgeo import gdal, osr, gdalconst
|
6103
6110
|
|
6104
6111
|
outdir = str(outdir)
|
6105
6112
|
extent = str(extent)
|
@@ -6378,7 +6385,7 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
6378
6385
|
:param which: band to import
|
6379
6386
|
:param crop: crop the data - [xmin, xmax, ymin, ymax]
|
6380
6387
|
"""
|
6381
|
-
from osgeo import gdal, osr, gdalconst
|
6388
|
+
# from osgeo import gdal, osr, gdalconst
|
6382
6389
|
|
6383
6390
|
if fn !='':
|
6384
6391
|
pass
|
@@ -7831,9 +7838,9 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7831
7838
|
|
7832
7839
|
if type(other) == float:
|
7833
7840
|
if other != 0.:
|
7834
|
-
newArray.array = np.ma.masked_array(self.array + other, self.array.mask)
|
7841
|
+
newArray.array = np.ma.masked_array(self.array + other, self.array.mask, dtype=self.array.dtype)
|
7835
7842
|
else:
|
7836
|
-
newArray.array = np.ma.masked_array(self.array + other.array, self.array.mask)
|
7843
|
+
newArray.array = np.ma.masked_array(self.array + other.array, self.array.mask, dtype=self.array.dtype)
|
7837
7844
|
newArray.count()
|
7838
7845
|
|
7839
7846
|
assert newArray.array.dtype == self.array.dtype, _('Bad dtype')
|
@@ -7860,9 +7867,9 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7860
7867
|
|
7861
7868
|
if type(other) == float:
|
7862
7869
|
if other != 0.:
|
7863
|
-
newArray.array = np.ma.masked_array(self.array * other, self.array.mask)
|
7870
|
+
newArray.array = np.ma.masked_array(self.array * other, self.array.mask, dtype=self.array.dtype)
|
7864
7871
|
else:
|
7865
|
-
newArray.array = np.ma.masked_array(self.array * other.array, self.array.mask)
|
7872
|
+
newArray.array = np.ma.masked_array(self.array * other.array, self.array.mask, dtype=self.array.dtype)
|
7866
7873
|
newArray.count()
|
7867
7874
|
|
7868
7875
|
assert newArray.array.dtype == self.array.dtype, _('Bad dtype')
|
@@ -7889,9 +7896,9 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7889
7896
|
|
7890
7897
|
if type(other) == float:
|
7891
7898
|
if other != 0.:
|
7892
|
-
newArray.array = np.ma.masked_array(self.array - other, self.array.mask)
|
7899
|
+
newArray.array = np.ma.masked_array(self.array - other, self.array.mask, dtype=self.array.dtype)
|
7893
7900
|
else:
|
7894
|
-
newArray.array = np.ma.masked_array(self.array - other.array, self.array.mask)
|
7901
|
+
newArray.array = np.ma.masked_array(self.array - other.array, self.array.mask, dtype=self.array.dtype)
|
7895
7902
|
newArray.count()
|
7896
7903
|
|
7897
7904
|
assert newArray.array.dtype == self.array.dtype, _('Bad dtype')
|
@@ -7916,7 +7923,7 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7916
7923
|
newArray.origz = self.origz
|
7917
7924
|
newArray.translz = self.translz
|
7918
7925
|
|
7919
|
-
newArray.array = np.ma.masked_array(self.array ** other, self.array.mask)
|
7926
|
+
newArray.array = np.ma.masked_array(self.array ** other, self.array.mask, dtype=self.array.dtype)
|
7920
7927
|
newArray.count()
|
7921
7928
|
|
7922
7929
|
assert newArray.array.dtype == self.array.dtype, _('Bad dtype')
|
@@ -7943,9 +7950,9 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7943
7950
|
|
7944
7951
|
if type(other) == float:
|
7945
7952
|
if other != 0.:
|
7946
|
-
newArray.array = np.ma.masked_array(self.array / other, self.array.mask)
|
7953
|
+
newArray.array = np.ma.masked_array(self.array / other, self.array.mask, dtype=self.array.dtype)
|
7947
7954
|
else:
|
7948
|
-
newArray.array = np.ma.masked_array(np.where(other == 0., 0., self.array / other.array), self.array.mask)
|
7955
|
+
newArray.array = np.ma.masked_array(np.where(other == 0., 0., self.array / other.array), self.array.mask, dtype=self.array.dtype)
|
7949
7956
|
newArray.count()
|
7950
7957
|
|
7951
7958
|
assert newArray.array.dtype == self.array.dtype, _('Bad dtype')
|
@@ -9287,9 +9294,20 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
9287
9294
|
elif self.wolftype in [WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_FULL_INTEGER16_2]:
|
9288
9295
|
value=np.int16(value)
|
9289
9296
|
elif self.wolftype in [WOLF_ARRAY_FULL_INTEGER8]:
|
9290
|
-
|
9297
|
+
try:
|
9298
|
+
value = np.int8(value)
|
9299
|
+
except:
|
9300
|
+
value = 0
|
9301
|
+
logging.warning(_('Value too high for int8 conversion'))
|
9302
|
+
logging.warning(_('Value set to 0'))
|
9303
|
+
|
9291
9304
|
elif self.wolftype in [WOLF_ARRAY_FULL_UINTEGER8]:
|
9292
|
-
|
9305
|
+
try:
|
9306
|
+
value = np.uint8(value)
|
9307
|
+
except:
|
9308
|
+
value = 0
|
9309
|
+
logging.warning(_('Value too high for int8 conversion'))
|
9310
|
+
logging.warning(_('Value set to 0'))
|
9293
9311
|
except:
|
9294
9312
|
logging.error(_('Type not supported : {} - {}'.format(value, type(value))))
|
9295
9313
|
logging.warning(_('Masking operation compromised'))
|
@@ -9688,6 +9706,13 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
9688
9706
|
for cur in self.viewers3d:
|
9689
9707
|
cur.update_palette(self.idx, self.mypal.get_colors_f32().flatten(), self.mypal.values.astype(np.float32))
|
9690
9708
|
|
9709
|
+
def find_minmax(self, update=False):
|
9710
|
+
""" Find the min and max values of the array
|
9711
|
+
|
9712
|
+
ATTENTION : Just to conform to the interface of the Element_To_Draw class
|
9713
|
+
"""
|
9714
|
+
if update:
|
9715
|
+
[self.xmin, self.xmax], [self.ymin, self.ymax] = self.get_bounds()
|
9691
9716
|
|
9692
9717
|
def plot(self, sx:float=None, sy:float=None, xmin:float=None, ymin:float=None, xmax:float=None, ymax:float=None, size:float=None):
|
9693
9718
|
"""
|
@@ -9709,17 +9734,17 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
9709
9734
|
if self.plotted and sx is None:
|
9710
9735
|
sx = self.sx
|
9711
9736
|
sy = self.sy
|
9712
|
-
xmin = self.
|
9713
|
-
xmax = self.
|
9714
|
-
ymin = self.
|
9715
|
-
ymax = self.
|
9737
|
+
xmin = self._xmin_plot
|
9738
|
+
xmax = self._xmax_plot
|
9739
|
+
ymin = self._ymin_plot
|
9740
|
+
ymax = self._ymax_plot
|
9716
9741
|
else:
|
9717
9742
|
self.sx = sx
|
9718
9743
|
self.sy = sy
|
9719
|
-
self.
|
9720
|
-
self.
|
9721
|
-
self.
|
9722
|
-
self.
|
9744
|
+
self._xmin_plot = xmin
|
9745
|
+
self._xmax_plot = xmax
|
9746
|
+
self._ymin_plot = ymin
|
9747
|
+
self._ymax_plot = ymax
|
9723
9748
|
|
9724
9749
|
nbpix = min(sx * self.dx, sy * self.dy)
|
9725
9750
|
if nbpix >= 1.:
|
wolfhece/wolf_texture.py
CHANGED
@@ -26,7 +26,7 @@ import math
|
|
26
26
|
import numpy as np
|
27
27
|
|
28
28
|
from .PyTranslate import _
|
29
|
-
from .PyWMS import getIGNFrance, getWalonmap, getVlaanderen
|
29
|
+
from .PyWMS import getIGNFrance, getWalonmap, getVlaanderen, getLifeWatch
|
30
30
|
from .textpillow import Font_Priority, Text_Image,Text_Infos
|
31
31
|
from .drawing_obj import Element_To_Draw
|
32
32
|
|
@@ -253,7 +253,8 @@ class imagetexture(Element_To_Draw):
|
|
253
253
|
def __init__(self, which: str, label: str, cat: str, subc: str, mapviewer,
|
254
254
|
xmin:float, xmax:float, ymin:float, ymax:float,
|
255
255
|
width:int = 1000, height:int = 1000,
|
256
|
-
France:bool = False, epsg='31370', Vlaanderen:bool = False
|
256
|
+
France:bool = False, epsg='31370', Vlaanderen:bool = False,
|
257
|
+
LifeWatch:bool = False) -> None:
|
257
258
|
|
258
259
|
super().__init__(label+cat+subc, plotted=False, mapviewer=mapviewer, need_for_wx=False)
|
259
260
|
|
@@ -264,6 +265,7 @@ class imagetexture(Element_To_Draw):
|
|
264
265
|
|
265
266
|
self.France = France
|
266
267
|
self.Vlaanderen = Vlaanderen
|
268
|
+
self.LifeWatch = LifeWatch
|
267
269
|
|
268
270
|
self.epsg = epsg
|
269
271
|
|
@@ -306,6 +308,11 @@ class imagetexture(Element_To_Draw):
|
|
306
308
|
mybytes = getVlaanderen(self.category,
|
307
309
|
self.xmin, self.ymin, self.xmax, self.ymax,
|
308
310
|
self.width, self.height, False)
|
311
|
+
|
312
|
+
elif self.LifeWatch:
|
313
|
+
mybytes = getLifeWatch(self.category + '_' + self.subcategory,
|
314
|
+
self.xmin, self.ymin, self.xmax, self.ymax,
|
315
|
+
self.width, self.height, False)
|
309
316
|
else:
|
310
317
|
mybytes = getWalonmap(self.category + '/' + self.subcategory,
|
311
318
|
self.xmin, self.ymin, self.xmax, self.ymax,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: wolfhece
|
3
|
-
Version: 2.2.
|
3
|
+
Version: 2.2.3
|
4
4
|
Author-email: Pierre Archambeau <pierre.archambeau@uliege.be>
|
5
5
|
Project-URL: Homepage, https://uee.uliege.be/hece
|
6
6
|
Project-URL: Issues, https://uee.uliege.be/hece
|
@@ -69,6 +69,8 @@ Requires-Dist: plyfile
|
|
69
69
|
Requires-Dist: tabulate
|
70
70
|
Requires-Dist: ipympl
|
71
71
|
Requires-Dist: contextily
|
72
|
+
Requires-Dist: pefile
|
73
|
+
Requires-Dist: wolfpydike
|
72
74
|
|
73
75
|
Ce paquet contient l'interface graphique Python du logiciel WOLF (HECE - ULiège) de même que plusieurs outils de traitements topographique, hydraulique et hydrologique.
|
74
76
|
|
@@ -5,19 +5,20 @@ wolfhece/GraphProfile.py,sha256=OCgJo0YFFBI6H1z-5egJsOOoWF_iziiza0-bbPejNMc,6965
|
|
5
5
|
wolfhece/Lidar2002.py,sha256=bX-nIzdpjD7rOfEgJpTeaW6rIdAXwDp_z4YTM9CgANY,6068
|
6
6
|
wolfhece/ManageParams.py,sha256=EeuUI5Vvh9ixCvYf8YShMC1s1Yacc7OxOCN7q81gqiQ,517
|
7
7
|
wolfhece/Model1D.py,sha256=SI4oNF_J3MdjiWZoizS8kuRXLMVyymX9dYfYJNVCQVI,476989
|
8
|
+
wolfhece/PandasGrid.py,sha256=YIleVkUkoP2MjtQBZ9Xgwk61zbgMj4Pmjj-clVTfPRs,2353
|
8
9
|
wolfhece/PyConfig.py,sha256=Y0wtSIFpAMYa7IByh7hbW-WEOVjNsQEduq7vhIYdZQw,16716
|
9
10
|
wolfhece/PyCrosssections.py,sha256=igU_ELrg5VrHU6RNbF5tHxPyVImpR3xdpfopJYc7haw,114711
|
10
|
-
wolfhece/PyDraw.py,sha256=
|
11
|
-
wolfhece/PyGui.py,sha256=
|
11
|
+
wolfhece/PyDraw.py,sha256=GVwGT4mG0XnIq9fV5Vvg1jeMMSv6609TAi_OkSj4gGo,629784
|
12
|
+
wolfhece/PyGui.py,sha256=IU97wVlmer3Q2MpWbJv4MQWH7nYbc5uN4pRzhr4jdlM,145197
|
12
13
|
wolfhece/PyGuiHydrology.py,sha256=sKafpOopBg50L5llZCI_fZtbebVTDtxvoRI6-osUwhg,14745
|
13
|
-
wolfhece/PyHydrographs.py,sha256=
|
14
|
-
wolfhece/PyPalette.py,sha256=
|
15
|
-
wolfhece/PyParams.py,sha256=
|
14
|
+
wolfhece/PyHydrographs.py,sha256=1P5XAURNqCvtSsMQXhOn1ihjTpr725sRsZdlCEhhk6M,3730
|
15
|
+
wolfhece/PyPalette.py,sha256=SnzMfzpVblbvq1kItLp52jufk6-R1b0QX3fF6RUKKT4,34842
|
16
|
+
wolfhece/PyParams.py,sha256=Dh9C_WYICMjo3m9roRySsu8ZgFzzYhSr6RpbaXZni0M,99423
|
16
17
|
wolfhece/PyPictures.py,sha256=m1kY0saW6Y9Q0bDCo47lW6XxDkBrbQG-Fd8uVn8G5ic,2514
|
17
18
|
wolfhece/PyTranslate.py,sha256=4appkmNeHHZLFmUtaA_k5_5QL-5ymxnbVN4R2OblmtE,622
|
18
|
-
wolfhece/PyVertex.py,sha256=
|
19
|
-
wolfhece/PyVertexvectors.py,sha256=
|
20
|
-
wolfhece/PyWMS.py,sha256=
|
19
|
+
wolfhece/PyVertex.py,sha256=PDKpLFPqE1ORzfi36xKIjuKsxR8DR0iNMsLhAGw11rY,45205
|
20
|
+
wolfhece/PyVertexvectors.py,sha256=0lt0YyHIz_IxgXqdqPlTDruDwjeP6L1Dw6B2Q35a8kQ,325801
|
21
|
+
wolfhece/PyWMS.py,sha256=_HwJh3WVc0eHNCOPlQx40TVCdfXQF86Lb-_qpbzTC2M,8829
|
21
22
|
wolfhece/RatingCurve.py,sha256=bUjIrQjvIjkD4V-z8bZmA6pe1ILtYNM0-3fT6YUY1RU,22498
|
22
23
|
wolfhece/RatingCurveData.py,sha256=5UvnIm89BwqjnEbLCcY3CA8WoFd_xHJbooNy62fX5iY,57660
|
23
24
|
wolfhece/RatingCurve_xml.py,sha256=cUjReVMHFKtakA2wVey5zz6lCgHlSr72y7ZfswZDvTM,33891
|
@@ -28,6 +29,7 @@ wolfhece/_add_path.py,sha256=nudniS-lsgHwXXq5o626XRDzIeYj76GoGKYt6lcu2Nc,616
|
|
28
29
|
wolfhece/analyze_vect.py,sha256=3lkMwaQ4KRddBVRvlP9PcM66wZwwC0eCmypP91AW-os,6015
|
29
30
|
wolfhece/cli.py,sha256=U8D7e_OezfrRfgMsa4TyQ7rI4voLKSY3RK-c8fb6rrw,3156
|
30
31
|
wolfhece/color_constants.py,sha256=Snc5RX11Ydi756EkBp_83C7DiAQ_Z1aHD9jFIBsosAU,37121
|
32
|
+
wolfhece/dike.py,sha256=eG9EDCRk46Nlzpg5OycUeOag_T8joyJ2wzTkQgAT5F0,30710
|
31
33
|
wolfhece/drawing_obj.py,sha256=7vY04B6r08nurTTFmBXHyR5tVIF1YzAEw_uz4pqTDIw,4233
|
32
34
|
wolfhece/eikonal.py,sha256=iDeDs571sVXGe4IsPSJ1Sa4hX8Ri2jWE7u83xzvA2K8,23189
|
33
35
|
wolfhece/flow_SPWMI.py,sha256=XDAelwAY-3rYOR0WKW3fgYJ_r8DU4IP6Y5xULW421tk,20956
|
@@ -39,6 +41,7 @@ wolfhece/ins.py,sha256=uUeLMS1n3GPnfJhxl0Z2l-UXpmPUgthuwct282OOEzk,36184
|
|
39
41
|
wolfhece/irm_qdf.py,sha256=DMdDEAYbgYxApObm6w-dZbBmA8ec6PghBLXR2lUEZLc,27457
|
40
42
|
wolfhece/ismember.py,sha256=fkLvaH9fhx-p0QrlEzqa6ySO-ios3ysjAgXVXzLgSpY,2482
|
41
43
|
wolfhece/lagrange_multiplier.py,sha256=0G-M7b2tGzLx9v0oNYYq4_tLAiHcs_39B4o4W3TUVWM,6567
|
44
|
+
wolfhece/lifewatch.py,sha256=TOqmbD_fuxXLvrnx401z5OxMqOBBSn-7Yg6flndWXFE,3324
|
42
45
|
wolfhece/matplotlib_fig.py,sha256=vnFI6sghw9N9jKhR8X1Z4aWli_5fPNylZQtFuujFJDY,84075
|
43
46
|
wolfhece/multiprojects.py,sha256=Sd6Bl6YP33jlR79A6rvSLu23vq8sqbFYL8lWuVPkEpE,21549
|
44
47
|
wolfhece/picc.py,sha256=0X_pzhSBoVxgtTfJ37pkOQO3Vbr9yurPaD1nVeurx8k,8531
|
@@ -55,21 +58,21 @@ wolfhece/rain_SPWMI.py,sha256=qCfcmF7LajloOaCwnTrrSMzyME03YyilmRUOqrPrv3U,13846
|
|
55
58
|
wolfhece/textpillow.py,sha256=map7HsGYML_o5NHRdFg2s_TVQed_lDnpYNDv27MM0Vw,14130
|
56
59
|
wolfhece/tools2d_dll.py,sha256=oU0m9XYAf4CZsMoB68IuKeE6SQh-AqY7O5NVED8r9uw,13125
|
57
60
|
wolfhece/tools_mpl.py,sha256=gQ3Jg1iuZiecmMqa5Eli2ZLSkttu68VXL8YmMDBaEYU,564
|
58
|
-
wolfhece/wolf_array.py,sha256=
|
61
|
+
wolfhece/wolf_array.py,sha256=t6-gLy1Op3Lx6Nmxv-Yo7cQIW62BinFDRP7x6Qpb5u8,486606
|
59
62
|
wolfhece/wolf_hist.py,sha256=7jeVrgSkM3ErJO6SRMH_PGzfLjIdw8vTy87kesldggk,3582
|
60
|
-
wolfhece/wolf_texture.py,sha256=
|
63
|
+
wolfhece/wolf_texture.py,sha256=IvFtekT5iLU2sivZOOlJXpE4CevjTQYSxHaOp4cH_wI,17723
|
61
64
|
wolfhece/wolf_tiles.py,sha256=v-HohqaWuMYdn75XLnA22dlloAG90iwnIqrgnB0ASQ4,10488
|
62
65
|
wolfhece/wolf_vrt.py,sha256=wbxXVN7TL9zgdyF79S-4e3pje6wJEAgBEfF_Y8kkzxs,14271
|
63
66
|
wolfhece/wolf_zi_db.py,sha256=baE0niMCzybWGSvPJc5FNxo9ZxsGfU4p-FmfiavFHAs,12967
|
64
67
|
wolfhece/wolfresults_2D.py,sha256=5Ser0lcfoGbsHLASx_1UtxmanYDGSuOCMgaadSNTHzs,218154
|
65
68
|
wolfhece/xyz_file.py,sha256=1pzLFmmdHca4yBVR9Jitic6N82rY28mRytGC1zMbY28,6615
|
66
|
-
wolfhece/acceptability/Parallels.py,sha256=
|
69
|
+
wolfhece/acceptability/Parallels.py,sha256=2wVkfJYor4yl7VYiAZiGGTFwtAab2z66ZfRtBliVweE,4088
|
67
70
|
wolfhece/acceptability/__init__.py,sha256=hfgoPKLDpX7drN1Vpvux-_5Lfyc_7feT2C2zQr5v-Os,258
|
68
71
|
wolfhece/acceptability/_add_path.py,sha256=nudniS-lsgHwXXq5o626XRDzIeYj76GoGKYt6lcu2Nc,616
|
69
72
|
wolfhece/acceptability/acceptability.py,sha256=dLsYVwPiYH33M7y2vVzlLVd9q8dLgDIeTuJ8f20L4ig,28006
|
70
|
-
wolfhece/acceptability/acceptability_gui.py,sha256=
|
73
|
+
wolfhece/acceptability/acceptability_gui.py,sha256=OR02JhbBzhqtJAhP1tXudP3Tbi6qkhbu1Kfn6oY-Zds,72307
|
71
74
|
wolfhece/acceptability/cli.py,sha256=ul_GmDnSgKSgA7z5ZIzeA_MlS2uqo-Xi48bqmWUS-Qk,19141
|
72
|
-
wolfhece/acceptability/func.py,sha256=
|
75
|
+
wolfhece/acceptability/func.py,sha256=OP9Gd3l3BQ4_93Zl0rQjGqKf-we_Ncpmu-YkwrZFAkQ,72545
|
73
76
|
wolfhece/apps/ManageParams.py,sha256=9okXHGHKEayA9iKTnv8jsVYCP2up5kr6hDaKO_fMCaQ,748
|
74
77
|
wolfhece/apps/Optimisation_hydro.py,sha256=ySIaVsFNEx4PaHFLlT2QW9BiwChVcTNd2TBnW1aICsI,810
|
75
78
|
wolfhece/apps/WolfPython.png,sha256=K3dcbeZUiJCFNwOAAlGMaRGLJ56yM8WD2I_0bk0xT1g,104622
|
@@ -77,13 +80,13 @@ wolfhece/apps/WolfPython2.png,sha256=VMPV-M-3BCOg8zOJss8bXwPmzRYZy8Fo-XtnVYNgbaw
|
|
77
80
|
wolfhece/apps/WolfPython3.png,sha256=3G84zx14HnlB9YXMY4VUAO7IB3eu7JFvi4Kpmc_4zBE,403298
|
78
81
|
wolfhece/apps/__init__.py,sha256=OzzKItATWV0mDkz_LC2L3w5sgT2rt8ExXXCbR_FwvlY,24
|
79
82
|
wolfhece/apps/acceptability.py,sha256=hMIxTRNQARTTWJJaakb6kEK9udNh-w64VDgxxezVk3k,790
|
80
|
-
wolfhece/apps/check_install.py,sha256=
|
83
|
+
wolfhece/apps/check_install.py,sha256=ULUN2frWsMK2a-aKu5an6qx7JBJ9JJWGK9sWWTqYpYA,4001
|
81
84
|
wolfhece/apps/check_version.py,sha256=Zze7ltzcM2ZzIGMwkcASIjapCG8CEzzW9kwNscA3NhM,1768
|
82
85
|
wolfhece/apps/curvedigitizer.py,sha256=lEJJwgAfulrrWQc-U6ij6sj59hWN3SZl4Yu1kQxVzzA,9106
|
83
86
|
wolfhece/apps/hydrometry.py,sha256=lhhJsFeb4zGL4bNQTs0co85OQ_6ssL1Oy0OUJCzhfYE,656
|
84
87
|
wolfhece/apps/isocurrent.py,sha256=dagmGR8ja9QQ1gwz_8fU-N052hIw-W0mWGVkzLu6C7I,4247
|
85
|
-
wolfhece/apps/splashscreen.py,sha256=
|
86
|
-
wolfhece/apps/version.py,sha256=
|
88
|
+
wolfhece/apps/splashscreen.py,sha256=eCPAUYscZPWDYKBHDBWum_VIcE7WXOCBe1GLHL3KUmU,3088
|
89
|
+
wolfhece/apps/version.py,sha256=lVoU-2zAdKqdc2HowaZyYIpzDeY0BVhAVNi5RcXr7ig,387
|
87
90
|
wolfhece/apps/wolf.py,sha256=j_CgvsL8rwixbVvVD5Z0s7m7cHZ86gmFLojKGuetMls,729
|
88
91
|
wolfhece/apps/wolf2D.py,sha256=4z_OPQ3IgaLtjexjMKX9ppvqEYyjFLt1hcfFABy3-jU,703
|
89
92
|
wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
|
@@ -92,6 +95,8 @@ wolfhece/apps/wolf_logo3.bmp,sha256=AxRvS_uc2MJn_ksMExPhFEDJ0_PmlR3xU13gzfc28xk,
|
|
92
95
|
wolfhece/apps/wolf_logo4.bmp,sha256=N6d_NZ3V2M-qtSdTM0LP3PhU2TtltB_UNW6Z2WiLrvM,5830
|
93
96
|
wolfhece/apps/wolfcompare2Darrays.py,sha256=AfEJjku_oSWWqyCIDOqId0quZrS_NpTIFN4fHcVDWb4,4179
|
94
97
|
wolfhece/apps/wolfhydro.py,sha256=EsXTtXhnsQV1j-tiFYcyfMrJpjFv1MrWiftwODdi_8I,817
|
98
|
+
wolfhece/assets/__init__.py,sha256=FRDE8PiJAWxX9PMXsShRMZ8YADAY4WIgKMRh52rmhiw,23
|
99
|
+
wolfhece/assets/speedometer.py,sha256=Oqttbw-AB9niaQRNDd0bmyu-ozyOHoYRQd1dApywwdU,5877
|
95
100
|
wolfhece/bernoulli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
96
101
|
wolfhece/bernoulli/chamber.py,sha256=ZWNjTAmTaH8u8J00n8uEib7dy84mUfHWN43805W_Qsw,2354
|
97
102
|
wolfhece/bernoulli/fluids.py,sha256=-mPv3EtCcIEfvTI7oSELtOjUFiKhKANu8w96NnUnrvU,464
|
@@ -107,6 +112,9 @@ wolfhece/clientserver/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
|
|
107
112
|
wolfhece/clientserver/clientserver.py,sha256=sNJ8STw0kqUjCB4AerqZNbzCtl5WRe_JRvhe7whNoSE,2798
|
108
113
|
wolfhece/coupling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
109
114
|
wolfhece/coupling/hydrology_2d.py,sha256=QBIcgujfOX1xX3ARF2PQz6Uqwu3j6EaRw0QlGjG_H7k,53090
|
115
|
+
wolfhece/drowning_victims/Class.py,sha256=W7oliBnGE_4i2NwkLgOqdq4eo0EuDdR1qMDF1fGfYUo,94132
|
116
|
+
wolfhece/drowning_victims/Functions.py,sha256=hlAOyzt15GYe0urDPYquJaV6i0LyDj7X5BAUGE6ppso,47535
|
117
|
+
wolfhece/drowning_victims/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
110
118
|
wolfhece/eva/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
111
119
|
wolfhece/eva/bootstrap.py,sha256=Ys4xTDIvG_QtxCKWLYzb3_XAZU441jGX7fHIbd9Mvr0,840
|
112
120
|
wolfhece/eva/hydrogramme_mono.py,sha256=uZFIgJJ-JogMFzt7D7OnyVaHvgxCQJPZz9W9FgnuthA,8138
|
@@ -276,7 +284,7 @@ wolfhece/report/reporting.py,sha256=JUEXovx_S4jpYkJEBU0AC-1Qw2OkkWyV3VAp6iOfSHc,
|
|
276
284
|
wolfhece/report/wolf_report.png,sha256=NoSV58LSwb-oxCcZScRiJno-kxDwRdm_bK-fiMsKJdA,592485
|
277
285
|
wolfhece/scenario/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
278
286
|
wolfhece/scenario/check_scenario.py,sha256=d-LWa_FxmPxTSc_H1lDHwqLB6TCqj1IUrRJhatfPMMA,5623
|
279
|
-
wolfhece/scenario/config_manager.py,sha256=
|
287
|
+
wolfhece/scenario/config_manager.py,sha256=5_USTuhaAYDNQaqDt2VA0wssv2f53rgjGnMt1vkoc48,113836
|
280
288
|
wolfhece/scenario/imposebc_void.py,sha256=PqA_99hKcaqK5zsK6IRIc5Exgg3WVpgWU8xpwNL49zQ,5571
|
281
289
|
wolfhece/scenario/update_void.py,sha256=Yb7TMIUx9Gzm9_6qRMJnF39Uqi17dIkMmscSXo2WaTs,10033
|
282
290
|
wolfhece/shaders/fragment_shader_texture.glsl,sha256=w6h8d5mJqFaGbao0LGmjRcFFdcEQ3ICIl9JpuT71K5k,177
|
@@ -305,8 +313,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=8PlMYrb_8jI8h9F0_EagpM
|
|
305
313
|
wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
|
306
314
|
wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
307
315
|
wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
|
308
|
-
wolfhece-2.2.
|
309
|
-
wolfhece-2.2.
|
310
|
-
wolfhece-2.2.
|
311
|
-
wolfhece-2.2.
|
312
|
-
wolfhece-2.2.
|
316
|
+
wolfhece-2.2.3.dist-info/METADATA,sha256=7nhPe_QhpAi0TfGLOiKVOAdqSKC1Niqz3xWKfBIEqqM,2744
|
317
|
+
wolfhece-2.2.3.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
318
|
+
wolfhece-2.2.3.dist-info/entry_points.txt,sha256=ZZ-aSfbpdcmo-wo84lRFzBN7LaSnD1XRGSaAKVX-Gpc,522
|
319
|
+
wolfhece-2.2.3.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
|
320
|
+
wolfhece-2.2.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|