155UZPR / Semestrální projekt: Porovnání verzí

Z GeoWikiCZ
Řádek 124: Řádek 124:
</pre>
</pre>


Při kombinaci dat ze schémat <tt>osm</tt> a <tt>gis1</tt> je nutné provést transformaci dat do společného souřadnicové systému.
Při kombinaci dat ze schémat <tt>osm</tt> a <tt>gis1</tt> je nutné provést transformaci ([http://postgis.org/documentation/manual-1.5/ST_Transform.html ST_Transform]) dat do společného souřadnicové systému.


<source lang=sql>
<source lang=sql>
SELECT count(*) from osm.czech_point AS kino JOIN gis1.obce AS obce ON
ST_Within(kino.way, ST_Transform(obce.geom, 900913)) AND
kino.amenity = 'cinema' AND obce.nazev = 'Praha';
</source>


=== Nastavení cesty ===
=== Nastavení cesty ===

Verze z 21. 4. 2011, 10:21

< Úvod do zpracování prostorových dat

Přístup k databázi pgis_uzpd

Přihlášení k databázi

  • host: geo102.fsv.cvut.cz (geo102)
  • uživatelské jméno: uzpd_<skupina><rok>, např. uzpd_a11

Příklad pro skupinu a11

psql pgis_pin2 -U uzpd_a11 -h geo102 -W
Přihlašovací dialog pgadmin3 pro databázi pgis_uzpd

Vstupní data

Databáze obsahuje ve schématu osm data OpenStreetMap ČR ze dne 9.3.2011.

SELECT f_table_name, f_geometry_column, srid, type FROM geometry_columns WHERE f_table_schema = 'osm';
 f_table_name  | f_geometry_column |  srid  |    type    
---------------+-------------------+--------+------------
 czech_line    | way               | 900913 | LINESTRING
 czech_point   | way               | 900913 | POINT
 czech_polygon | way               | 900913 | POLYGON
 czech_roads   | way               | 900913 | LINESTRING
(4 rows)

Dále je v databázi najdete data z cvičné databáze (schéma gis1)

SELECT f_table_name, f_geometry_column, srid, type FROM geometry_columns WHERE f_table_schema = 'gis1';
   f_table_name    | f_geometry_column |  srid  |      type       
-------------------+-------------------+--------+-----------------
 kltm50            | geom              | 102067 | MULTIPOLYGON
 lesy              | geom              | 102067 | MULTIPOLYGON
 obce              | geom              | 102067 | MULTIPOLYGON
 obce_b            | geom              | 102067 | POINT
 zeleznice         | geom              | 102067 | MULTILINESTRING
 zeleznice_stanice | geom              | 102067 | POINT
(6 rows)

Data ze schémat osm a gis1 jsou lokalizována v různých souřadnicových systémech.

SELECT g.f_table_name, s.auth_name, s.auth_srid, s.proj4text FROM geometry_columns AS g JOIN
 spatial_ref_sys AS s ON g.srid = s.srid AND g.f_table_schema = 'osm';
-[ RECORD 1 ]+-----------------------------------------------------------------------------------------------------------------
f_table_name | czech_line
auth_name    | spatialreferencing.org
auth_srid    | 900913
proj4text    | +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +units=m +k=1.0 +nadgrids=@null +no_defs
-[ RECORD 2 ]+-----------------------------------------------------------------------------------------------------------------
f_table_name | czech_point
auth_name    | spatialreferencing.org
auth_srid    | 900913
proj4text    | +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +units=m +k=1.0 +nadgrids=@null +no_defs
-[ RECORD 3 ]+-----------------------------------------------------------------------------------------------------------------
f_table_name | czech_polygon
auth_name    | spatialreferencing.org
auth_srid    | 900913
proj4text    | +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +units=m +k=1.0 +nadgrids=@null +no_defs
-[ RECORD 4 ]+-----------------------------------------------------------------------------------------------------------------
f_table_name | czech_roads
auth_name    | spatialreferencing.org
auth_srid    | 900913
proj4text    | +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +units=m +k=1.0 +nadgrids=@null +no_defs
SELECT g.f_table_name, s.auth_name, s.auth_srid, s.proj4text FROM geometry_columns AS g JOIN
 spatial_ref_sys AS s ON g.srid = s.srid AND g.f_table_schema = 'gis1';
-[ RECORD 1 ]+-------------------------------------------------------------
f_table_name | kltm50
auth_name    | esri
auth_srid    | 102067
proj4text    | +proj=krovak +a=6377397.155 +rf=299.1528128 +no_defs
             : +towgs84=570.8,85.7,462.8,4.998,1.587,5.261,3.56 +to_meter=1
-[ RECORD 2 ]+-------------------------------------------------------------
f_table_name | lesy
auth_name    | esri
auth_srid    | 102067
proj4text    | +proj=krovak +a=6377397.155 +rf=299.1528128 +no_defs
             : +towgs84=570.8,85.7,462.8,4.998,1.587,5.261,3.56 +to_meter=1
-[ RECORD 3 ]+-------------------------------------------------------------
f_table_name | obce
auth_name    | esri
auth_srid    | 102067
proj4text    | +proj=krovak +a=6377397.155 +rf=299.1528128 +no_defs
             : +towgs84=570.8,85.7,462.8,4.998,1.587,5.261,3.56 +to_meter=1
-[ RECORD 4 ]+-------------------------------------------------------------
f_table_name | obce_b
auth_name    | esri
auth_srid    | 102067
proj4text    | +proj=krovak +a=6377397.155 +rf=299.1528128 +no_defs
             : +towgs84=570.8,85.7,462.8,4.998,1.587,5.261,3.56 +to_meter=1
-[ RECORD 5 ]+-------------------------------------------------------------
f_table_name | zeleznice
auth_name    | esri
auth_srid    | 102067
proj4text    | +proj=krovak +a=6377397.155 +rf=299.1528128 +no_defs
             : +towgs84=570.8,85.7,462.8,4.998,1.587,5.261,3.56 +to_meter=1
-[ RECORD 6 ]+-------------------------------------------------------------
f_table_name | zeleznice_stanice
auth_name    | esri
auth_srid    | 102067
proj4text    | +proj=krovak +a=6377397.155 +rf=299.1528128 +no_defs
             : +towgs84=570.8,85.7,462.8,4.998,1.587,5.261,3.56 +to_meter=1

Při kombinaci dat ze schémat osm a gis1 je nutné provést transformaci (ST_Transform) dat do společného souřadnicové systému.

SELECT count(*) from osm.czech_point AS kino JOIN gis1.obce AS obce ON
 ST_Within(kino.way, ST_Transform(obce.geom, 900913)) AND
 kino.amenity = 'cinema' AND obce.nazev = 'Praha';

Nastavení cesty

Příklad pro skupinu a11

SET search_path to a11, public, osm;

Vytvoření tématické vrstvy

Příklad pro 'vinice' (polygonová data) - viz Map Features na wiki OSM.

CREATE TABLE vinice AS SELECT osm_id, way AS geom FROM czech_polygon WHERE landuse = 'vineyard';
  • Definice primárního klíče
ALTER TABLE vinice ADD PRIMARY KEY(osm_id);

Pokud přidání primárního klíče nad atributem osm_id zkolabuje, přidejte nový atribut gid a vytvořte primární klíč nad tímto atributem

ALTER TABLE vinice ADD COLUMN gid serial;
ALTER TABLE vinice ADD PRIMARY KEY(gid);
  • Vytvoření prostorového klíče
CREATE INDEX vinice_geom ON vinice USING gist (geom);
  • Aktualizace metadatové tabulky geometry_columns
SELECT populate_geometry_columns('a11.vinice'::regclass);

Odstranění tématické vrstvy

SELECT dropgeometrytable('a11', 'vinice');

Letní semestr 2010/2011

Zadání

  • Navrhněte a vytvořte tématické vrstvy (např. vodní toky, vodní plochy, lesy, silnice, železnice a pod.) na základě dat OSM (viz cvičná databáze pgis_student schéma osm). Pro tento účel byla na serveru 'geo102' založena databáze pgis_uzpd.
  • Aplikujte testy datové integrity a odstraňte případné nekonzistence v datech.
  • Vytvořte tutoriál pro výuku PostGIS - tj. sadu atributových a prostorových dotazů nad databází pgis_uzpd.

Požadavky

  • Prezentace v PDF (10-15min) - veřejná prezentace 12.5., B870, 10h
  • Dokumentace v PDF - odevzdání do 15.5.
  • SQL dotazy v textovém formátu (kódování unicode)

Skupiny

A
Bejdová, Bocan, Tomášů, Med
B
Faitová, Gardoňová, Šubrtová
C
Kyzlíková, Turek, Zajíček
D
Fuňáková, Vojtěchovský, Vorlíček
E
Hynková, Lžíčař, Tichý

Letní semestr 2009/2010

Zadání

  • Navrhněte a vytvořte tématické vrstvy (např. vodní toky, vodní plochy, lesy, silnice, železnice a pod.) na základě dat OSM (viz cvičná databáze pgis_student schéma osm). Pro tento účel byla na serveru 'josef' založena databáze pgis_osm (poznámky).
  • Aplikujte testy datové integrity a odstraňte případné nekonzistence v datech.
  • Vytvořte tutoriál pro výuku PostGIS - tj. sadu atributových a prostorových dotazů nad databází pgis_osm.

Požadavky

  • Prezentace v PDF (10-15min) -- veřejná prezentace 13.5., B870, 9h
  • Dokumentace v PDF -- odevzdání do 20.5.
  • SQL dotazy v textovém formátu

Skupiny

A
Kadlecová, Holubec, Bocan, Synek
prezentacedokumentaceSQL dávkový soubor
B
Svobodová, Duchnová, Pantůčková, Kopecký
prezentacedokumentaceSQL dávkový souborskript
C
Zavadil, Bodnár, Sedláčková, Kratochvíl, Bečička
prezentacedokumentaceSQL dávkový soubor
D
Dluhoš, Podpěra, Linhartová, Jarošová
prezentacedokumentaceSQL dávkový soubor
E
Pospíšil, Karochová, Knoblochová, Štochlová
prezentacedokumentaceSQL dávkový soubortutorial
F
Kratochvílová, Němcová, Petráš
prezentacedokumentaceSQL dávkový soubor

Hodnocení

Poznámka: Jednotlivé položky jsou hodnoceny body od 5 (výborně) až 0 (nedostatečně).

Váha A B C D E F
Prezentace projektu (vystoupení) 1 5 4 4 4 3 5
Prezentace (PDF) 2 3 2 2 2 2 5
Dokumentace 4 5 3 3 3 4 5
Technické řešení (SQL dávka) 4 4 3 3 3 4 5
Celkové hodnocení 11 4.27 2.91 2.91 2.91 3.54 5.00
A B B B A A

Letní semestr 2008/2009

  1. Navrhněte a vytvořte tématické vrstvy (např. vodní toky, vodní plochy, lesy, silnice, železnice a pod.) pro data z cvičné databáze pgis_student schéma osm. Pro tento účel byla na serveru josef založena databáze pgis_osm.
  2. Navrhněte sadu atributových a prostorových dotazů nad databází pgis_osm určenou pro výuku PostGIS.
  3. Vizualizujte data pomocí UMN MapServer, viz ukázka vizualizace dat, WMS. Vytvořte MapFile pro službu WFS. Alternativně navrhněte jednoduché uživatelské prostředí, viz přednáška WebGIS Jáchyma Čepického.

Skupiny:

A
Hořejšová, Volfová, Prunarová, Šmejkal
Technická zprávaWebová aplikace
B
Hron, Kitzbergerová, Růžička, Řehák a Truhlář
Technická zprávaWebová aplikace
C
Peterová, Kovařík, Novák, Krejčí
Technická zprávaWebová aplikace
D
Buřvalová, Fořt, Horník, Kabilková, Polívka, Veverka
Technická zprávaWebová aplikace