Prostorové dotazy - první část

Otázky

odkaz

1. Existuje v ČR letiště, které leží v lese? Jak se jmenuje?
Točná
6. Na kolika mapových listech Základní mapy 1:25 000 leží alespoň částečně okres Litoměřice. Kolik mapových listů potom leží v tomto okresu celou svojí plochou?
19, 4
8. Které silnice (uveďte jejich číslo) druhé třídy procházejí oblastí bažin a rašelinišť?
103, 169
9. Jaká je průměrná nadmořská výška výškových kót na území Středočeského kraje?
488
12. Vyberte katastrální území, ve kterých leží alespoň částečně jedna vodní plocha, seskupte tyto území podle kódu NUTS LAU1. Uveďte jaký kód NUTS má největší výměru a z kolika katastrálních území se skládá?
(GPKG: 75s vs PostGIS: 0.3s) CZ0313, 78
13. Uveďte souřadnice reprezentačního bodu (centroidu) největší vodní nádrže v Libereckém kraji. O jakou vodní nádrž se jedná?
-678660, -971660; Josefův důl
14. Kolik obcí leží celou svojí plochou na mapovém listu "Pardubice" ZM 1:25 000. Do kolika ORP tyto obce patří a které to jsou?
8; 2; Chrudim, Pardubice
15. Kolik obcí v ČR leží svoji plochou alespoň na dvou mapových listech Základní mapy 1:50 000?
2357

Řešení

1. Existuje v ČR letiště, které leží v lese? Jak se jmenuje?
Točná
SELECT nazev
FROM   letiste
JOIN   lesy
ON     st_within(letiste.geom, lesy.geom);
6. Na kolika mapových listech Základní mapy 1:25 000 leží alespoň částečně okres Litoměřice. Kolik mapových listů potom leží v tomto okresu celou svojí plochou?
19, 4
CREATE TABLE ltm AS
SELECT geom FROM okresypolygony
WHERE naz_lau1 = 'Litoměřice';
SELECT   count(*)
FROM     kladyzakladnichmap AS klad
JOIN     ltm
ON       klad.kategorie = 2 
AND      st_intersects(ltm.geom, klad.geom);
SELECT   count(*)
FROM     kladyzakladnichmap AS klad
JOIN     ltm
ON       klad.kategorie = 2 
AND      st_within(klad.geom, ltm.geom);
8. Které silnice (uveďte jejich číslo) druhé třídy procházejí oblastí bažin a rašelinišť?
103, 169
SELECT   cislo_silnice
FROM     silnice_2015 AS s
JOIN     bazinyaraseliniste AS b
ON       trida = 4
AND      st_intersects(s.geom, b.geom);
9. Jaká je průměrná nadmořská výška výškových kót na území Středočeského kraje?
488
SELECT round(avg(vyska))
FROM   vyskovekoty AS v
JOIN   krajepolygony AS K
ON     k.naz_cznuts3 = 'Středočeský kraj'
AND    st_within(v.geom, k.geom);
12. Vyberte katastrální území, ve kterých leží alespoň částečně jedna vodní plocha, seskupte tyto území podle kódu NUTS LAU1. Uveďte jaký kód NUTS má největší výměru a z kolika katastrálních území se skládá?
(GPKG: 75s vs PostGIS: 0.3s) CZ0313, 78
SELECT   kod_lau1, count(*) AS pocet
FROM     katastralniuzemipolygony AS k
WHERE    objectid IN
(
 SELECT  DISTINCT k.objectid
 FROM    katastralniuzemipolygony AS k
 JOIN    vodniplochy AS v
 ON      st_intersects(k.geom, v.geom)
)
GROUP BY kod_lau1
ORDER BY pocet DESC
LIMIT    1;
13. Uveďte souřadnice reprezentačního bodu (centroidu) největší vodní nádrže v Libereckém kraji. O jakou vodní nádrž se jedná?
-678660, -971660; Josefův důl
SELECT   st_astext(st_centroid(v.geom)), nazev
FROM     vodniplochy AS v
JOIN     krajepolygony AS k
ON       k.naz_cznuts3 = 'Liberecký kraj'
AND      v.typ = 1
AND      st_intersects(v.geom, k.geom)
ORDER BY st_area(v.geom) DESC
LIMIT    1;
14. Kolik obcí leží celou svojí plochou na mapovém listu "Pardubice" ZM 1:25 000. Do kolika ORP tyto obce patří a které to jsou?
8; 2; Chrudim, Pardubice
CREATE TABLE obce_p AS SELECT naz_orp
FROM obcepolygony AS obce
JOIN (
 SELECT geom
 FROM   kladyzakladnichmap AS k
 WHERE  k.kategorie = 2 AND nazev = 'Pardubice'
) AS klad
ON st_within(obce.geom, klad.geom);
SELECT   count(*)
FROM     obce_p;
SELECT   naz_orp
FROM     obce_p 
GROUP BY naz_orp;
15. Kolik obcí v ČR leží svoji plochou alespoň na dvou mapových listech Základní mapy 1:50 000?
2357
SELECT count(DISTINCT kod_obec)
FROM   obcepolygony AS o
JOIN 
(
 SELECT st_boundary(geom) AS geom
 FROM   kladyzakladnichmap AS k
 WHERE  k.kategorie = 3
) AS k
ON st_intersects(k.geom, o.geom);