Mapová algebra, interpolace rastrových dat

Otázky

odkaz

1. Jaká je plocha území v ha s nadmořskou výškou mezi 500 a 700m?
199 204 ha
2. Jaká je výměra území v ha pro kterou platí, že leží v nadmořské výšce nad 700m a má sklon svahu větší než 25 gonů?
1 018ha
4. Jaká je plocha území v ha, kde se sklon limitně blíží k nule?
54 739ha
5. Vytvořte pomocí Raster Calculatoru rastr, který obsahuje hodnotu 1 pro území, kde je nadmořská výška nad 700m a sklon menší než 5°; hodnotu 2, kde je platí, že je nadmořská výška nad 700m a sklon je větší než 5°. Jaká je výměra takto určeného území v ha?
1 - 110 907ha; 2 - 90 719ha

Řešení

1. Jaká je plocha území v ha s nadmořskou výškou mezi 500 a 700m?
199 204 ha
CREATE TEMPORARY TABLE dmt_500_700 AS
SELECT st_mapalgebra(rast, NULL, 'CASE WHEN ([rast] > 500) AND ([rast] < 700) THEN 1 ELSE 0 END') AS rast
neboSELECT st_reclass(rast, '499-700:1', '32BF') AS rastFROM   ar.dmt_uk;
SELECT (st_valuecount(rast)).* from dmt_500_700;
SELECT round(sum((vc).count)) AS area_ha
FROM
(
SELECT st_valuecount(rast) as vc from dmt_500_700
) AS foo
WHERE  (vc).value = 1;
2. Jaká je výměra území v ha pro kterou platí, že leží v nadmořské výšce nad 700m a má sklon svahu větší než 25 gonů?
1 018ha
CREATE TEMPORARY TABLE slope AS
SELECT st_slope(rast) AS rast FROM ar.dmt_uk;
CREATE TEMPORARY TABLE dmt_700_25g AS
SELECT st_mapalgebra(d.rast, s.rast,
 'CASE WHEN ([rast1] > 700) AND ([rast2] * 10 / 9 > 25) THEN 1 ELSE 0 END') AS rast
FROM ar.dmt_uk AS d, slope AS s;
SELECT sum(count)
FROM
(
 SELECT (st_valuecount(rast)).*
 FROM dmt_700_25g
) AS foo
WHERE value = 1;
4. Jaká je plocha území v ha, kde se sklon limitně blíží k nule?
54 739ha
WITH slope_0 AS
(
 SELECT st_mapalgebra(st_aspect(rast), NULL,
 'CASE WHEN [rast] < 0 THEN 1 ELSE 0 END') AS rast
 FROM   ar.dmt_uk
)
SELECT sum(count)
FROM
(
 SELECT (st_valuecount(rast)).*
 FROM slope_0
) AS foo
WHERE value = 1;
5. Vytvořte pomocí Raster Calculatoru rastr, který obsahuje hodnotu 1 pro území, kde je nadmořská výška nad 700m a sklon menší než 5°; hodnotu 2, kde je platí, že je nadmořská výška nad 700m a sklon je větší než 5°. Jaká je výměra takto určeného území v ha?
1 - 110 907ha; 2 - 90 719ha
CREATE TEMPORARY TABLE dmt_slope_700_5 AS
SELECT st_mapalgebra(d.rast, s.rast,
'CASE WHEN ([rast1] > 700) AND ([rast2] < 5) THEN 1 ELSE (CASE WHEN ([rast1] > 700) AND ([rast2] > 5) THEN 2 ELSE 0 END) END') AS rast
FROM   ar.dmt_uk AS d, slope AS s;
SELECT value, sum(count)
FROM
(
 SELECT (st_valuecount(rast)).*
 FROM dmt_slope_700_5
) AS foo
GROUP BY value;