fix: align WALOUS with official class codes
This commit is contained in:
@@ -33,6 +33,7 @@ SOURCES = {
|
||||
}
|
||||
MAX_ARCHIVE_BYTES = 1_000_000_000
|
||||
MAX_EXTRACTED_BYTES = 50_000_000_000
|
||||
WALOUS_CLASS_CODES = {1, 2, 3, 4, 5, 6, 7, 8, 9, 80, 90}
|
||||
|
||||
|
||||
def sha256_file(path: Path) -> str:
|
||||
@@ -110,9 +111,9 @@ def validate_raster(path: Path) -> dict:
|
||||
sample_width = min(2048, source.width)
|
||||
sample = source.read(1, out_shape=(sample_height, sample_width), masked=True, resampling=Resampling.nearest)
|
||||
values = np.unique(sample.compressed()).astype(int).tolist()
|
||||
unexpected = sorted(set(values) - set(range(1, 12)))
|
||||
unexpected = sorted(set(values) - WALOUS_CLASS_CODES)
|
||||
if unexpected:
|
||||
raise RuntimeError(f"WALOUS sample contains classes outside 1-11: {unexpected}")
|
||||
raise RuntimeError(f"WALOUS sample contains classes outside the official 11-class code set: {unexpected}")
|
||||
return {
|
||||
"path": str(path),
|
||||
"crs": str(source.crs),
|
||||
|
||||
Reference in New Issue
Block a user