-- *************** Vytvoření tabulek ***************
-- 1) fotbal (OSM - EPSG::3857)
CREATE TABLE fotbal AS (SELECT DISTINCT geom AS geomtmp,leisure AS typ,name AS nazev FROM osm.czech_point WHERE sport = 'soccer');
SELECT AddGeometryColumn('fotbal','geom',5514,'point',2);
UPDATE fotbal SET geom = ST_Transform(geomtmp,5514);
SELECT DropGeometryColumn('fotbal','geomtmp');
ALTER TABLE fotbal ADD COLUMN id SERIAL;
ALTER TABLE fotbal ADD PRIMARY KEY (id);
ALTER TABLE fotbal ALTER COLUMN geom SET NOT NULL;
CREATE INDEX fotbal_geom_idx ON fotbal USING gist(geom);
SELECT id, ST_IsValidReason(geom) AS reason FROM fotbal WHERE ST_IsValid(geom) = FALSE;

-- 2) tenis (OSM - EPSG::3857)
CREATE TABLE tenis AS (SELECT DISTINCT geom AS geomtmp,leisure AS typ,name AS nazev FROM osm.czech_point WHERE sport = 'tennis');
SELECT AddGeometryColumn('tenis', 'geom',5514,'point',2);
UPDATE tenis SET geom = ST_Transform(geomtmp,5514);
SELECT DropGeometryColumn('tenis','geomtmp');
ALTER TABLE tenis ADD COLUMN id SERIAL;
ALTER TABLE tenis ADD PRIMARY KEY (id);
ALTER TABLE tenis ALTER COLUMN geom SET NOT NULL;
CREATE INDEX tenis_geom_idx ON tenis USING gist(geom);
SELECT id, ST_IsValidReason(geom) AS reason FROM tenis WHERE ST_IsValid(geom) = FALSE;

-- 3) lednihokej (Ruční sběr na maps.google.com - EPSG::4326)
CREATE TABLE lednihokej (
	nazevklubu TEXT,
	mesto TEXT,
	kryty INT CHECK (kryty IN(0,1)),
	fi FLOAT NOT NULL,
	lambda FLOAT NOT NULL
);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Skuteč','Skuteč',1,49.844124,15.993023);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Choceň','Choceň',1,50.000279,16.206196);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Litomyšl','Litomyšl',1,49.868188,16.319048);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Hlinsko','Hlinsko',1,49.759554,15.908708);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Chrudim','Chrudim',1,49.939823,15.803803);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC ČSOB Pojišťovna Pardubice','Pardubice',1,50.040172,15.768475);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Spartak Polička','Polička',1,49.717653,16.267753);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Slovan Moravská Třebová','Moravská Třebová',1,49.766063,16.660891);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Česká Třebová','Česká Třebová',1,49.908002,16.445716);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Lanškroun','Lanškroun',1,49.918214,16.600255);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('TJ Svitavy','Svitavy',0 ,49.750424,16.464732);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Chotěboř','Chotěboř',1,49.718318,15.674851);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Sklo Bohemia Světlá nad Sázavou','Světlá nad Sázavou',1,49.670072,15.410684);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Rebel Havlíčkův Brod','Havlíčkův Brod',1,49.610964,15.583758);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('SKLH Žďár nad Sázavou','Žďár nad Sázavou',1,49.570492,15.941282);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('TJ Stadion Kutná Hora','Kutná Hora',1,49.945309,15.275812);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('SC Kolínští Kozlové','Kolín',1,50.032153,15.199314);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Ledeč nad Sázavou','Ledeč nad Sázavou',1,49.697331,15.269994);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Rychnov nad Kněžnou','Rychnov nad Kněžnou',1,50.165033,16.280975);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('Mountfield HK','Hradec Králové',1,50.206553,15.829235);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('SK Třebechovice pod Orebem','Třebechovice pod Orebem',1,50.202270,15.992109);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Baroni Opočno','Opočno',1,50.269081,16.115061);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('TJ Spartak Nové Město nad Metují','Nové Město nad Metují',1,50.350690,16.131797);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Náchod','Náchod',1,50.406955,16.161802);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Jaroměř','Jaroměř',1,50.350164,15.918019);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('Stadion Nový Bydžov','Nový Bydžov',1,50.241338,15.498154);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Dvůr Králové nad Labem','Dvůr Králové nad Labem',1,50.431553,15.811594);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Wikov Hronov','Hronov',1,50.474766,16.183654);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Trutnov','Trutnov',1,50.563307,15.923943);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('BK Nová Paka','Nová Paka',1,50.493057,15.506923);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Stadion Vrchlabí','Vrchlabí',1,50.623550,15.610922);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Jičín','Jičín',1 ,50.439419,15.348167);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Lomnice nad Popelkou','Lomnice nad Popelkou',1,50.533572,15.369736);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Salith Šumperk','Šumperk',1,49.956197,16.980168);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Uničov','Uničov',1,49.769914,17.110423);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Blansko','Blansko',1,49.363753,16.638821);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('SK Minerva Boskovice','Boskovice',1,49.482124,16.668678);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Poděbrady','Poděbrady',1,50.146638,15.110181);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('NED Hockey Nymburk','Nymburk',1,50.182288,15.035582);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Vlci Jablonec','Jablonec nad Nisou',1,50.721390,15.167559);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('TJ Slovan Frýdlant','Frýdlant v Čechách',1 ,50.920027,15.084869);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Bílí Tygři Liberec','Liberec',1,50.752535,15.050068);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('BK Mladá Boleslav','Mladá Boleslav',1,50.410352,14.907620);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Jiskra Humpolec','Humpolec',1,49.533602,15.359882);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Dukla Jihlava','Jihlava',1,49.398063,15.583374);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Lední Medvědi Pelhřimov','Pelhřimov',1,49.424340,15.228001);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('TJ Náměšť nad Oslavou','Náměšť nad Oslavou',1,49.211428,16.155642);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HHK Velké Meziříčí','Velké Meziříčí',1,49.358235,16.014018);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('SK Horácká Slavia Třebíč','Třebíč',1,49.213473,15.885519);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('TJ Spartak Vlašim','Vlašim',1,49.707879,14.890451);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Benešov','Benešov',1,49.778467,14.695878);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('SK Telč','Telč',0 ,49.182717,15.451144);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Tábor','Tábor',1,49.423671,14.651658);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('OLH Spartak Soběslav','Soběslav',1,49.256280,14.717342);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Jindřichův Hradec','Jindřichův Hradec',1,49.146964,15.006294);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Orli Znojmo','Znojmo',1,48.860360,16.043554);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('TJ Lokomotiva Veselí nad Lužnicí','Veselí nad Lužnicí',1,49.190357,14.702425);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Milevsko 2010','Milevsko',1,49.442890,14.367997);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('TJ Tatran Sedlčany','Sedlčany',1,49.660681,14.430892);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Olomouc','Olomouc',1,49.597139,17.244721);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Motor České Budějovice','České Budějovice',1,48.970656,14.471230);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Slavoj Český Krumlov','Český Krumlov',1,48.815453,14.311625);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('IHC Písek','Písek',1,49.307409,14.141713);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('Sokol Rovensko Pod Troskami','Rovensko pod Troskami',0 ,50.538902,15.259272);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('LHK Jestřábi Prostějov','Prostějov',1,49.479713,17.102512);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('MBK Vyškov','Vyškov',1,49.284283,16.991720);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Slovan Rosice','Rosice u Brna',1,49.185147,16.390136);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Velká Bíteš','Velká Bíteš',1,49.291428,16.223539);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Kometa Brno','Brno - Rondo',1,49.185447,16.602016);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('','Brno - Královo Pole',0 ,49.226488,16.585173);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HLS Bulldogs Brno','Brno - Úvoz',1,49.203609,16.591033);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Lvi Břeclav','Břeclav',1,48.760513,16.873809);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Rousínov','Rousínov',0 ,49.207150,16.878492);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('SKH Hodonín','Hodonín',1,48.852725,17.124238);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('TJ Hluboká nad Vltavou','Hluboká nad Vltavou',0 ,49.047061,14.445003);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Strakonice','Strakonice',1,49.261971,13.911519);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Benátky nad Jizerou','Benátky nad Jizerou',1,50.289654,14.818273);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Buldoci Neratovice','Neratovice',1,50.260592,14.517632);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Junior Mělník','Mělník',1,50.357931,14.477069);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HK Kralupy nad Vltavou','Kralupy nad Vltavou',1,50.251362,14.319029);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('SK Černošice','Černošice u Prahy',1,49.959605,14.319040);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('USK Praha','Praha - HASA',1,50.067281,14.445812);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Hvězda Praha','Praha - Hvězda',1,50.095677,14.363498);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Kobra Praha','Praha - Kobra',1,50.031689,14.428254);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('TJ Slavoj Zbraslav','Praha - Nikolajka',1,50.067134,14.395916);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Letci Letňany','Praha - Letňany',1,50.133788,14.503613);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Slavia Praha','Praha - Eden',1,50.068793,14.479735);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Sparta Praha','Praha - Sparta',1,50.106826,14.432910);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('','Praha - Bronzová',1,50.044657,14.326006);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Česká Lípa','Česká Lípa',1,50.682211,14.540068);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Varnsdorf','Varnsdorf',1,50.912887,14.621901);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Rumburk','Rumburk',1,50.952487,14.549229);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC TJ Šternberk','Šternberk',1,49.718849,17.294085);  
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Příbram','Příbram',1,49.678633,14.002454);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Draci Bílina','Bílina',1,50.548646,13.778843);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Berounští Medvědi','Beroun',1,49.963093,14.078944);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('ZAVETA Bojkovice','Bojkovice',0 ,49.042084,17.818373);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('','Bruntál',0 ,49.992833,17.452244);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Děčín','Děčín',1,50.774849,14.219109);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HOSK Dobříš','Dobříš',0, 49.776946,14.174496);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Roudnice nad Labem','Roudnice nad Labem',1,50.424324,14.249541);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Litoměřice','Litoměřice',1,50.533115,14.123434);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Slovan Ústečtí Lvi','Ústí nad Labem',1,50.677585,14.013642);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Teplice','Teplice',1,50.639154,13.819829);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Lovosice','Lovosice',1,50.515688,14.058120);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Rytíři Kladno','Kladno',1,50.137112,14.093063);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HK Lev Slaný','Slaný',1,50.225739,14.069000);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Slovan Louny','Louny',1,50.359815,13.810274);  
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Rakovník','Rakovník',1,50.098927,13.740310);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Dynamo Povrly','Povrly',0 ,50.675020,14.158130);  
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Most','Most',1,50.513336,13.647053);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Verva Litvínov','Litvínov',1,50.605676,13.621364);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Piráti Chomutov','Chomutov',1,50.462190,13.408241);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('SK Kadaň','Kadaň',1,50.385846,13.275497);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Vimperk','Vimperk',1,49.056696,13.781355);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('TJ Sušice','Sušice',1,49.228686,13.517112);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Klatovy','Klatovy',1,49.394659,13.277553);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Nedvědice','Nedvědice', 0 ,49.455432,16.338512);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Meteor Třemošná','Třemošná',1,49.808526,13.392657);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Rokycany','Rokycany',1,49.739087,13.602806);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Plzeň 1929','Plzeň',1,49.736760,13.377494);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Domažlice','Domažlice',1,49.444316,12.910775);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Tachov','Tachov',1,49.796590,12.625176);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Mariánské Lázně','Mariánské Lázně',1,49.966554,12.697033);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Energie Karlovy Vary','Karlovy Vary', 1,50.231373,12.851992);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Nejdek','Nejdek', 1,50.320697,12.746334);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Sokolov','Sokolov', 1,50.171665,12.652541);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Stadion Cheb','Cheb', 1,50.070691,12.372780);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Klášterec nad Ohří','Klášterec nad Ohří',1,50.389564,13.182285);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Slavoj Velké Popovice','Velké Popovice', 1,49.925776,14.636239);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Uherské Hradiště','Uherské Hradiště', 1,49.068271,17.473774);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Uherský Brod','Uherský Brod', 1,49.018261,17.650342);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Uherský Ostroh','Uherský Ostroh', 1,48.986155,17.397976);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC PSG Zlín','Zlín',1,49.217421,17.659977);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HK Kroměříž','Kroměříž',1,49.293242,17.406572);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Zubr Přerov','Přerov',1,49.447578,17.464664);  
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC BBSS','Brumov-Bylnice',1,49.082682,18.021429);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('VHK Vsetín','Vsetín',1,49.334222,17.990672);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Bobři Valašské Meziříčí','Valašské Meziříčí',1,49.470207,17.979768);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Rožnov pod Radhošťem','Rožnov pod Radhošťem',1,49.458524,18.125104);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Hořovice','Hořovice',0 ,49.840641,13.904112);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HK Krnov','Krnov',1,50.093935,17.699579);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Slezan Opava','Opava',1,49.938009,17.910218);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Kopřivnice','Kopřivnice',1,49.593662,18.145882);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Nový Jičín','Nový Jičín',1,49.590351,18.001244);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Buly Centrum Kravaře','Kravaře',1,49.933021,18.030767);  
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Frýdek-Místek','Frýdek-Místek',1,49.681203,18.347498);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC TJ Frenštát pod Radhoštěm','Frenštát pod Radhoštěm',0 ,49.543566,18.201609);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Oceláři Třinec','Třinec',1,49.669907,18.663815);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('SK Karviná','Karviná',1,49.855266,18.538584);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC AZ Havířov','Havířov',1,49.769819,18.445546);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Bohumín','Bohumín', 1,49.907987,18.365170);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC PLUS OIL Orlová','Orlová', 1,49.865769,18.428990);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Horní Benešov','Horní Benešov', 1,49.971069,17.604431);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Sareza Ostrava','Ostrava - Poruba', 1,49.830402,18.175469);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Vítkovice Steel','Ostrava - Vítkovice', 1,49.804862,18.248432);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('TJ Slavoj Český Těšín','Český Těšín', 1,49.742370,18.618390);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Moravské Budějovice 2005','Moravské Budějovice', 1,49.049650,15.806207);
INSERT INTO lednihokej (nazevklubu,mesto,kryty,fi,lambda) VALUES ('HC Studénka','Studénka', 1,49.711543,18.053388);
ALTER TABLE lednihokej ADD COLUMN geomtmp geometry(point,4326);
UPDATE lednihokej SET geomtmp = st_setsrid(st_point(lambda,fi),4326);
ALTER TABLE lednihokej DROP COLUMN fi;
ALTER TABLE lednihokej DROP COLUMN lambda;
SELECT AddGeometryColumn('lednihokej','geom',5514,'point',2);
UPDATE lednihokej SET geom = ST_Transform(geomtmp,5514);
SELECT DropGeometryColumn('lednihokej','geomtmp');
ALTER TABLE lednihokej ADD COLUMN id SERIAL;
ALTER TABLE lednihokej ADD PRIMARY KEY (id);
ALTER TABLE lednihokej ALTER COLUMN geom SET NOT NULL;
CREATE INDEX lednihokej_geom_idx ON lednihokej USING gist(geom);
SELECT id, ST_IsValidReason(geom) AS reason FROM lednihokej WHERE ST_IsValid(geom) = FALSE;

-- 4) obce (RUIAN - EPSG::5514)
CREATE TABLE obce AS (SELECT DISTINCT obce.nazev AS obec, geom FROM ruian.obce WHERE NOT st_isempty(geom) ORDER BY obec);
ALTER TABLE obce ADD COLUMN id SERIAL;
ALTER TABLE obce ADD PRIMARY KEY (id);
ALTER TABLE obce ALTER COLUMN geom SET NOT NULL;
CREATE INDEX obce_geom_idx ON obce USING gist(geom);
SELECT id, ST_IsValidReason(geom) AS reason FROM kraje WHERE ST_IsValid(geom) = FALSE;

-- 5) okresy (RUIAN - EPSG::5514)
CREATE TABLE okresy AS (SELECT DISTINCT okresy.nazev AS okres, okresy.geom FROM okresy ORDER BY okres);
ALTER TABLE okresy ADD COLUMN id SERIAL;
ALTER TABLE okresy ADD PRIMARY KEY (id);
ALTER TABLE okresy ALTER COLUMN geom SET NOT NULL;
CREATE INDEX okresy_geom_idx ON okresy USING gist(geom);
SELECT id, ST_IsValidReason(geom) AS reason FROM okresy WHERE ST_IsValid(geom) = FALSE;

-- 6) staty (RUIAN - EPSG::5514)
CREATE TABLE staty AS (SELECT DISTINCT staty.nazev AS stat, staty.geom FROM staty ORDER BY stat);
ALTER TABLE staty ADD COLUMN id SERIAL;
ALTER TABLE staty ADD PRIMARY KEY (id);
ALTER TABLE staty ALTER COLUMN geom SET NOT NULL;
CREATE INDEX staty_geom_idx ON staty USING gist(geom);
SELECT id, ST_IsValidReason(geom) AS reason FROM staty WHERE ST_IsValid(geom) = FALSE;

-- 7) silnice (OSM - EPSG::3857)
CREATE TABLE silnice AS (SELECT geom AS geomtmp, highway AS typ FROM czech_line WHERE highway IN (
'motorway','trunk','primary','secondary','tertiary','motorway_link','trunk_link','primary_link','secondary_link','tertiary_link'));
SELECT AddGeometryColumn('silnice','geom',5514,'LineString',2);
UPDATE silnice SET geom = ST_Transform(geomtmp,5514);
SELECT DropGeometryColumn('silnice','geomtmp');
ALTER TABLE silnice ADD COLUMN id SERIAL;
ALTER TABLE silnice ADD PRIMARY KEY (id);
ALTER TABLE silnice ALTER COLUMN geom SET NOT NULL;
CREATE INDEX silnice_geom_idx ON silnice USING gist(geom);
SELECT id, ST_IsValidReason(geom) AS reason FROM silnice WHERE ST_IsValid(geom) = FALSE;
-- clip (kvůli rychlosti výpočtu nebylo použito)
--CREATE TABLE silnicetmp AS SELECT st_intersection(a.geom, b.geom) AS geom FROM silnice AS a JOIN staty AS b ON a.geom && b.geom;
--DROP TABLE silnice;
--ALTER TABLE silnicetmp RENAME TO silnice;

-- *************** Funkce ***************
-- 1) výpis všech funkcí ve schématu d15
SELECT proname, proargnames, prosrc 
FROM   pg_catalog.pg_namespace n
JOIN   pg_catalog.pg_proc p
ON     pronamespace = n.oid
WHERE  nspname = 'd15';

-- 2) odstranění funkcí ze schématu (pokud je potřeba)
--DROP FUNCTION getPointGeometry(tableName TEXT, columnName TEXT, columnValue TEXT);
--DROP FUNCTION getLineStringGeometry(network TEXT);
--DROP FUNCTION clipNetwork(networkTableName TEXT,clippingArea TEXT,clippedNetworkTableName TEXT);
--DROP FUNCTION multiFeatures2SingleFeatures(selectedGeometry TEXT,tableName TEXT);
--DROP FUNCTION getNearestVerticeId(verticesTableName TEXT, pointGeometry TEXT);
--DROP FUNCTION createShortestPathGeometry(vertexA INTEGER,vertexB INTEGER, networkTableName TEXT,tableName TEXT);

-- 3) definice jednotlivých funkcí
CREATE OR REPLACE FUNCTION getPointGeometry(tableName TEXT, columnName TEXT, columnValue TEXT) RETURNS geometry(Point,5514) AS $$
    DECLARE
		result geometry(Point,5514);
	BEGIN
		EXECUTE 'SELECT geom FROM ' || tableName || ' WHERE ' || columnName || ' = ''' || columnValue || '''' INTO result;
		RETURN result;
	END;
$$ LANGUAGE plpgsql;

CREATE OR REPLACE FUNCTION getLineStringGeometry(network TEXT) RETURNS SETOF geometry(LineString,5514) AS $$
	BEGIN		
		RETURN QUERY EXECUTE 'SELECT geom FROM ' || network || ' WHERE NOT st_isempty(geom);';
		RETURN;
	END;
$$ LANGUAGE plpgsql;

CREATE OR REPLACE FUNCTION clipNetwork(networkTableName TEXT,clippingArea TEXT,clippedNetworkTableName TEXT) RETURNS text AS $$
	DECLARE
		count INTEGER;
	BEGIN		
		EXECUTE 'DROP TABLE IF EXISTS ' || clippedNetworkTableName || ';';
		EXECUTE 'CREATE TABLE ' || clippedNetworkTableName || ' AS SELECT st_intersection(a.geom, b.geom) AS geom FROM ' || 
		                                  networkTableName || ' AS a JOIN ' || clippingArea || ' AS b ON a.geom && b.geom;';
		EXECUTE 'SELECT count(*) FROM ' || clippedNetworkTableName || '' INTO count;							  
		IF count = 0 THEN RETURN 'Table not contains any rows!';
		ELSE RETURN 'Done!';
		END IF;
	END;
$$ LANGUAGE plpgsql;

CREATE OR REPLACE FUNCTION multiFeatures2SingleFeatures(selectedGeometry TEXT,tableName TEXT, tol FLOAT) RETURNS text AS $$
	DECLARE
		count INTEGER;
	BEGIN	
		EXECUTE 'DROP TABLE IF EXISTS ' || tableName || ';';
		EXECUTE 'CREATE TABLE    ' || tableName || ' AS SELECT (st_dump(geom)).geom AS geom FROM ' || selectedGeometry || ' AS foo;';
		EXECUTE 'ALTER TABLE     ' || tableName || ' ADD COLUMN id serial;';
		EXECUTE 'ALTER TABLE     ' || tableName || ' ADD PRIMARY KEY (id);';
		EXECUTE 'CREATE INDEX ON ' || tableName || ' USING gist (geom);';
		EXECUTE 'ALTER TABLE     ' || tableName || ' ADD COLUMN source integer;';
		EXECUTE 'ALTER TABLE     ' || tableName || ' ADD COLUMN target integer;';
		EXECUTE 'SELECT pgr_createTopology(''' || tableName || ''',' || tol || ',''geom'', ''id'');';
		EXECUTE 'CREATE INDEX ON ' || tableName || ' (source);';
		EXECUTE 'CREATE INDEX ON ' || tableName || ' (target);';
		EXECUTE 'ALTER TABLE     ' || tableName || ' ADD COLUMN cost double precision;'; 
		EXECUTE 'UPDATE          ' || tableName || ' SET cost = st_length(geom);';
		EXECUTE 'SELECT count(*) FROM ' || tableName || '' INTO count;
		IF count = 0 THEN RETURN 'Table not contains any rows!';
		ELSE RETURN 'Done!';
		END IF;
	END;
$$ LANGUAGE plpgsql;

CREATE OR REPLACE FUNCTION getNearestVerticeId(verticesTableName TEXT, pointGeometry TEXT) RETURNS integer AS $$
	DECLARE
		result INTEGER;
	BEGIN
		EXECUTE 'SELECT id FROM ' || verticesTableName || ' AS a,' || pointGeometry || 
		        ' AS b order by st_distance(a.the_geom,b.geom) limit 1' INTO result;
		RETURN result; 
	END;
$$ LANGUAGE plpgsql;

CREATE OR REPLACE FUNCTION createShortestPathGeometry(vertexA INTEGER,vertexB INTEGER, networkTableName TEXT,tableName TEXT
	) RETURNS text AS $$
	DECLARE
		count INTEGER;
	BEGIN		
		EXECUTE 'DROP TABLE IF EXISTS ' || tableName || ';';		
		EXECUTE 'CREATE TABLE ' || tableName || ' AS
				SELECT seq, id1 AS node, id2 AS edge, a.cost, b.geom AS geom FROM pgr_dijkstra(
				''SELECT id, source, target, cost FROM ' || networkTableName || ''',
				' || vertexA || ', ' || vertexB || ', false, false) AS a LEFT JOIN ' || networkTableName || ' AS b ON (a.id2 = b.id);';	
		EXECUTE 'SELECT count(*) FROM ' || tableName || '' INTO count;
		IF count = 0 THEN RETURN 'Table not contains any rows!';
		ELSE RETURN 'Done!';
		END IF;
	END;
$$ LANGUAGE plpgsql;

-- 4) příklad použití funkcí
-- 4.1)
--SELECT getPointGeometry('lednihokej','mesto','Skuteč');
--SELECT getLineStringGeometry('sel_silnice');
-- 4.2)
/*
SELECT clipNetwork('silnice','(SELECT geom FROM okresy WHERE okres IN(''Chrudim'',''Pardubice'',''Ústí nad Orlicí'',''Svitavy''))',
				   'silnice_pardubickykraj');
SELECT multiFeatures2SingleFeatures('(SELECT geom FROM silnice_pardubickykraj WHERE NOT st_isempty(geom))','silnice_pardubickykraj_s',2.0);
SELECT createShortestPathGeometry(
(SELECT getNearestVerticeId('silnice_pardubickykraj_s_vertices_pgr','(SELECT geom FROM lednihokej WHERE mesto = ''Pardubice'')')),
(SELECT getNearestVerticeId('silnice_pardubickykraj_s_vertices_pgr','(SELECT geom FROM lednihokej WHERE mesto = ''Moravská Třebová'')')),
'silnice_pardubickykraj_s',
'silnice_pardubice_ceskatrebova');
*/

-- *************** Dotazy ***************

-- Dotaz
-- a. prostorový, 
-- b. atributový

-- Řešení
-- a. dotaz/poddotaz,
-- b. CTE,
-- c. dočasná tabulka

-- --------------------------------------

-- 1) prostorový - dotaz/poddotaz
-- Q: Vyberte všechny hokejové kluby v okrese Chrudim.
-- A: HC Chrudim, HC Hlinsko, HC Skuteč
SELECT a.nazevklubu AS klub FROM lednihokej AS a JOIN (SELECT * FROM okresy WHERE okres = 'Chrudim') AS b 
ON st_intersects(a.geom, b.geom) ORDER BY klub ASC;
-- 2) prostorový - CTE
-- Q: Vyberte okres(y) s nejvyšším počtem hokejových stadionů.
-- A: Hlavní město Praha (8 klubů)
WITH cte AS (
SELECT a.okres,count(*) AS count FROM okresy AS a JOIN lednihokej AS b ON st_intersects(a.geom, b.geom) 
GROUP BY a.okres  ORDER BY count DESC
) SELECT okres,count FROM cte WHERE count = (SELECT max(count) FROM cte);
-- 3) prostorový - CTE
-- Q: Vyberte hokejový klub, který je vzdušnou čarou nejvzdálenější od klubu HC Skuteč.
-- A: HC Stadion Cheb (216 km)
WITH cte AS (
SELECT nazevklubu,st_distance(geom,(SELECT geom FROM lednihokej WHERE nazevklubu = 'HC Skuteč')) AS distance FROM lednihokej
) SELECT nazevklubu,round(cte.distance/1e3) AS distance_km FROM cte WHERE distance = (SELECT max(distance) FROM cte);
-- 4) atributový - dotaz/poddotaz
-- Q: Kolik je v databázi hokejových stadionů, které nejsou zastřešeny a kolik je těch nezastřešených?
-- A: 13 nezastřešených, 146 zastřešených
SELECT kryty,count(*) FROM lednihokej GROUP BY kryty;
-- 5) atributový - dotaz/poddotaz
-- Q: Kolik je v databázi hokejových klubů, které nemají v názvu jméno města?
-- A: 22 klubů
SELECT count(*) FROM lednihokej WHERE NOT nazevklubu ~ mesto;
-- 6) prostorový - CTE
-- Q: Vyberte okresy, ve kterých více fotbalových stadionů než hokejových (pokud je počet NULL tak neporovnávejte)?
-- A: Frýdek-Místek, Kladno, Praha-východ, Jindřichů Hradec, Kutná Hora, Český Krumlov
-- (hodnoty null by se musely nahradit nulami a použít FULL JOIN)
WITH cte_hokej AS (
	SELECT a.okres,count(*) AS count FROM okresy AS a JOIN lednihokej AS b ON st_intersects(a.geom, b.geom) 
	GROUP BY a.okres
), cte_fotbal AS (
	SELECT a.okres,count(*) AS count FROM okresy AS a JOIN fotbal AS b ON st_intersects(a.geom, b.geom) 
	GROUP BY a.okres
) 
SELECT okresy.okres /* ,cte_hokej.count,cte_fotbal.count */ FROM okresy 
JOIN cte_hokej  ON okresy.okres = cte_hokej.okres 
JOIN cte_fotbal ON okresy.okres = cte_fotbal.okres 
WHERE cte_fotbal.count > cte_hokej.count;
-- 7) prostorový - dotaz/poddotaz
-- Q: Ve kterých okresech není žádný hokejový stadion?
-- A: Jeseník, Plzeň-jih
SELECT okres FROM okresy WHERE okres NOT IN(
SELECT DISTINCT a.okres FROM okresy AS a JOIN lednihokej AS b ON st_intersects(a.geom, b.geom) ) ORDER BY okres ASC;
-- 8) prostorový - CTE
-- Q: Ve kterém okrese je nejvíce sportovišť (hokej + fotbal + tenis) (pokud je počet NULL tak neporovnávejte)?
-- A: Hlavní město Praha
-- (hodnoty null by se musely nahradit nulami a použít FULL JOIN)
WITH cte_hokej AS (
	SELECT a.okres,count(*) AS count FROM okresy AS a JOIN lednihokej AS b ON st_intersects(a.geom, b.geom) 
	GROUP BY a.okres
), cte_fotbal AS (
	SELECT a.okres,count(*) AS count FROM okresy AS a JOIN fotbal AS b ON st_intersects(a.geom, b.geom) 
	GROUP BY a.okres
) , cte_tenis AS (
	SELECT a.okres,count(*) AS count FROM okresy AS a JOIN tenis AS b ON st_intersects(a.geom, b.geom) 
	GROUP BY a.okres
), cte_sum AS (
SELECT okresy.okres,cte_hokej.count+cte_fotbal.count+cte_tenis.count AS sum FROM okresy 
JOIN cte_hokej  ON okresy.okres = cte_hokej.okres 
JOIN cte_fotbal ON okresy.okres = cte_fotbal.okres 
JOIN cte_tenis ON okresy.okres = cte_tenis.okres 
ORDER BY sum DESC
)  SELECT okres FROM cte_sum WHERE sum = (SELECT max(sum) FROM cte_sum);
-- 9) prostorový - CTE
-- Q: Který zimní stadion je nejblíže hranic?
-- A: Český Těšín
WITH cte AS (
	SELECT nazevklubu,mesto,st_distance(a.geom,b.geom) AS dist FROM lednihokej AS a, 
	(SELECT st_exteriorring((st_dump(geom)).geom) AS geom FROM staty) AS b 
) 
SELECT mesto FROM cte WHERE dist = (SELECT min(dist) FROM cte);
-- 10) prostorový - CTE
-- Q: Které obce mají více než jeden zimní stadion?
-- A: Praha, Brno, Ostrava
WITH cte AS (
SELECT a.obec,count(*) AS count FROM obce AS a JOIN lednihokej AS b ON st_intersects(a.geom, b.geom) GROUP BY a.obec
) SELECT obec FROM cte WHERE count >1 ORDER BY obec ASC;

-- *************** pgRouting ***************
-- 1) 
-- Q: Najděte nejkratši cestu ze zimního stadionu v Pardubicích na zimní stadion v České Třebové.
-- A: 
-- a. oříznutí silnic podle dotčených okresů (kvůli rychlosti výpočtu) 
-- b. převedení multiprvků na singleprvky (i s přiřazením nákladů)
-- c. vytvoření gometrie (i s vyhledáním výchozího + koncového uzlu sítě)
SELECT clipNetwork('silnice','(SELECT geom FROM okresy WHERE okres IN(''Chrudim'',''Pardubice'',''Ústí nad Orlicí'',''Svitavy''))',
				   'silnice_pardubickykraj');
SELECT multiFeatures2SingleFeatures('(SELECT geom FROM silnice_pardubickykraj WHERE NOT st_isempty(geom))','silnice_pardubickykraj_s',10.0);
SELECT createShortestPathGeometry(
(SELECT getNearestVerticeId('silnice_pardubickykraj_s_vertices_pgr','(SELECT geom FROM lednihokej WHERE mesto = ''Pardubice'')')),
(SELECT getNearestVerticeId('silnice_pardubickykraj_s_vertices_pgr','(SELECT geom FROM lednihokej WHERE mesto = ''Moravská Třebová'')')),
'silnice_pardubickykraj_s',
'silnice_neohodnocena');
/*
-- 2) (dává shodné výsledky s předchozí úlohou)
-- Q: Najděte nejkratši cestu ze zimního stadionu v Pardubicích na zimní stadion v České Třebové 
-- s použitím rozdílných nákladů dle třídy silnice.
-- A:
--SELECT clipNetwork('silnice','(SELECT geom FROM okresy WHERE okres IN(''Chrudim'',''Pardubice'',''Ústí nad Orlicí'',''Svitavy''))',
--				   'silnice_pardubickykraj'); -- tento krok byl již proveden
SELECT multiFeatures2SingleFeatures('(SELECT geom FROM silnice_pardubickykraj WHERE NOT st_isempty(geom))','silnice_pardubickykraj_cat_s',10.0);
-- prirazeni nakladu dle typu
ALTER TABLE silnice_pardubickykraj_cat_s ADD COLUMN typ TEXT;
UPDATE silnice_pardubickykraj_cat_s SET typ = b.typ FROM silnice_pardubickykraj_cat_s AS a JOIN silnice AS b ON st_intersects(a.geom,b.geom);
UPDATE silnice_pardubickykraj_cat_s SET cost = st_length(geom)*1 WHERE typ = 'motorway';
UPDATE silnice_pardubickykraj_cat_s SET cost = st_length(geom)*2 WHERE typ = 'trunk';
UPDATE silnice_pardubickykraj_cat_s SET cost = st_length(geom)*3 WHERE typ = 'primary';
UPDATE silnice_pardubickykraj_cat_s SET cost = st_length(geom)*4 WHERE typ = 'secondary';
UPDATE silnice_pardubickykraj_cat_s SET cost = st_length(geom)*5 WHERE typ = 'tertiary';
UPDATE silnice_pardubickykraj_cat_s SET cost = st_length(geom)*1 WHERE typ = 'motorway_link';
UPDATE silnice_pardubickykraj_cat_s SET cost = st_length(geom)*2 WHERE typ = 'trunk_link';
UPDATE silnice_pardubickykraj_cat_s SET cost = st_length(geom)*3 WHERE typ = 'primary_link';
UPDATE silnice_pardubickykraj_cat_s SET cost = st_length(geom)*4 WHERE typ = 'secondary_link';
UPDATE silnice_pardubickykraj_cat_s SET cost = st_length(geom)*5 WHERE typ = 'tertiary_link';
ALTER TABLE silnice_pardubickykraj_cat_s DROP COLUMN typ;
-- --------------------------
SELECT createShortestPathGeometry(
(SELECT getNearestVerticeId('silnice_pardubickykraj_cat_s_vertices_pgr','(SELECT geom FROM lednihokej WHERE mesto = ''Pardubice'')')),
(SELECT getNearestVerticeId('silnice_pardubickykraj_cat_s_vertices_pgr','(SELECT geom FROM lednihokej WHERE mesto = ''Moravská Třebová'')')),
'silnice_pardubickykraj_cat_s',
'silnice_ohodnocena');
*/

