Skip to content

Commit

Permalink
[pre-commit.ci] auto fixes from pre-commit.com hooks
Browse files Browse the repository at this point in the history
for more information, see https://pre-commit.ci
  • Loading branch information
pre-commit-ci[bot] committed Oct 23, 2024
1 parent 9ed392f commit 3e26a67
Show file tree
Hide file tree
Showing 18 changed files with 788 additions and 706 deletions.
96 changes: 48 additions & 48 deletions odc/stats/plugins/l34_utils/l4_bare_gradation.py
Original file line number Diff line number Diff line change
@@ -1,53 +1,53 @@

import xarray as xr
from odc.stats._algebra import expr_eval


def bare_gradation(xx: xr.Dataset, bare_threshold, veg_cover, NODATA):

# Now add the bare gradation
fcp_nodaata = -999
bs_mask = expr_eval(
"where(a!=nodata, a, NODATA)",
{"a": xx.bs_pc_50.data},
name="mark_nodata",
dtype="uint8",
**{"nodata": fcp_nodaata, "NODATA": NODATA},
)

# Map any data > 100 ---> 100
bs_mask = expr_eval(
"where((a>100)&(a!=nodata), 100, a)",
{"a": bs_mask},
name="mark_veg",
dtype="uint8",
**{"nodata": NODATA},
)

# 60% <= data --> 15(0)
bs_mask = expr_eval(
"where((a>=m)&(a!=nodata), 150, a)",
{"a": bs_mask},
name="mark_veg",
dtype="uint8",
**{"m": bare_threshold[1], "nodata": NODATA},
)

# 20% <= data < 60% --> 12(0)
bs_mask = expr_eval(
"where((a>=m)&(a<n), 120, a)",
{"a": bs_mask},
name="mark_veg",
dtype="uint8",
**{"m": bare_threshold[0], "n": bare_threshold[1]},
)

# data < 20% --> 10(0)
bs_mask = expr_eval(
"where(a<m, 100, a)",
{"a": bs_mask},
name="mark_veg",
dtype="uint8",
**{"m": bare_threshold[0]},
)
return bs_mask
# Now add the bare gradation
fcp_nodaata = -999
bs_mask = expr_eval(
"where(a!=nodata, a, NODATA)",
{"a": xx.bs_pc_50.data},
name="mark_nodata",
dtype="uint8",
**{"nodata": fcp_nodaata, "NODATA": NODATA},
)

# Map any data > 100 ---> 100
bs_mask = expr_eval(
"where((a>100)&(a!=nodata), 100, a)",
{"a": bs_mask},
name="mark_veg",
dtype="uint8",
**{"nodata": NODATA},
)

# 60% <= data --> 15(0)
bs_mask = expr_eval(
"where((a>=m)&(a!=nodata), 150, a)",
{"a": bs_mask},
name="mark_veg",
dtype="uint8",
**{"m": bare_threshold[1], "nodata": NODATA},
)

# 20% <= data < 60% --> 12(0)
bs_mask = expr_eval(
"where((a>=m)&(a<n), 120, a)",
{"a": bs_mask},
name="mark_veg",
dtype="uint8",
**{"m": bare_threshold[0], "n": bare_threshold[1]},
)

# data < 20% --> 10(0)
bs_mask = expr_eval(
"where(a<m, 100, a)",
{"a": bs_mask},
name="mark_veg",
dtype="uint8",
**{"m": bare_threshold[0]},
)

return bs_mask
94 changes: 29 additions & 65 deletions odc/stats/plugins/l34_utils/l4_cultivated.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,138 +2,102 @@

NODATA = 255


def lc_l4_cultivated(l34, level3, lifeform, veg_cover):

l4 = expr_eval(
"where((a==110)&(b==nodata), nodata, a)",
{"a": l34,
"b": level3},
{"a": l34, "b": level3},
name="mark_cultivated",
dtype="uint8",
**{"nodata": NODATA},
)
l4 = expr_eval(
"where((d==110)&(a==111)&(b==10)&(c==1), 9, d)",
{"a": level3,
"b": veg_cover,
"c": lifeform,
"d": l34},
{"a": level3, "b": veg_cover, "c": lifeform, "d": l34},
name="mark_cultivated",
dtype="uint8"
dtype="uint8",
)
l4 = expr_eval(
"where((d==110)&(a==111)&(b==12)&(c==1), 10, d)",
{"a": level3,
"b": veg_cover,
"c": lifeform,
"d": l4},
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
name="mark_cultivated",
dtype="uint8"
dtype="uint8",
)
l4 = expr_eval(
"where((d==110)&(a==111)&(b==13)&(c==1), 11, d)",
{"a": level3,
"b": veg_cover,
"c": lifeform,
"d": l4},
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
name="mark_cultivated",
dtype="uint8"
dtype="uint8",
)
l4 = expr_eval(
"where((d==110)&(a==111)&(b==15)&(c==1), 12, d)",
{"a": level3,
"b": veg_cover,
"c": lifeform,
"d": l4},
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
name="mark_cultivated",
dtype="uint8"
dtype="uint8",
)

l4 = expr_eval(
"where((d==110)&(a==111)&(b==16)&(c==1), 13, d)",
{"a": level3,
"b": veg_cover,
"c": lifeform,
"d": l4},
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
name="mark_cultivated",
dtype="uint8"
dtype="uint8",
)

l4 = expr_eval(
"where((d==110)&(a==111)&(b==10)&(c==2), 14, d)",
{"a": level3,
"b": veg_cover,
"c": lifeform,
"d": l4},
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
name="mark_cultivated",
dtype="uint8"
dtype="uint8",
)
l4 = expr_eval(
"where((d==110)&(a==111)&(b==12)&(c==2), 15, d)",
{"a": level3,
"b": veg_cover,
"c": lifeform,
"d": l4},
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
name="mark_cultivated",
dtype="uint8"
dtype="uint8",
)
l4 = expr_eval(
"where((d==110)&(a==111)&(b==13)&(c==2), 16, d)",
{"a": level3,
"b": veg_cover,
"c": lifeform,
"d": l4},
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
name="mark_cultivated",
dtype="uint8"
dtype="uint8",
)
l4 = expr_eval(
"where((d==110)&(a==111)&(b==15)&(c==2), 17, d)",
{"a": level3,
"b": veg_cover,
"c": lifeform,
"d": l4},
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
name="mark_cultivated",
dtype="uint8"
dtype="uint8",
)

l4 = expr_eval(
"where((d==110)&(a==111)&(b==16)&(c==2), 18, d)",
{"a": level3,
"b": veg_cover,
"c": lifeform,
"d": l4},
{"a": level3, "b": veg_cover, "c": lifeform, "d": l4},
name="mark_cultivated",
dtype="uint8"
dtype="uint8",
)

l4 = expr_eval(
"where((d==110)&(a==111)&(b==1), 2, d)",
{"a": level3,
"b": lifeform,
"d": l4},
{"a": level3, "b": lifeform, "d": l4},
name="mark_cultivated",
dtype="uint8"
dtype="uint8",
)

l4 = expr_eval(
"where((d==110)&(a==111)&(b==2), 3, d)",
{"a": level3,
"b": lifeform,
"d": l4},
{"a": level3, "b": lifeform, "d": l4},
name="mark_cultivated",
dtype="uint8"
dtype="uint8",
)

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

l4 = expr_eval(
"where((d==110)&(a==111), 1, d)",
{"a": level3,
"d": l4},
{"a": level3, "d": l4},
name="mark_cultivated",
dtype="uint8"
dtype="uint8",
)

return l4

Loading

0 comments on commit 3e26a67

Please sign in to comment.