Skip to content

Commit 9a6c987

Browse files
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent 52a9fc5 commit 9a6c987

18 files changed

+730
-692
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,4 @@ repos:
4040
"-rn", # Only display messages
4141
"-sn", # Don't display the score
4242
"--rcfile=pylintrc", # Link to your config file
43-
]
43+
]
Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,55 @@
1-
21
import xarray as xr
32
from odc.stats._algebra import expr_eval
43

54
NODATA = 255
65

6+
77
def bare_gradation(xx: xr.Dataset, bare_threshold, veg_cover):
88

9-
# Now add the bare gradation
10-
fcp_nodaata = -999
11-
bs_mask = expr_eval(
12-
"where(a!=nodata, a, NODATA)",
13-
{"a": xx.bs_pc_50.data},
14-
name="mark_nodata",
15-
dtype="uint8",
16-
**{"nodata": fcp_nodaata, "NODATA": NODATA},
17-
)
18-
19-
# Map any data > 100 ---> 100
20-
bs_mask = expr_eval(
21-
"where((a>100)&(a!=nodata), 100, a)",
22-
{"a": bs_mask},
23-
name="mark_veg",
24-
dtype="uint8",
25-
**{"nodata": NODATA},
26-
)
27-
28-
# 60% <= data --> 15(0)
29-
bs_mask = expr_eval(
30-
"where((a>=m)&(a!=nodata), 150, a)",
31-
{"a": bs_mask},
32-
name="mark_veg",
33-
dtype="uint8",
34-
**{"m": bare_threshold[1], "nodata": NODATA},
35-
)
36-
37-
# 20% <= data < 60% --> 12(0)
38-
bs_mask = expr_eval(
39-
"where((a>=m)&(a<n), 120, a)",
40-
{"a": bs_mask},
41-
name="mark_veg",
42-
dtype="uint8",
43-
**{"m": bare_threshold[0], "n": bare_threshold[1]},
44-
)
45-
46-
# data < 20% --> 10(0)
47-
bs_mask = expr_eval(
48-
"where(a<m, 100, a)",
49-
{"a": bs_mask},
50-
name="mark_veg",
51-
dtype="uint8",
52-
**{"m": bare_threshold[0]},
53-
)
54-
55-
return bs_mask
9+
# Now add the bare gradation
10+
fcp_nodaata = -999
11+
bs_mask = expr_eval(
12+
"where(a!=nodata, a, NODATA)",
13+
{"a": xx.bs_pc_50.data},
14+
name="mark_nodata",
15+
dtype="uint8",
16+
**{"nodata": fcp_nodaata, "NODATA": NODATA},
17+
)
18+
19+
# Map any data > 100 ---> 100
20+
bs_mask = expr_eval(
21+
"where((a>100)&(a!=nodata), 100, a)",
22+
{"a": bs_mask},
23+
name="mark_veg",
24+
dtype="uint8",
25+
**{"nodata": NODATA},
26+
)
27+
28+
# 60% <= data --> 15(0)
29+
bs_mask = expr_eval(
30+
"where((a>=m)&(a!=nodata), 150, a)",
31+
{"a": bs_mask},
32+
name="mark_veg",
33+
dtype="uint8",
34+
**{"m": bare_threshold[1], "nodata": NODATA},
35+
)
36+
37+
# 20% <= data < 60% --> 12(0)
38+
bs_mask = expr_eval(
39+
"where((a>=m)&(a<n), 120, a)",
40+
{"a": bs_mask},
41+
name="mark_veg",
42+
dtype="uint8",
43+
**{"m": bare_threshold[0], "n": bare_threshold[1]},
44+
)
45+
46+
# data < 20% --> 10(0)
47+
bs_mask = expr_eval(
48+
"where(a<m, 100, a)",
49+
{"a": bs_mask},
50+
name="mark_veg",
51+
dtype="uint8",
52+
**{"m": bare_threshold[0]},
53+
)
54+
55+
return bs_mask

odc/stats/plugins/l34_utils/l4_cultivated.py

Lines changed: 28 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
NODATA = 255
44

5+
56
def lc_l4_cultivated(l34, level3, lifeform, veg_cover):
67

78
# l4 = expr_eval(
@@ -14,126 +15,90 @@ def lc_l4_cultivated(l34, level3, lifeform, veg_cover):
1415
# )
1516
l4 = expr_eval(
1617
"where((d==110)&(a==111)&(b==10)&(c==1), 9, d)",
17-
{"a": level3,
18-
"b": veg_cover,
19-
"c": lifeform,
20-
"d": l34},
18+
{"a": level3, "b": veg_cover, "c": lifeform, "d": l34},
2119
name="mark_cultivated",
22-
dtype="uint8"
20+
dtype="uint8",
2321
)
2422
l4 = expr_eval(
2523
"where((d==110)&(a==111)&(b==12)&(c==1), 10, d)",
26-
{"a": level3,
27-
"b": veg_cover,
28-
"c": lifeform,
29-
"d": l4},
24+
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
3025
name="mark_cultivated",
31-
dtype="uint8"
26+
dtype="uint8",
3227
)
3328
l4 = expr_eval(
3429
"where((d==110)&(a==111)&(b==13)&(c==1), 11, d)",
35-
{"a": level3,
36-
"b": veg_cover,
37-
"c": lifeform,
38-
"d": l4},
30+
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
3931
name="mark_cultivated",
40-
dtype="uint8"
32+
dtype="uint8",
4133
)
4234
l4 = expr_eval(
4335
"where((d==110)&(a==111)&(b==15)&(c==1), 12, d)",
44-
{"a": level3,
45-
"b": veg_cover,
46-
"c": lifeform,
47-
"d": l4},
36+
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
4837
name="mark_cultivated",
49-
dtype="uint8"
38+
dtype="uint8",
5039
)
5140

5241
l4 = expr_eval(
5342
"where((d==110)&(a==111)&(b==16)&(c==1), 13, d)",
54-
{"a": level3,
55-
"b": veg_cover,
56-
"c": lifeform,
57-
"d": l4},
43+
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
5844
name="mark_cultivated",
59-
dtype="uint8"
45+
dtype="uint8",
6046
)
6147

6248
l4 = expr_eval(
6349
"where((d==110)&(a==111)&(b==10)&(c==2), 14, d)",
64-
{"a": level3,
65-
"b": veg_cover,
66-
"c": lifeform,
67-
"d": l4},
50+
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
6851
name="mark_cultivated",
69-
dtype="uint8"
52+
dtype="uint8",
7053
)
7154
l4 = expr_eval(
7255
"where((d==110)&(a==111)&(b==12)&(c==2), 15, d)",
73-
{"a": level3,
74-
"b": veg_cover,
75-
"c": lifeform,
76-
"d": l4},
56+
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
7757
name="mark_cultivated",
78-
dtype="uint8"
58+
dtype="uint8",
7959
)
8060
l4 = expr_eval(
8161
"where((d==110)&(a==111)&(b==13)&(c==2), 16, d)",
82-
{"a": level3,
83-
"b": veg_cover,
84-
"c": lifeform,
85-
"d": l4},
62+
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
8663
name="mark_cultivated",
87-
dtype="uint8"
64+
dtype="uint8",
8865
)
8966
l4 = expr_eval(
9067
"where((d==110)&(a==111)&(b==15)&(c==2), 17, d)",
91-
{"a": level3,
92-
"b": veg_cover,
93-
"c": lifeform,
94-
"d": l4},
68+
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
9569
name="mark_cultivated",
96-
dtype="uint8"
70+
dtype="uint8",
9771
)
9872

9973
l4 = expr_eval(
10074
"where((d==110)&(a==111)&(b==16)&(c==2), 18, d)",
101-
{"a": level3,
102-
"b": veg_cover,
103-
"c": lifeform,
104-
"d": l4},
75+
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
10576
name="mark_cultivated",
106-
dtype="uint8"
77+
dtype="uint8",
10778
)
10879

10980
l4 = expr_eval(
11081
"where((d==110)&(a==111)&(b==1), 2, d)",
111-
{"a": level3,
112-
"b": lifeform,
113-
"d": l4},
82+
{"a": level3, "b": lifeform, "d": l4},
11483
name="mark_cultivated",
115-
dtype="uint8"
84+
dtype="uint8",
11685
)
117-
86+
11887
l4 = expr_eval(
11988
"where((d==110)&(a==111)&(b==2), 3, d)",
120-
{"a": level3,
121-
"b": lifeform,
122-
"d": l4},
89+
{"a": level3, "b": lifeform, "d": l4},
12390
name="mark_cultivated",
124-
dtype="uint8"
91+
dtype="uint8",
12592
)
12693

12794
# the 4-8 classes can't happen in LC since cultivated class will not be classified if vegetation doesn't exist.
12895
# skip these classes in level4
12996

13097
l4 = expr_eval(
13198
"where((d==110)&(a==111), 1, d)",
132-
{"a": level3,
133-
"d": l4},
99+
{"a": level3, "d": l4},
134100
name="mark_cultivated",
135-
dtype="uint8"
101+
dtype="uint8",
136102
)
137103

138104
return l4
139-

0 commit comments

Comments
 (0)