Skip to content

Commit 96d792a

Browse files
thuydotmgiancastro
andauthored
zonal: added zone_ids and cat_ids param (#538)
* comments * added zone_ids and cat_ids param * format zonal module code Co-authored-by: Giancarlo Castro <giancastrok@gmail.com>
1 parent d6ace73 commit 96d792a

File tree

2 files changed

+358
-226
lines changed

2 files changed

+358
-226
lines changed

xrspatial/tests/test_zonal.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,9 @@ def test_stats():
9696
# ---- custom stats ----
9797
# expected results
9898
custom_stats_results = {
99-
'zone': [1, 2, 3],
100-
'double_sum': [12, 16, 24],
101-
'range': [0, 0, 0],
99+
'zone': [1, 2],
100+
'double_sum': [12, 16],
101+
'range': [0, 0],
102102
}
103103

104104
def _double_sum(values):
@@ -115,12 +115,12 @@ def _range(values):
115115
# numpy case
116116
df_np = stats(
117117
zones=zones_np, values=values_np, stats_funcs=custom_stats,
118-
nodata_zones=0, nodata_values=0
118+
zone_ids=[1, 2], nodata_zones=0, nodata_values=0
119119
)
120120
# dask case
121121
df_da = stats(
122122
zones=zones_da, values=values_da, stats_funcs=custom_stats,
123-
nodata_zones=0, nodata_values=0
123+
zone_ids=[1, 2], nodata_zones=0, nodata_values=0
124124
)
125125
check_results(df_np, df_da, custom_stats_results)
126126

@@ -149,20 +149,19 @@ def test_crosstab_2d():
149149
# percentage agg, expected results
150150

151151
crosstab_2d_percentage_results = {
152-
'zone': [1, 2, 3],
153-
0: [0, 0, 100],
154-
1: [100, 0, 0],
155-
2: [0, 100, 0],
152+
'zone': [1, 2],
153+
1: [100, 0],
154+
2: [0, 100],
156155
}
157156

158157
# numpy case
159158
df_np = crosstab(
160-
zones=zones_np, values=values_np,
159+
zones=zones_np, values=values_np, zone_ids=[1, 2], cat_ids=[1, 2],
161160
nodata_zones=0, nodata_values=3, agg='percentage'
162161
)
163162
# dask case
164163
df_da = crosstab(
165-
zones=zones_da, values=values_da,
164+
zones=zones_da, values=values_da, zone_ids=[1, 2], cat_ids=[1, 2],
166165
nodata_zones=0, nodata_values=3, agg='percentage'
167166
)
168167
check_results(df_np, df_da, crosstab_2d_percentage_results)
@@ -171,22 +170,23 @@ def test_crosstab_2d():
171170
def test_crosstab_3d():
172171
# expected results
173172
crosstab_3d_results = {
174-
'zone': [0, 1, 2, 3],
175-
'cat1': [6, 6, 5, 6],
176-
'cat2': [6, 6, 5, 6],
177-
'cat3': [6, 6, 5, 6],
178-
'cat4': [6, 6, 5, 6],
173+
'zone': [1, 2, 3],
174+
'cat1': [6, 5, 6],
175+
'cat2': [6, 5, 6],
176+
'cat3': [6, 5, 6],
177+
'cat4': [6, 5, 6],
179178
}
180179

181180
# numpy case
182181
zones_np, _, values_np = create_zones_values(backend='numpy')
183182
df_np = crosstab(
184-
zones=zones_np, values=values_np, layer=-1
183+
zones=zones_np, values=values_np, zone_ids=[1, 2, 3], layer=-1
185184
)
186185
# dask case
187186
zones_da, _, values_da = create_zones_values(backend='dask')
188187
df_da = crosstab(
189-
zones=zones_da, values=values_da, layer=-1
188+
zones=zones_da, values=values_da, zone_ids=[1, 2, 3],
189+
cat_ids=['cat1', 'cat2', 'cat3', 'cat4'], layer=-1
190190
)
191191
check_results(df_np, df_da, crosstab_3d_results)
192192

0 commit comments

Comments
 (0)