Cvičná databáze PostGIS: Porovnání verzí

Z GeoWikiCZ
 
(Není zobrazeno 44 mezilehlých verzí od stejného uživatele.)
Řádek 8: Řádek 8:


== Data - schémata ==
== Data - schémata ==
=== gis1 ===
Obsahuje data ze [[153GIS1 / 3. cvičení| cvičení předmětu GIS1]] ([http://spatialreference.org/ref/epsg/2065/ EPSG:2065]).
<source lang=sql>
SELECT * FROM geometry_columns WHERE f_table_schema = 'gis1';
</source>
<pre>
f_table_catalog | f_table_schema |  f_table_name    | f_geometry_column | coord_dimension | srid |    type   
-----------------+----------------+-------------------+-------------------+-----------------+------+------------
pgis_student    | gis1          | lesy              | geom              |              2 | 2065 | POLYGON
pgis_student    | gis1          | zeleznice        | geom              |              2 | 2065 | LINESTRING
pgis_student    | gis1          | obce              | geom              |              2 | 2065 | MULTIPOLYGON
pgis_student    | gis1          | zeleznice_stanice | geom              |              2 | 2065 | POINT
pgis_student    | gis1          | kltm50            | geom              |              2 | 2065 | POLYGON
pgis_student    | gis1          | obce_b            | geom              |              2 | 2065 | POINT
(6 rows)
</pre>


=== intro ===
=== intro ===
Řádek 54: Řádek 35:
=== osm ===
=== osm ===


Data {{freegis|OpenStreetMap}} ČR ze dne 19.2.2013 ([http://spatialreference.org/ref/sr-org/6627/ Google Mercator]). Viz {{freegis|PostGIS / OpenStreetMap|návod na import}}.
Data {{freegis|OpenStreetMap}} pro území ČR ({{epsg|3857}}). Viz {{freegis|OpenStreetMap / Import do PostGIS|návod na import}}.


<source lang=sql>
<source lang=sql>
Řádek 62: Řádek 43:
  f_table_catalog | f_table_schema | f_table_name  | f_geometry_column | coord_dimension |  srid  |    type     
  f_table_catalog | f_table_schema | f_table_name  | f_geometry_column | coord_dimension |  srid  |    type     
-----------------+----------------+---------------+-------------------+-----------------+--------+------------
-----------------+----------------+---------------+-------------------+-----------------+--------+------------
  pgis_student    | osm            | czech_line    | geom              |              2 | 900913 | LINESTRING
  pgis_student    | osm            | czech_line    | geom              |              2 | 3857  | LINESTRING
  pgis_student    | osm            | czech_polygon | geom              |              2 | 900913 | POLYGON
  pgis_student    | osm            | czech_polygon | geom              |              2 | 3857  | POLYGON
  pgis_student    | osm            | czech_roads  | geom              |              2 | 900913 | LINESTRING
  pgis_student    | osm            | czech_roads  | geom              |              2 | 3857  | LINESTRING
  pgis_student    | osm            | czech_point  | geom              |              2 | 900913 | POINT
  pgis_student    | osm            | czech_point  | geom              |              2 | 3857  | POINT
(4 rows)
(4 rows)
</pre>
</pre>
Řádek 71: Řádek 52:
Popisek tabulek - viz [http://wiki.openstreetmap.org/wiki/Osm2pgsql/schema osm2pgsql schéma].
Popisek tabulek - viz [http://wiki.openstreetmap.org/wiki/Osm2pgsql/schema osm2pgsql schéma].


'''Příklad''' odvození tématické vrstvy [http://wiki.openstreetmap.org/wiki/Cz:Map_Features#Pozemn.C3.AD_komunikace_.28Highway.29 silnic] - viz [http://wiki.openstreetmap.org/wiki/Cz:Map_Features popis zájmových objektů] mapování OSM.
'''Příklad''' odvození tématické vrstvy [http://wiki.openstreetmap.org/wiki/Cs:Map_Features#Pozemn.C3.AD_komunikace_.28Highway.29 silnic] - viz '''[http://wiki.openstreetmap.org/wiki/Cs:Map_Features popis zájmových objektů]''' mapování OSM.


<source lang="sql">
<source lang="sql">
Řádek 84: Řádek 65:
GRANT SELECT ON silnice TO postgis;
GRANT SELECT ON silnice TO postgis;
</source>
</source>
<!--
=== osm_routing ===
Data {{freegis|OpenStreetMap}} pro území ČR ([http://spatialreference.org/ref/epsg/4326/ WGS 84]) speciálně upravena pro {{freegis|pgRouting}}.
<source lang=sql>
SELECT * FROM geometry_columns WHERE f_table_schema = 'osm_routing';
</source>
<pre>
f_table_catalog | f_table_schema | f_table_name | f_geometry_column | coord_dimension | srid |    type   
-----------------+----------------+--------------+-------------------+-----------------+------+------------
pgis_student    | osm_routing    | ways        | the_geom          |              2 | 4326 | LINESTRING
</pre>
-->


=== fgcz ===
=== fgcz ===


Data z datasetu [http://grass.fsv.cvut.cz/gwiki/FreeGeodataCZ FreeGeodataCZ] ([http://spatialreference.org/ref/epsg/2065/ EPSG:2065]).
Datová sada {{freegis|FreeGeoDataCZ}} ({{epsg|5514}}).


<source lang=sql>
<source lang=sql>
Řádek 95: Řádek 91:
  f_table_catalog | f_table_schema |  f_table_name  | f_geometry_column | coord_dimension | srid |    type     
  f_table_catalog | f_table_schema |  f_table_name  | f_geometry_column | coord_dimension | srid |    type     
-----------------+----------------+-----------------+-------------------+-----------------+------+------------
-----------------+----------------+-----------------+-------------------+-----------------+------+------------
  pgis_student    | fgcz          | kraje_pseudo    | geom              |              2 | 2065 | POLYGON
  pgis_student    | fgcz          | kraje_pseudo    | geom              |              2 | 5514 | POLYGON
  pgis_student    | fgcz          | silnice_useky  | geom              |              2 | 2065 | LINESTRING
  pgis_student    | fgcz          | silnice_useky  | geom              |              2 | 5514 | LINESTRING
  pgis_student    | fgcz          | mes_casti      | geom              |              2 | 2065 | POINT
  pgis_student    | fgcz          | mes_casti      | geom              |              2 | 5514 | POINT
  pgis_student    | fgcz          | mesta_b        | geom              |              2 | 2065 | POINT
  pgis_student    | fgcz          | mesta_b        | geom              |              2 | 5514 | POINT
  pgis_student    | fgcz          | mesta_p        | geom              |              2 | 2065 | POLYGON
  pgis_student    | fgcz          | mesta_p        | geom              |              2 | 5514 | POLYGON
  pgis_student    | fgcz          | silnice_uzly    | geom              |              2 | 2065 | POINT
  pgis_student    | fgcz          | silnice_uzly    | geom              |              2 | 5514 | POINT
  pgis_student    | fgcz          | obce            | geom              |              2 | 2065 | POINT
  pgis_student    | fgcz          | obce            | geom              |              2 | 5514 | POINT
  pgis_student    | fgcz          | voda            | geom              |              2 | 2065 | POLYGON
  pgis_student    | fgcz          | voda            | geom              |              2 | 5514 | POLYGON
  pgis_student    | fgcz          | zeleznice      | geom              |              2 | 2065 | LINESTRING
  pgis_student    | fgcz          | zeleznice      | geom              |              2 | 5514 | LINESTRING
  pgis_student    | fgcz          | okresy_pseudo  | geom              |              2 | 2065 | POLYGON
  pgis_student    | fgcz          | okresy_pseudo  | geom              |              2 | 5514 | POLYGON
  pgis_student    | fgcz          | silnice_pasport | geom              |              2 | 2065 | LINESTRING
  pgis_student    | fgcz          | silnice_pasport | geom              |              2 | 5514 | LINESTRING
  pgis_student    | fgcz          | reky            | geom              |              2 | 2065 | LINESTRING
  pgis_student    | fgcz          | reky            | geom              |              2 | 5514 | LINESTRING
  pgis_student    | fgcz          | klad_zm10      | geom              |              2 | 2065 | POINT
  pgis_student    | fgcz          | klad_zm10      | geom              |              2 | 5514 | POINT
  pgis_student    | fgcz          | silnice        | geom              |              2 | 2065 | LINESTRING
  pgis_student    | fgcz          | silnice        | geom              |              2 | 5514 | LINESTRING
  pgis_student    | fgcz          | cr              | geom              |              2 | 2065 | POLYGON
  pgis_student    | fgcz          | cr              | geom              |              2 | 5514 | POLYGON
  pgis_student    | fgcz          | cesty          | geom              |              2 | 2065 | LINESTRING
  pgis_student    | fgcz          | cesty          | geom              |              2 | 5514 | LINESTRING
  pgis_student    | fgcz          | czfree_nodes    | geom              |              2 | 2065 | POINT
  pgis_student    | fgcz          | czfree_nodes    | geom              |              2 | 5514 | POINT
  pgis_student    | fgcz          | casti_obce      | geom              |              2 | 2065 | POINT
  pgis_student    | fgcz          | casti_obce      | geom              |              2 | 5514 | POINT
  pgis_student    | fgcz          | dsnimky        | geom              |              2 | 2065 | LINESTRING
  pgis_student    | fgcz          | dsnimky        | geom              |              2 | 5514 | LINESTRING
  pgis_student    | fgcz          | cfm_points      | geom              |              2 | 2065 | POINT
  pgis_student    | fgcz          | cfm_points      | geom              |              2 | 5514 | POINT
  pgis_student    | fgcz          | cfm_areas      | geom              |              2 | 2065 | POLYGON
  pgis_student    | fgcz          | cfm_areas      | geom              |              2 | 5514 | POLYGON
(21 rows)
(21 rows)
</pre>
</pre>
Řádek 121: Řádek 117:
=== nc ===
=== nc ===


Vektorová data z edukačního datasetu [http://www.osgeo.org OSGeo] [http://www.grassbook.org/data_menu3rd.php North Carolina] ([http://spatialreference.org/ref/epsg/3358/ EPSG:3358]).
Vektorová data z edukačního datasetu [http://www.osgeo.org OSGeo] [http://www.grassbook.org/data_menu3rd.php North Carolina] ({{epsg|3358}}).


<source lang=sql>
<source lang=sql>
Řádek 176: Řádek 172:
  pgis_student    | nc            | busroute6            | geom              |              2 | 3358 | LINESTRING
  pgis_student    | nc            | busroute6            | geom              |              2 | 3358 | LINESTRING
(46 rows)
(46 rows)
</pre>
=== ruian ===
Data {{freegis|RUIAN}} území celky stát až ZSJ ({{epsg|5514}}).
<source lang=sql>
SELECT * FROM geometry_columns WHERE f_table_schema = 'ruian';
</source>
<pre>
f_table_catalog | f_table_schema |    f_table_name    | f_geometry_column | coord_dimension | srid |    type   
-----------------+----------------+--------------------+-------------------+-----------------+------+--------------
pgis_student    | ruian          | momc              | geom              |              2 | 5514 | POINT
pgis_student    | ruian          | mop                | geom              |              2 | 5514 | POINT
pgis_student    | ruian          | kraje              | geom              |              2 | 5514 | MULTIPOLYGON
pgis_student    | ruian          | orp                | geom              |              2 | 5514 | MULTIPOLYGON
pgis_student    | ruian          | pou                | geom              |              2 | 5514 | MULTIPOLYGON
pgis_student    | ruian          | regionysoudrznosti | geom              |              2 | 5514 | MULTIPOLYGON
pgis_student    | ruian          | spravniobvody      | geom              |              2 | 5514 | POINT
pgis_student    | ruian          | obce              | geom              |              2 | 5514 | MULTIPOLYGON
pgis_student    | ruian          | okresy            | geom              |              2 | 5514 | MULTIPOLYGON
pgis_student    | ruian          | staty              | geom              |              2 | 5514 | MULTIPOLYGON
pgis_student    | ruian          | castiobci          | geom              |              2 | 5514 | POINT
pgis_student    | ruian          | katastralniuzemi  | geom              |              2 | 5514 | MULTIPOLYGON
pgis_student    | ruian          | vusc              | geom              |              2 | 5514 | MULTIPOLYGON
pgis_student    | ruian          | zsj                | geom              |              2 | 5514 | MULTIPOINT
(14 rows)
</pre>
=== ruian_praha ===
Data {{freegis|RUIAN}} Hlavního města Prahy ({{epsg|5514}}).
<source lang=sql>
SELECT * FROM geometry_columns WHERE f_table_schema = 'ruian_praha';
</source>
<pre>
f_table_catalog | f_table_schema |  f_table_name  | f_geometry_column | coord_dimension | srid |      type     
-----------------+----------------+------------------+-------------------+-----------------+------+-----------------
pgis_student    | ruian_praha    | adresnimista    | geom              |              2 | 5514 | POINT
pgis_student    | ruian_praha    | momc            | geom              |              2 | 5514 | MULTIPOLYGON
pgis_student    | ruian_praha    | mop              | geom              |              2 | 5514 | MULTIPOLYGON
pgis_student    | ruian_praha    | castiobci        | geom              |              2 | 5514 | POINT
pgis_student    | ruian_praha    | katastralniuzemi | geom              |              2 | 5514 | MULTIPOLYGON
pgis_student    | ruian_praha    | spravniobvody    | geom              |              2 | 5514 | MULTIPOLYGON
pgis_student    | ruian_praha    | obce            | geom              |              2 | 5514 | MULTIPOLYGON
pgis_student    | ruian_praha    | parcely          | geom              |              2 | 5514 | POLYGON
pgis_student    | ruian_praha    | stavebniobjekty  | geom              |              2 | 5514 | MULTIPOLYGON
pgis_student    | ruian_praha    | ulice            | geom              |              2 | 5514 | MULTILINESTRING
pgis_student    | ruian_praha    | zsj              | geom              |              2 | 5514 | MULTIPOLYGON
(11 rows)
</pre>
</pre>


Řádek 188: Řádek 235:
=== GUI - pgAdmin ===
=== GUI - pgAdmin ===


''pgAdmin'' je grafické uživatelské rozhraní pro přístup k PostgreSQL databázi. Nástroj je multiplatformní a je ke stažení na adrese http://www.pgadmin.org/download/.
''pgAdmin'' je grafické uživatelské rozhraní pro přístup k [[PostgreSQL]] databázi. Nástroj je multiplatformní a je ke stažení na adrese http://www.pgadmin.org/download/. Viz [[Instalace PostgreSQL na MS Windows|instalace PostgreSQL na MS Windows]].


Připojení k databázi '''pgis_student''' můžete přidat z menu
Připojení k databázi '''pgis_student''' můžete přidat z menu
Řádek 210: Řádek 257:


K datům uložených v geodatabázi PostGIS lze přistupovat z menu či nástrojové lišty [[Image:qgis-postgis-icon.png]]:
K datům uložených v geodatabázi PostGIS lze přistupovat z menu či nástrojové lišty [[Image:qgis-postgis-icon.png]]:
{{fig|qgis-postgis-toolbar|Podpora PostGIS v prostředí QGISu|size=640}}


  Layer -> Add PostGIS Layer
  Layer -> Add PostGIS Layer
New
 
Nové připojení k PostGIS databázi - '''New'''


[[Image:qgis-student.png|center|thumb|300px|Dialog pro přihlášení k PostGIS databázi]]
[[Image:qgis-student.png|center|thumb|300px|Dialog pro přihlášení k PostGIS databázi]]
Řádek 238: Řádek 288:
* {{freegis|MapServer#WFS|příklad nastavení WFS}}
* {{freegis|MapServer#WFS|příklad nastavení WFS}}


== Příklady dotazů ==
== Příklady prostorových dotazů ==


<source lang=sql>
<source lang=sql>
-- nejprve vytvoříme vlastní schéma a nastavíme vyhledávací cestu
-- nově vytvářené tabulky, tak budou vytvořeny ve vlastním schématu
CREATE SCHEMA landamar;
CREATE SCHEMA landamar;
SET search_path TO landamar, public;
SET search_path TO landamar, osm, public;
CREATE TABLE knihovny AS SELECT * FROM osm.czech_point WHERE amenity = 'library';
-- příklad vytvoření bodové vrstvy knihoven
SELECT populate_geometry_columns('knihovny'::regclass);
CREATE TABLE knihovny AS SELECT * FROM czech_point WHERE amenity = 'library';
-- zjištění celkového počtu knihoven
SELECT COUNT(*) FROM knihovny;
</source>
</source>


* [http://geo.fsv.cvut.cz/~gin/uzpd/examples/prednaska_dotazy.sql Příklady] z přednášek předmětu [[155UZPD|Úvod do zpracování prostorových dat]]
* [http://geo.fsv.cvut.cz/~gin/uzpd/examples/gis1-2.sql 2. cvičení GIS 1]
* [http://geo.fsv.cvut.cz/~gin/uzpd/examples/gis1-3.sql 3. cvičení GIS 1]
* [http://geo.fsv.cvut.cz/~gin/uzpd/examples/gis1-4.sql 4. cvičení GIS 1]


* [http://geo.fsv.cvut.cz/~gin/uzpd/examples/postgis/prednaska_dotazy.sql Příklady] z přednášek předmětu [[153UZPD|Úvod do zpracování prostorových dat]]
== Stažení databáze pro vlastní potřebu ==
* [http://geo.fsv.cvut.cz/~gin/uzpd/examples/postgis/gis1-2.sql 2. cvičení GIS 1]
* [http://geo.fsv.cvut.cz/~gin/uzpd/examples/postgis/gis1-3.sql 3. cvičení GIS 1]
* [http://geo.fsv.cvut.cz/~gin/uzpd/examples/postgis/gis1-4.sql 4. cvičení GIS 1]


== Stažení dat ==
Geodatabáze <b>pgis_student</b> obsahuje pouze volně šířitelná data. Data si tedy můžete stáhnout a používat pro vlastní účely.


Ke stažení je dostupný dump soubor [http://geo.fsv.cvut.cz/~landa/vyuka/postgis/pgis_student.dump pgis_student.dump] (~430 MB).
Ke stažení je dostupný dump soubor [http://geo102.fsv.cvut.cz/~landa/vyuka/postgis/pgis_student.dump pgis_student.dump] (>2.2 GB !).


''Poznámka:'' Dávka byla vytvořena příkazem
''Poznámka:'' Dávka byla vytvořena příkazem


::<tt>pg_dump -Fc -b -v -f pgis_student.dump pgis_student</tt>
::<code>pg_dump -Fc -b -v -f pgis_student.dump pgis_student</code>


Příklad importu dat (včetně vytvoření databáze <tt>pgis_student</tt>):
Příklad importu dat (včetně vytvoření databáze <tt>pgis_student</tt>):
   
   
# [[PostGIS#Vytvoření databáze|Vytvoření]] nové PostGIS geodatabáze <tt>pgis_student</tt>
# {{freegis|PostGIS#Vytvoření databáze|Vytvoření}} nové PostGIS geodatabáze <tt>pgis_student</tt>
# Stažení a nahrání dávky do této databáze
# Stažení a nahrání dávky do této databáze
 
::<code>wget http://geo102.fsv.cvut.cz/~landa/vyuka/postgis/pgis_student.dump</code>
wget http://geo.fsv.cvut.cz/~landa/vyuka/postgis/pgis_student.dump
::<code>postgis_restore.pl pgis_student.dump | psql pgis_student</code>
postgis_restore.pl pgis_student.dump | psql pgis_student


{{Databáze}}
{{Databáze}}
{{GIS}}
{{GIS}}
{{GFOSS}}
{{GFOSS}}

Aktuální verze z 11. 2. 2016, 10:51

Na serveru geo102 je umístěna cvičná databáze PostGIS pgis_student. Databáze je přístupná všem uživatelům serveru geo102 bez omezení a je určena pro experimenty. Databáze je pracovní - každý den je vrácena do původního stavu! Není tedy určena pro skladování dat, data vytvořená uživateli jsou odstraněna (obnova databáze je nastavena na každý den ráno).

V případě problémů či dotazů se obraťte na správce databáze.

Data - schémata

intro

Data z tutoriálu Introduction to PostGIS (EPSG:4326).

SELECT * FROM geometry_columns WHERE f_table_schema = 'intro';
 f_table_catalog | f_table_schema |  f_table_name   | f_geometry_column | coord_dimension | srid |      type       
-----------------+----------------+-----------------+-------------------+-----------------+------+-----------------
 pgis_student    | intro          | countries       | geom              |               2 | 4326 | MULTIPOLYGON
 pgis_student    | intro          | bc_municipality | geom              |               2 | 4326 | MULTIPOLYGON
 pgis_student    | intro          | bc_voting_areas | geom              |               2 | 4326 | MULTIPOLYGON
 pgis_student    | intro          | cities          | geom              |               2 | 4326 | POINT
 pgis_student    | intro          | newyork_census  | geom              |               2 | 4326 | MULTIPOLYGON
 pgis_student    | intro          | bc_border       | geom              |               2 | 4326 | MULTILINESTRING
 pgis_student    | intro          | bc_hospitals    | geom              |               2 | 4326 | POINT
 pgis_student    | intro          | bc_roads        | geom              |               2 | 4326 | MULTILINESTRING
 pgis_student    | intro          | timezone        | geom              |               2 | 4326 | MULTIPOLYGON
 pgis_student    | intro          | usa_counties    | geom              |               2 | 4326 | MULTIPOLYGON
 pgis_student    | intro          | bc_pubs         | geom              |               2 | 4326 | POINT
(11 rows)

osm

Data OpenStreetMap pro území ČR (EPSG 3857). Viz návod na import.

SELECT * FROM geometry_columns WHERE f_table_schema = 'osm';
 f_table_catalog | f_table_schema | f_table_name  | f_geometry_column | coord_dimension |  srid  |    type    
-----------------+----------------+---------------+-------------------+-----------------+--------+------------
 pgis_student    | osm            | czech_line    | geom              |               2 | 3857   | LINESTRING
 pgis_student    | osm            | czech_polygon | geom              |               2 | 3857   | POLYGON
 pgis_student    | osm            | czech_roads   | geom              |               2 | 3857   | LINESTRING
 pgis_student    | osm            | czech_point   | geom              |               2 | 3857   | POINT
(4 rows)

Popisek tabulek - viz osm2pgsql schéma.

Příklad odvození tématické vrstvy silnic - viz popis zájmových objektů mapování OSM.

CREATE TABLE silnice AS
 SELECT * from osm.czech_line where highway IN ('motorway', 'motorway_link',
  'trunk', 'trunk_link', 'primary', 'primary_link',
  'secondary', 'secondary_link', 'tertiary', 'tertiary_link');

SELECT Populate_Geometry_Columns('public.silnice'::regclass);
-- nutne pro vizualizaci v QGISu
ALTER TABLE silnice ADD PRIMARY KEY (osm_id); 
GRANT SELECT ON silnice TO postgis;


fgcz

Datová sada FreeGeoDataCZ (EPSG 5514).

SELECT * FROM geometry_columns WHERE f_table_schema = 'fgcz';
 f_table_catalog | f_table_schema |  f_table_name   | f_geometry_column | coord_dimension | srid |    type    
-----------------+----------------+-----------------+-------------------+-----------------+------+------------
 pgis_student    | fgcz           | kraje_pseudo    | geom              |               2 | 5514 | POLYGON
 pgis_student    | fgcz           | silnice_useky   | geom              |               2 | 5514 | LINESTRING
 pgis_student    | fgcz           | mes_casti       | geom              |               2 | 5514 | POINT
 pgis_student    | fgcz           | mesta_b         | geom              |               2 | 5514 | POINT
 pgis_student    | fgcz           | mesta_p         | geom              |               2 | 5514 | POLYGON
 pgis_student    | fgcz           | silnice_uzly    | geom              |               2 | 5514 | POINT
 pgis_student    | fgcz           | obce            | geom              |               2 | 5514 | POINT
 pgis_student    | fgcz           | voda            | geom              |               2 | 5514 | POLYGON
 pgis_student    | fgcz           | zeleznice       | geom              |               2 | 5514 | LINESTRING
 pgis_student    | fgcz           | okresy_pseudo   | geom              |               2 | 5514 | POLYGON
 pgis_student    | fgcz           | silnice_pasport | geom              |               2 | 5514 | LINESTRING
 pgis_student    | fgcz           | reky            | geom              |               2 | 5514 | LINESTRING
 pgis_student    | fgcz           | klad_zm10       | geom              |               2 | 5514 | POINT
 pgis_student    | fgcz           | silnice         | geom              |               2 | 5514 | LINESTRING
 pgis_student    | fgcz           | cr              | geom              |               2 | 5514 | POLYGON
 pgis_student    | fgcz           | cesty           | geom              |               2 | 5514 | LINESTRING
 pgis_student    | fgcz           | czfree_nodes    | geom              |               2 | 5514 | POINT
 pgis_student    | fgcz           | casti_obce      | geom              |               2 | 5514 | POINT
 pgis_student    | fgcz           | dsnimky         | geom              |               2 | 5514 | LINESTRING
 pgis_student    | fgcz           | cfm_points      | geom              |               2 | 5514 | POINT
 pgis_student    | fgcz           | cfm_areas       | geom              |               2 | 5514 | POLYGON
(21 rows)

nc

Vektorová data z edukačního datasetu OSGeo North Carolina (EPSG 3358).

SELECT * FROM geometry_columns WHERE f_table_schema = 'nc';
 f_table_catalog | f_table_schema |     f_table_name      | f_geometry_column | coord_dimension | srid |    type    
-----------------+----------------+-----------------------+-------------------+-----------------+------+------------
 pgis_student    | nc             | busroute_a            | geom              |               2 | 3358 | LINESTRING
 pgis_student    | nc             | p079214               | geom              |               2 | 3358 | GEOMETRY
 pgis_student    | nc             | elev_lidrural_mrptsft | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | nc_state              | geom              |               2 | 3358 | POLYGON
 pgis_student    | nc             | busroutesall          | geom              |               2 | 3358 | LINESTRING
 pgis_student    | nc             | p079215               | geom              |               2 | 3358 | GEOMETRY
 pgis_student    | nc             | elev_ned10m_cont10m   | geom              |               2 | 3358 | LINESTRING
 pgis_student    | nc             | streams               | geom              |               2 | 3358 | LINESTRING
 pgis_student    | nc             | overpasses            | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | p079218               | geom              |               2 | 3358 | GEOMETRY
 pgis_student    | nc             | poi_names_wake        | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | firestations          | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | busstopsall           | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | precip_30ynormals     | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | geodetic_pts          | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | census_wake2000       | geom              |               2 | 3358 | POLYGON
 pgis_student    | nc             | p079219               | geom              |               2 | 3358 | GEOMETRY
 pgis_student    | nc             | streets_wake          | geom              |               2 | 3358 | LINESTRING
 pgis_student    | nc             | censusblk_swwake      | geom              |               2 | 3358 | POLYGON
 pgis_student    | nc             | boundary_county       | geom              |               2 | 3358 | POLYGON
 pgis_student    | nc             | swwake_10m            | geom              |               2 | 3358 | POLYGON
 pgis_student    | nc             | geodetic_swwake_pts   | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | precip_30ynormals_3d  | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | urbanarea             | geom              |               2 | 3358 | POLYGON
 pgis_student    | nc             | railroads             | geom              |               2 | 3358 | LINESTRING
 pgis_student    | nc             | geology               | geom              |               2 | 3358 | POLYGON
 pgis_student    | nc             | comm_colleges         | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | boundary_municp       | geom              |               2 | 3358 | POLYGON
 pgis_student    | nc             | elev_lid792_bepts     | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | roadsmajor            | geom              |               2 | 3358 | LINESTRING
 pgis_student    | nc             | bridges               | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | geonames_nc           | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | geonames_wake         | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | elev_lid792_cont1m    | geom              |               2 | 3358 | LINESTRING
 pgis_student    | nc             | busroute1             | geom              |               2 | 3358 | LINESTRING
 pgis_student    | nc             | schools_wake          | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | elev_lid792_randpts   | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | usgsgages             | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | soils_general         | geom              |               2 | 3358 | POLYGON
 pgis_student    | nc             | hospitals             | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | busroute11            | geom              |               2 | 3358 | LINESTRING
 pgis_student    | nc             | soils_wake            | geom              |               2 | 3358 | POLYGON
 pgis_student    | nc             | lakes                 | geom              |               2 | 3358 | POLYGON
 pgis_student    | nc             | zipcodes_wake         | geom              |               2 | 3358 | POLYGON
 pgis_student    | nc             | elev_lidrural_mrpts   | geom              |               2 | 3358 | POINT
 pgis_student    | nc             | busroute6             | geom              |               2 | 3358 | LINESTRING
(46 rows)

ruian

Data RUIAN území celky stát až ZSJ (EPSG 5514).

SELECT * FROM geometry_columns WHERE f_table_schema = 'ruian';
 f_table_catalog | f_table_schema |    f_table_name    | f_geometry_column | coord_dimension | srid |     type     
-----------------+----------------+--------------------+-------------------+-----------------+------+--------------
 pgis_student    | ruian          | momc               | geom              |               2 | 5514 | POINT
 pgis_student    | ruian          | mop                | geom              |               2 | 5514 | POINT
 pgis_student    | ruian          | kraje              | geom              |               2 | 5514 | MULTIPOLYGON
 pgis_student    | ruian          | orp                | geom              |               2 | 5514 | MULTIPOLYGON
 pgis_student    | ruian          | pou                | geom              |               2 | 5514 | MULTIPOLYGON
 pgis_student    | ruian          | regionysoudrznosti | geom              |               2 | 5514 | MULTIPOLYGON
 pgis_student    | ruian          | spravniobvody      | geom              |               2 | 5514 | POINT
 pgis_student    | ruian          | obce               | geom              |               2 | 5514 | MULTIPOLYGON
 pgis_student    | ruian          | okresy             | geom              |               2 | 5514 | MULTIPOLYGON
 pgis_student    | ruian          | staty              | geom              |               2 | 5514 | MULTIPOLYGON
 pgis_student    | ruian          | castiobci          | geom              |               2 | 5514 | POINT
 pgis_student    | ruian          | katastralniuzemi   | geom              |               2 | 5514 | MULTIPOLYGON
 pgis_student    | ruian          | vusc               | geom              |               2 | 5514 | MULTIPOLYGON
 pgis_student    | ruian          | zsj                | geom              |               2 | 5514 | MULTIPOINT
(14 rows)

ruian_praha

Data RUIAN Hlavního města Prahy (EPSG 5514).

SELECT * FROM geometry_columns WHERE f_table_schema = 'ruian_praha';
 f_table_catalog | f_table_schema |   f_table_name   | f_geometry_column | coord_dimension | srid |      type       
-----------------+----------------+------------------+-------------------+-----------------+------+-----------------
 pgis_student    | ruian_praha    | adresnimista     | geom              |               2 | 5514 | POINT
 pgis_student    | ruian_praha    | momc             | geom              |               2 | 5514 | MULTIPOLYGON
 pgis_student    | ruian_praha    | mop              | geom              |               2 | 5514 | MULTIPOLYGON
 pgis_student    | ruian_praha    | castiobci        | geom              |               2 | 5514 | POINT
 pgis_student    | ruian_praha    | katastralniuzemi | geom              |               2 | 5514 | MULTIPOLYGON
 pgis_student    | ruian_praha    | spravniobvody    | geom              |               2 | 5514 | MULTIPOLYGON
 pgis_student    | ruian_praha    | obce             | geom              |               2 | 5514 | MULTIPOLYGON
 pgis_student    | ruian_praha    | parcely          | geom              |               2 | 5514 | POLYGON
 pgis_student    | ruian_praha    | stavebniobjekty  | geom              |               2 | 5514 | MULTIPOLYGON
 pgis_student    | ruian_praha    | ulice            | geom              |               2 | 5514 | MULTILINESTRING
 pgis_student    | ruian_praha    | zsj              | geom              |               2 | 5514 | MULTIPOLYGON
(11 rows)

Přístup k databázi

Příkazová řádka - psql

psql pgis_student -U postgis -h geo102.fsv.cvut.cz -W
Příklad přístupu ke studentské geodatabázi přes psql

GUI - pgAdmin

pgAdmin je grafické uživatelské rozhraní pro přístup k PostgreSQL databázi. Nástroj je multiplatformní a je ke stažení na adrese http://www.pgadmin.org/download/. Viz instalace PostgreSQL na MS Windows.

Připojení k databázi pgis_student můžete přidat z menu

File -> Add server
Dialog pgAdmin3 pro přihlášení k databázi pgis_student
pgAdmin3: příklad prostorového SQL dotazu

Vizualizace dat

QGIS

QGIS je multiplatformní desktopová GIS aplikace.

K datům uložených v geodatabázi PostGIS lze přistupovat z menu či nástrojové lišty :

Podpora PostGIS v prostředí QGISu
Layer -> Add PostGIS Layer

Nové připojení k PostGIS databázi - New

Dialog pro přihlášení k PostGIS databázi

Po stisknutí tlačítka Connect se QGIS připojí k databázovému serveru a zobrazí seznam dostupných datových vrstev.

Připojení k databázi pgis_student v QGISu
Vizualizace PostGIS dat v QGISu


MapServer

Příklady prostorových dotazů

-- nejprve vytvoříme vlastní schéma a nastavíme vyhledávací cestu
-- nově vytvářené tabulky, tak budou vytvořeny ve vlastním schématu
CREATE SCHEMA landamar;
SET search_path TO landamar, osm, public;
-- příklad vytvoření bodové vrstvy knihoven 
CREATE TABLE knihovny AS SELECT * FROM czech_point WHERE amenity = 'library';
-- zjištění celkového počtu knihoven 
SELECT COUNT(*) FROM knihovny;

Stažení databáze pro vlastní potřebu

Geodatabáze pgis_student obsahuje pouze volně šířitelná data. Data si tedy můžete stáhnout a používat pro vlastní účely.

Ke stažení je dostupný dump soubor pgis_student.dump (>2.2 GB !).

Poznámka: Dávka byla vytvořena příkazem

pg_dump -Fc -b -v -f pgis_student.dump pgis_student

Příklad importu dat (včetně vytvoření databáze pgis_student):

  1. Vytvoření nové PostGIS geodatabáze pgis_student
  2. Stažení a nahrání dávky do této databáze
wget http://geo102.fsv.cvut.cz/~landa/vyuka/postgis/pgis_student.dump
postgis_restore.pl pgis_student.dump | psql pgis_student