Připojení do PostgresSQL: Host: geo-app.ucn.muni.cz Port: 5432 User: postgres Password: tR.21Lm3WP_2 http://postgis.net/documentation/ • současná verze 3.3 manuál: • http://postgis.net/docs/manual-3.3/ seznam funkcí: • https://postgis.net/docs/reference.html tutoriál včetně cvičebnice: • http://postgis.net/workshops/postgis-intro/ Základní výběr na základě podmínek: =================================== SELECT * FROM Kraje SELECT * FROM "Kraje" SELECT * FROM okresy SELECT "nazev", "poc_obyv_s" FROM okresy SELECT nazev, poc_obyv_s FROM okresy SELECT "nazev", "poc_obyv_s" FROM okresy WHERE nazev='Karviná' SELECT avg(poc_obyv_s) FROM okresy SELECT "nazev", "poc_obyv_s" FROM okresy WHERE poc_obyv_s>100000 AND nazev like '%Praha%' SELECT "nazev", "poc_obyv_s" FROM okresy WHERE poc_obyv_s>100000 AND nazev like '%Praha%' ORDER BY poc_obyv_s Tvorba tabulky bez a s geometrií: ================================= CREATE TABLE okvyber WITH OIDS AS SELECT "nazev", "poc_obyv_s" FROM okresy WHERE poc_obyv_s>200000 AND vusc=132 ORDER BY poc_obyv_s CREATE TABLE okvyber2 WITH OIDS AS SELECT "geom", "nazev", "poc_obyv_s" FROM okresy WHERE poc_obyv_s>200000 AND vusc=132 ORDER BY poc_obyv_s Funkce pro práci s geometrií: ============================= SELECT "nazev", ST_Area(geom) FROM okresy WHERE ST_Area(geom)<300000000 SELECT "nazev", ST_AsText(geom) FROM okresy WHERE (nazev='Blansko') Funkce pro prostorové vztahy dvou vrstev: ========================================= CREATE TABLE ms WITH OIDS AS SELECT * FROM kraje WHERE "nazev" like '%Moravsk%' CREATE TABLE vyber WITH OIDS AS SELECT * FROM obce, ms WHERE ST_Contains(ms.geom, obce.geom)=TRUE; CREATE TABLE vyber2 WITH OIDS AS SELECT obce.* FROM obce, ms WHERE ST_Contains(ms.geom, obce.geom)=TRUE; CREATE TABLE vyber3 WITH OIDS AS SELECT obce.* FROM obce, ms WHERE ST_Intersects(ms.geom, obce.geom)=TRUE; Tvorba nových tabulek pomocí analýz a pozor na měření ploch překrývajících se území: ==================================================================================== CREATE TABLE buffers WITH OIDS AS SELECT ST_Buffer(geom,2000) AS geom FROM obce WHERE "nazev" like '%á%' SELECT sum(ST_Area(geom)/1000000) As rozloha FROM buffers CREATE TABLE uni WITH OIDS AS SELECT ST_Union (buffers.geom) AS geom FROM buffers SELECT (ST_Area(geom)/1000000) As rozloha FROM uni CREATE TABLE inter WITH OIDS AS SELECT ST_Intersection(buffers.geom, ms.geom) AS geom FROM buffers, ms WHERE ST_Dimension(ST_Intersection(buffers.geom, ms.geom)) = 2 CREATE TABLE inter2 WITH OIDS AS SELECT buffers.* FROM buffers, ms WHERE ST_Intersects (buffers.geom, ms.geom)=TRUE