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 52a9fc5 commit 9a6c987
Show file tree
Hide file tree
Showing 18 changed files with 730 additions and 692 deletions.
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,4 @@ repos:
"-rn", # Only display messages
"-sn", # Don't display the score
"--rcfile=pylintrc", # Link to your config file
]
]
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,55 +1,55 @@

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

NODATA = 255


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

# 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
91 changes: 28 additions & 63 deletions odc/stats/plugins/l34_utils/l4_cultivated.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

NODATA = 255


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

# l4 = expr_eval(
Expand All @@ -14,126 +15,90 @@ def lc_l4_cultivated(l34, level3, lifeform, veg_cover):
# )
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 9a6c987

Please sign in to comment.