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

Z GeoWikiCZ
m (→‎PostGIS: thumbs)
 
(Není zobrazeno 207 mezilehlých verzí od stejného uživatele.)
Řádek 3: Řádek 3:
</div>
</div>


Na serveru ''geo102'' je umístěna cvičná databáze {{freegis|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).


Na serveru [http://josef.fsv.cvut.cz josef] je umístěna cvičná databáze [[PostGIS]] '''pgis_student'''. Databáze je přístupná všem uživatelům serveru josef bez omezení a je určena pro experimenty. Databáze je pracovní - každý den je vrácena do původního stavu. Není určena pro skladování dat, data vytvořená uživateli jsou každodenně odstraněna (během noci).
V případě problémů či dotazů se obraťte na [[Landa|správce]] databáze.


psql pgis_student
== Data - schémata ==
 
V případě problémů se obraťte na [[Landa|správce]] databáze.
 
== Schémata ==
 
=== gis1 ===
 
Obsahuje data ze [[153GIS1 2008 - 3. cvičení - PostGIS| cvičení předmětu GIS1]].
 
<pre>
pgis_student=> \dt gis1.
            List of relations
Schema |      Name        | Type  | Owner
--------+-------------------+-------+-------
gis1  | kltm50            | table | landa
gis1  | lesy              | table | landa
gis1  | obce              | table | landa
gis1  | obce_b            | table | landa
gis1  | zeleznice        | table | landa
gis1  | zeleznice_stanice | table | landa
(6 rows)
</pre>


=== intro ===
=== intro ===


Data z tutoriálu [http://www.foss4g2007.org/workshops/W-04/ Introduction to PostGIS] (Paul Ramsey).
Data z tutoriálu [http://www.foss4g2007.org/workshops/W-04/ Introduction to PostGIS] ([http://spatialreference.org/ref/epsg/4326/ EPSG:4326]).


<source lang=sql>
SELECT * FROM geometry_columns WHERE f_table_schema = 'intro';
</source>
<pre>
<pre>
pgis_student=> \dt intro.
  f_table_catalog | f_table_schema f_table_name  | f_geometry_column | coord_dimension | srid |      type     
            List of relations
-----------------+----------------+-----------------+-------------------+-----------------+------+-----------------
  Schema |     Name      | Type | Owner
  pgis_student    | intro         | countries       | geom              |              2 | 4326 | MULTIPOLYGON
--------+-----------------+-------+-------
  pgis_student    | intro         | bc_municipality | geom              |               2 | 4326 | MULTIPOLYGON
  intro | bc_border       | table | landa
  pgis_student    | intro         | bc_voting_areas | geom              |               2 | 4326 | MULTIPOLYGON
  intro | bc_hospitals    | table | landa
  pgis_student    | intro         | cities          | geom              |               2 | 4326 | POINT
  intro | bc_municipality | table | landa
  pgis_student    | intro         | newyork_census | geom              |              2 | 4326 | MULTIPOLYGON
  intro | bc_pubs        | table | landa
  pgis_student    | intro         | bc_border      | geom              |               2 | 4326 | MULTILINESTRING
  intro  | bc_roads        | table | landa
  pgis_student    | intro          | bc_hospitals    | geom              |               2 | 4326 | POINT
  intro | bc_voting_areas | table | landa
  pgis_student    | intro         | bc_roads        | geom              |               2 | 4326 | MULTILINESTRING
  intro | cities         | table | landa
  pgis_student    | intro         | timezone        | geom              |              2 | 4326 | MULTIPOLYGON
intro  | countries      | table | landa
  pgis_student    | intro         | usa_counties    | geom              |              2 | 4326 | MULTIPOLYGON
  intro | newyork_census  | table | landa
pgis_student    | intro          | bc_pubs        | geom              |              2 | 4326 | POINT
  intro | timezone        | table | landa
  intro | usa_counties    | table | landa
(11 rows)
(11 rows)
</pre>
</pre>
Řádek 55: Řádek 35:
=== osm ===
=== osm ===


Data [[OpenStreetMap]] ČR ze dne 14.1.2010
Data {{freegis|OpenStreetMap}} pro území ČR ({{epsg|3857}}). Viz {{freegis|OpenStreetMap / Import do PostGIS|návod na import}}.


<source lang=sql>
SELECT * FROM geometry_columns WHERE f_table_schema = 'osm';
</source>
<pre>
<pre>
pgis_student=> \dt osm.
  f_table_catalog | f_table_schema | f_table_name | f_geometry_column | coord_dimension |  srid  |    type   
              List of relations
-----------------+----------------+---------------+-------------------+-----------------+--------+------------
  Schema |       Name        | Type | Owner
  pgis_student    | osm           | czech_line    | geom              |              2 | 3857  | LINESTRING
--------+--------------------+-------+-------
  pgis_student    | osm           | czech_polygon | geom              |              2 | 3857   | POLYGON
  osm   | czech_line    | table | landa
  pgis_student    | osm           | czech_roads  | geom              |               2 | 3857  | LINESTRING
  osm   | czech_point   | table | landa
  pgis_student    | osm           | czech_point   | geom              |              2 | 3857  | POINT
  osm   | czech_polygon | table | landa
  osm   | czech_roads   | table | landa
(4 rows)
(4 rows)
</pre>
</pre>


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.
Popisek tabulek - viz [http://wiki.openstreetmap.org/wiki/Osm2pgsql/schema osm2pgsql schéma].
 
'''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 82: Řá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].
Datová sada {{freegis|FreeGeoDataCZ}} ({{epsg|5514}}).


<source lang=sql>
SELECT * FROM geometry_columns WHERE f_table_schema = 'fgcz';
</source>
<pre>
<pre>
pgis_student=> \dt fgcz.
  f_table_catalog | f_table_schema f_table_name  | f_geometry_column | coord_dimension | srid |   type   
            List of relations
-----------------+----------------+-----------------+-------------------+-----------------+------+------------
  Schema |     Name      | Type | Owner
  pgis_student    | fgcz           | kraje_pseudo    | geom              |               2 | 5514 | POLYGON
--------+-----------------+-------+-------
  pgis_student    | fgcz           | silnice_useky   | geom              |              2 | 5514 | LINESTRING
  fgcz   | casti_obce      | table | landa
  pgis_student    | fgcz           | mes_casti       | geom              |              2 | 5514 | POINT
  fgcz  | cesty          | table | landa
  pgis_student    | fgcz           | mesta_b        | geom              |               2 | 5514 | POINT
  fgcz   | cfm_areas       | table | landa
  pgis_student    | fgcz           | mesta_p        | geom             |               2 | 5514 | POLYGON
  fgcz   | cfm_points      | table | landa
  pgis_student    | fgcz           | silnice_uzly   | geom              |              2 | 5514 | POINT
  fgcz   | cr             | table | landa
  pgis_student    | fgcz           | obce            | geom              |               2 | 5514 | POINT
  fgcz   | czfree_nodes   | table | landa
  pgis_student    | fgcz           | voda            | geom              |               2 | 5514 | POLYGON
  fgcz   | dsnimky        | table | landa
  pgis_student    | fgcz           | zeleznice      | geom              |               2 | 5514 | LINESTRING
  fgcz   | klad_zm10      | table | landa
  pgis_student    | fgcz           | okresy_pseudo   | geom              |              2 | 5514 | POLYGON
  fgcz   | kraje_pseudo    | table | landa
  pgis_student    | fgcz           | silnice_pasport | geom              |               2 | 5514 | LINESTRING
  fgcz  | mes_casti      | table | landa
  pgis_student    | fgcz           | reky            | geom              |               2 | 5514 | LINESTRING
  fgcz   | mesta_b        | table | landa
  pgis_student    | fgcz           | klad_zm10      | geom              |               2 | 5514 | POINT
  fgcz   | mesta_p        | table | landa
  pgis_student    | fgcz           | silnice        | geom              |               2 | 5514 | LINESTRING
  fgcz   | obce            | table | landa
  pgis_student    | fgcz           | cr              | geom              |               2 | 5514 | POLYGON
  fgcz   | okresy_pseudo  | table | landa
  pgis_student    | fgcz           | cesty          | geom              |               2 | 5514 | LINESTRING
  fgcz   | reky            | table | landa
  pgis_student    | fgcz           | czfree_nodes    | geom              |               2 | 5514 | POINT
  fgcz   | silnice        | table | landa
  pgis_student    | fgcz           | casti_obce      | geom              |               2 | 5514 | POINT
  fgcz   | silnice_pasport | table | landa
  pgis_student    | fgcz           | dsnimky        | geom              |               2 | 5514 | LINESTRING
  fgcz   | silnice_useky  | table | landa
  pgis_student    | fgcz           | cfm_points      | geom              |               2 | 5514 | POINT
  fgcz   | silnice_uzly    | table | landa
  pgis_student    | fgcz           | cfm_areas       | geom              |              2 | 5514 | POLYGON
  fgcz   | vodni_plochy    | table | landa
  fgcz   | zeleznice       | table | landa
(21 rows)
(21 rows)
</pre>
</pre>
Řádek 118: Řá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].
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>
SELECT * FROM geometry_columns WHERE f_table_schema = 'nc';
</source>
<pre>
<pre>
pgis_student=> \dt nc.
  f_table_catalog | f_table_schema |    f_table_name      | f_geometry_column | coord_dimension | srid |   type   
              List of relations
-----------------+----------------+-----------------------+-------------------+-----------------+------+------------
  Schema |         Name          | Type  | Owner
  pgis_student    | nc             | busroute_a            | geom              |               2 | 3358 | LINESTRING
--------+-----------------------+-------+-------
  pgis_student    | nc             | p079214              | geom              |               2 | 3358 | GEOMETRY
  nc     | boundary_county      | table | landa
  pgis_student    | nc             | elev_lidrural_mrptsft | geom              |              2 | 3358 | POINT
  nc     | boundary_municp      | table | landa
  pgis_student    | nc             | nc_state              | geom              |              2 | 3358 | POLYGON
  nc     | bridges               | table | landa
pgis_student    | nc             | busroutesall          | geom              |              2 | 3358 | LINESTRING
  nc     | busroute1             | table | landa
  pgis_student    | nc             | p079215              | geom              |               2 | 3358 | GEOMETRY
  nc     | busroute11            | table | landa
  pgis_student    | nc             | elev_ned10m_cont10m  | geom              |               2 | 3358 | LINESTRING
  nc     | busroute6            | table | landa
  pgis_student    | nc             | streams              | geom              |               2 | 3358 | LINESTRING
  nc     | busroute_a            | table | landa
  pgis_student    | nc             | overpasses            | geom              |               2 | 3358 | POINT
  nc     | busroutesall          | table | landa
  pgis_student    | nc             | p079218              | geom              |               2 | 3358 | GEOMETRY
  nc     | busstopsall          | table | landa
  pgis_student    | nc             | poi_names_wake        | geom              |               2 | 3358 | POINT
  nc     | census_wake2000      | table | landa
  pgis_student    | nc             | firestations          | geom              |               2 | 3358 | POINT
  nc     | censusblk_swwake      | table | landa
  pgis_student    | nc             | busstopsall          | geom              |               2 | 3358 | POINT
  nc     | comm_colleges        | table | landa
  pgis_student    | nc             | precip_30ynormals     | geom              |              2 | 3358 | POINT
  nc    | elev_lid792_bepts    | table | landa
  pgis_student    | nc             | geodetic_pts          | geom              |               2 | 3358 | POINT
  nc     | elev_lid792_cont1m    | table | landa
  pgis_student    | nc             | census_wake2000      | geom              |               2 | 3358 | POLYGON
  nc     | elev_lid792_randpts  | table | landa
  pgis_student    | nc             | p079219              | geom              |               2 | 3358 | GEOMETRY
  nc     | elev_lidrural_mrpts  | table | landa
  pgis_student    | nc             | streets_wake          | geom              |               2 | 3358 | LINESTRING
  nc     | elev_lidrural_mrptsft | table | landa
  pgis_student    | nc             | censusblk_swwake      | geom              |               2 | 3358 | POLYGON
  nc     | elev_ned10m_cont10m  | table | landa
  pgis_student    | nc             | boundary_county      | geom              |               2 | 3358 | POLYGON
  nc     | firestations          | table | landa
  pgis_student    | nc             | swwake_10m            | geom              |               2 | 3358 | POLYGON
  nc     | geodetic_pts          | table | landa
  pgis_student    | nc             | geodetic_swwake_pts  | geom              |              2 | 3358 | POINT
  nc     | geodetic_swwake_pts  | table | landa
  pgis_student    | nc             | precip_30ynormals_3d  | geom              |              2 | 3358 | POINT
  nc     | geology               | table | landa
  pgis_student    | nc             | urbanarea            | geom              |               2 | 3358 | POLYGON
  nc     | geonames_nc          | table | landa
  pgis_student    | nc             | railroads            | geom              |               2 | 3358 | LINESTRING
  nc     | geonames_wake        | table | landa
  pgis_student    | nc             | geology              | geom              |              2 | 3358 | POLYGON
  nc     | hospitals             | table | landa
pgis_student    | nc             | comm_colleges        | geom              |              2 | 3358 | POINT
  nc     | lakes                | table | landa
  pgis_student    | nc             | boundary_municp      | geom              |               2 | 3358 | POLYGON
  nc    | nc_state             | table | landa
  pgis_student    | nc             | elev_lid792_bepts     | geom             |               2 | 3358 | POINT
  nc     | overpasses           | table | landa
  pgis_student    | nc             | roadsmajor           | geom              |               2 | 3358 | LINESTRING
  nc     | planimetry_rural      | table | landa
  pgis_student    | nc             | bridges              | geom              |               2 | 3358 | POINT
  nc     | planimetry_rural3d    | table | landa
  pgis_student    | nc             | geonames_nc          | geom              |               2 | 3358 | POINT
  nc     | poi_names_wake        | table | landa
  pgis_student    | nc             | geonames_wake        | geom              |               2 | 3358 | POINT
  nc     | precip_30ynormals    | table | landa
  pgis_student    | nc             | elev_lid792_cont1m    | geom              |               2 | 3358 | LINESTRING
  nc     | precip_30ynormals_3d  | table | landa
  pgis_student    | nc             | busroute1            | geom              |               2 | 3358 | LINESTRING
  nc     | railroads            | table | landa
  pgis_student    | nc             | schools_wake          | geom              |               2 | 3358 | POINT
  nc     | roadsmajor            | table | landa
  pgis_student    | nc             | elev_lid792_randpts  | geom              |               2 | 3358 | POINT
  nc     | schools_wake          | table | landa
  pgis_student    | nc             | usgsgages            | geom              |               2 | 3358 | POINT
  nc     | soils_general        | table | landa
  pgis_student    | nc             | soils_general        | geom              |              2 | 3358 | POLYGON
  nc     | soils_wake            | table | landa
  pgis_student    | nc             | hospitals            | geom              |               2 | 3358 | POINT
  nc     | streams               | table | landa
  pgis_student    | nc             | busroute11            | geom              |              2 | 3358 | LINESTRING
  nc     | streets_wake          | table | landa
  pgis_student    | nc             | soils_wake            | geom              |               2 | 3358 | POLYGON
  nc     | swwake_10m            | table | landa
  pgis_student    | nc             | lakes                | geom              |               2 | 3358 | POLYGON
  nc     | urbanarea            | table | landa
  pgis_student    | nc             | zipcodes_wake        | geom              |               2 | 3358 | POLYGON
  nc     | usgsgages            | table | landa
  pgis_student    | nc             | elev_lidrural_mrpts  | geom              |               2 | 3358 | POINT
  nc     | zipcodes_wake        | table | landa
  pgis_student    | nc             | busroute6            | geom              |               2 | 3358 | LINESTRING
(44 rows)
(46 rows)
</pre>
</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>
== Přístup k databázi ==
=== Příkazová řádka - psql ===
psql pgis_student -U postgis -h geo102.fsv.cvut.cz -W
[[Image:psql-pgis-example.png|center|thumb|500px|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|instalace PostgreSQL na MS Windows]].
Připojení k databázi '''pgis_student''' můžete přidat z menu
File -> Add server
<center>
{|
|-
|[[Image:pgadmin3-postgis.png|center|thumb|300px|Dialog pgAdmin3 pro přihlášení k databázi pgis_student]]
|[[Image:pgadmin3-postgis1.png|center|thumb|500px|pgAdmin3: příklad prostorového SQL dotazu]]
|-
|}
</center>


== Vizualizace dat ==
== Vizualizace dat ==


=== [[QGIS|QGIS]] ===
=== {{freegis|QGIS}} ===
 
{{freegis|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 [[Image:qgis-postgis-icon.png]]:
 
{{fig|qgis-postgis-toolbar|Podpora PostGIS v prostředí QGISu|size=640}}
 
Layer -> Add PostGIS Layer
 
Nové připojení k PostGIS databázi - '''New'''


==== PostGIS ====
[[Image:qgis-student.png|center|thumb|300px|Dialog pro přihlášení k PostGIS databázi]]


[[Image:qgis-pgis1.png|thumb|300px|center|Nastavení připojení k databázi pgis_student v QGISu]]
Po stisknutí tlačítka '''Connect''' se QGIS připojí k databázovému serveru a zobrazí seznam dostupných datových vrstev.


[[Image:qgis-pgis2.png|thumb|400px|center|Připojení k databázi pgis_student v QGISu]]
[[Image:qgis-pgis2.png|thumb|400px|center|Připojení k databázi pgis_student v QGISu]]
Řádek 184: Řádek 272:
[[Image:qgis-pgis3.png|thumb|640px|center|Vizualizace PostGIS dat v QGISu]]
[[Image:qgis-pgis3.png|thumb|640px|center|Vizualizace PostGIS dat v QGISu]]


<!--
==== WMS ====
==== WMS ====


[[Image:qgis-wms1.png|frame|center|Nastavení připojení k WMS serveru v QGISu]]
[[Image:qgis-wms1.png|thumb|400px|center|Nastavení připojení k WMS serveru v QGISu]]
 
[[Image:qgis-wms2.png|thumb|400px|center|Připojení k WMS serveru na josefovi v QGISu]]
 
[[Image:qgis-wms3.png|thumb|400px|center|Výběr vrstvy WMS serveru v QGISu]]
-->
 
=== {{freegis|MapServer}} ===
 
* {{freegis|MapServer#Vizualizace dat|příklad vizualizace dat}}
* {{freegis|MapServer#WMS|příklad nastavení WMS}}
* {{freegis|MapServer#WFS|příklad nastavení WFS}}


[[Image:qgis-wms2.png|frame|center|Připojení k WMS serveru na josefovi v QGISu]]
== Příklady prostorových dotazů ==
 
<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;
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;
</source>


[[Image:qgis-wms3.png|frame|center|Výběr vrstvy WMS serveru v QGISu]]
* [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]


=== [[UMN MapServer]] ===
== Stažení databáze pro vlastní potřebu ==


&rarr; [[UMN MapServer#Vizualizace dat|příklad vizualizace 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.


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


* [[UMN MapServer#WMS|WMS]]
''Poznámka:'' Dávka byla vytvořena příkazem


== Příklady dotazů ==
::<code>pg_dump -Fc -b -v -f pgis_student.dump pgis_student</code>


* [http://josef.fsv.cvut.cz/~gin/uzpd/examples/postgis/prednaska_dotazy.sql Příklady] z přednášek [[153UZPD|Úvod do zpracování prostorových dat]]
Příklad importu dat (včetně vytvoření databáze <tt>pgis_student</tt>):
* [[153GIS1 - 2. cvičení - PostGIS|2. cvičení 153GIS1]], [http://josef.fsv.cvut.cz/~gin/uzpd/examples/postgis/gis1-2.sql dávkový soubor SQL]
* [[153GIS1 - 3. cvičení - PostGIS|3. cvičení 153GIS1]], [http://josef.fsv.cvut.cz/~gin/uzpd/examples/postgis/gis1-3.sql dávkový soubor SQL]
# {{freegis|PostGIS#Vytvoření databáze|Vytvoření}} nové PostGIS geodatabáze <tt>pgis_student</tt>
* [[153GIS1 - 4. cvičení - PostGIS|4. cvičení 153GIS1]], [http://josef.fsv.cvut.cz/~gin/uzpd/examples/postgis/gis1-4.sql dávkový soubor SQL]
# 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>
::<code>postgis_restore.pl pgis_student.dump | psql pgis_student</code>


{{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