Erinevus lehekülje "PostGIS" redaktsioonide vahel

Allikas: Kuutõrvaja
(PostGIS kasutamine)
(Kasulikud lisamaterjalid)
 
(ei näidata sama kasutaja 11 vahepealset redaktsiooni)
1. rida: 1. rida:
 
===Sissejuhatus===
 
===Sissejuhatus===
  
PostGIS http://postgis.refractions.net/ tarkvara lisab PostgreSQL andmebaasile ruumilise toe (ingl. k. spatially enables) kirjeldades geograafilised objektid (ingl. k geographic objects). Tehniliselt toetub PostGIS asjaolule, et PostgreSQL tarkvara võimaldab väga otsekoheselt kirjeldada uusi andmetüüpe.
+
PostGIS http://postgis.refractions.net/ tarkvara lisab PostgreSQL andmebaasile ruumilise toe (ingl. k. spatially enables PostgreSQL) kirjeldades geograafilised objektid (ingl. k geographic objects). Tehniliselt toetub PostGIS asjaolule, et PostgreSQL tarkvara võimaldab väga otsekoheselt kirjeldada uusi andmetüüpe.
 +
 
 +
Võrreldes nt Shapefile formaadis andmete kasutamisega on PostGIS'il sellised eelised
 +
 
 +
* on eriti sobiv juhtumil, kui andmetega töötavad samaaegselt mitu kasutajat
 +
* võimaldab pidada GIS-andmete andmebaasi teenust võrgus
 +
* sobib hästi GIS-andmete muutmisega seotud kasutusjuhtumiteks
  
 
===PostGIS tarkvara paigaldamine===
 
===PostGIS tarkvara paigaldamine===
  
PostGIS tarkvara paigaldamiseks sobib öelda
+
PostGIS tarkvara paigaldamiseks sobib öelda nt Debian Squeeze puhul
  
 
  # apt-get install postgis postgresql-8.4-postgis
 
  # apt-get install postgis postgresql-8.4-postgis
11. rida: 17. rida:
 
kus
 
kus
  
* postgis - sisaldab utiliite üldiseks GIS andmete kasutamiseks, pgsql2shp ja shp2pgsql
+
* postgis - sisaldab utiliite Shapefile formaadis andmete teisendamiseks, pgsql2shp ja shp2pgsql
 
* postgresql-8.4-postgis - PostgreSQL andmebaasi teek ning skriptid vastavate funktsioonide andmebaasi tekitamiseks
 
* postgresql-8.4-postgis - PostgreSQL andmebaasi teek ning skriptid vastavate funktsioonide andmebaasi tekitamiseks
  
20. rida: 26. rida:
 
  $ psql -h 127.0.0.1 -U postgres postgis < /usr/share/postgresql/8.4/contrib/postgis_comments.sql
 
  $ psql -h 127.0.0.1 -U postgres postgis < /usr/share/postgresql/8.4/contrib/postgis_comments.sql
  
Eduka paigaldamise korral öeldakse nt
+
Eduka paigaldamise korral moodustatatakse andmebaasi hulka funktsioone ning kaks uut tabelit
 +
 
 +
* public.geometry_columns
 +
* public.spatial_ref_sys
 +
 
 +
ja öeldakse nt
  
 
  sql> SELECT postgis_full_version();
 
  sql> SELECT postgis_full_version();
26. rida: 37. rida:
 
  ----------------------------------------------------------------------------------------
 
  ----------------------------------------------------------------------------------------
 
   POSTGIS="1.4.0" GEOS="3.2.0-CAPI-1.6.0" PROJ="Rel. 4.7.1, 23 September 2009" USE_STATS
 
   POSTGIS="1.4.0" GEOS="3.2.0-CAPI-1.6.0" PROJ="Rel. 4.7.1, 23 September 2009" USE_STATS
 +
 +
===Andmete import Shapefile formaadist===
 +
 +
Näitena imporditakse Maa-ameti Geoportaalis Shapefile formaadis jagatavaid Eesti asustusüksuste ruumiandmeid http://geoportaal.maaamet.ee/docs/haldus_asustus/20100301_asustus_shp.zip PostGIS'i. Peale faili kopeerimist tuleb arhiiv lahti pakkida
 +
 +
$ unzip 20100301_asustus_shp.zip
 +
 +
ning tekivad sellised failid
 +
 +
$ ls -l
 +
-rw-r--r-- 1 mart mart  955858 Feb 26 10:46 F20100301_asustus.dbf
 +
-rw-r--r-- 1 mart mart      502 Feb 26 17:19 F20100301_asustus.prj
 +
-rw-r--r-- 1 mart mart 19340604 Feb 26 10:46 F20100301_asustus.shp
 +
-rw-r--r-- 1 mart mart    37572 Feb 26 10:46 F20100301_asustus.shx
 +
 +
Shapefile formaadis andmete teisendamiseks sql skripti kujule sobib kasutada shp2pgsql utiliiti
 +
 +
$ shp2pgsql F20100301_asustus.shp asustusyksus > asutusyksus.sql
 +
 +
Maa-ameti andmed on esitatud ISO-8859-1 kodeeringus ja kuna tavaliselt andmebaasi kodeering on et_EE.UTF-8, siis tuleb teha vastav teisendus, nt selliselt
 +
 +
$ recode ISO-8859-1..UTF-8 asutusyksus.sql
 +
 +
Vajadusel saab kohendada sql skript, nt näidata alguses lisaks skeemi nimi (eestikaart)
 +
 +
set search_path to eestikaart, public;
 +
 +
Ning lõpuks laadida andmed andmebaasi
 +
 +
$ psql -h 127.0.0.1 -U mart postgis < asustusyksus.sql
  
 
===PostGIS kasutamine===
 
===PostGIS kasutamine===
32. rida: 73. rida:
  
 
* [[:UDig]]
 
* [[:UDig]]
* [[:QGIS]]
+
* [[:Quantum GIS]]
 
* [[:GeoServer]]
 
* [[:GeoServer]]
  
 
===Kasulikud lisamaterjalid===
 
===Kasulikud lisamaterjalid===
  
 +
* [[:GIS]]
 +
* [[:PostgreSQL]]
 
* http://www.manning.com/obe/
 
* http://www.manning.com/obe/
 
* http://www.bostongis.com/?content_name=postgis_tut01
 
* http://www.bostongis.com/?content_name=postgis_tut01
 
* http://xgis.maaamet.ee/wms-pub/alus? - avalikuks kasutamiseks wms kiht
 
* http://xgis.maaamet.ee/wms-pub/alus? - avalikuks kasutamiseks wms kiht
 
* http://en.wikipedia.org/wiki/PostGIS
 
* http://en.wikipedia.org/wiki/PostGIS

Viimane redaktsioon: 5. aprill 2010, kell 19:29

Sissejuhatus

PostGIS http://postgis.refractions.net/ tarkvara lisab PostgreSQL andmebaasile ruumilise toe (ingl. k. spatially enables PostgreSQL) kirjeldades geograafilised objektid (ingl. k geographic objects). Tehniliselt toetub PostGIS asjaolule, et PostgreSQL tarkvara võimaldab väga otsekoheselt kirjeldada uusi andmetüüpe.

Võrreldes nt Shapefile formaadis andmete kasutamisega on PostGIS'il sellised eelised

  • on eriti sobiv juhtumil, kui andmetega töötavad samaaegselt mitu kasutajat
  • võimaldab pidada GIS-andmete andmebaasi teenust võrgus
  • sobib hästi GIS-andmete muutmisega seotud kasutusjuhtumiteks

PostGIS tarkvara paigaldamine

PostGIS tarkvara paigaldamiseks sobib öelda nt Debian Squeeze puhul

# apt-get install postgis postgresql-8.4-postgis

kus

  • postgis - sisaldab utiliite Shapefile formaadis andmete teisendamiseks, pgsql2shp ja shp2pgsql
  • postgresql-8.4-postgis - PostgreSQL andmebaasi teek ning skriptid vastavate funktsioonide andmebaasi tekitamiseks

Funktsioonide moodustamiseks andmebaasi postgis public skeemi sobib öelda

$ psql -h 127.0.0.1 -U postgres postgis < /usr/share/postgresql/8.4/contrib/postgis.sql
$ psql -h 127.0.0.1 -U postgres postgis < /usr/share/postgresql/8.4/contrib/spatial_ref_sys.sql
$ psql -h 127.0.0.1 -U postgres postgis < /usr/share/postgresql/8.4/contrib/postgis_comments.sql

Eduka paigaldamise korral moodustatatakse andmebaasi hulka funktsioone ning kaks uut tabelit

  • public.geometry_columns
  • public.spatial_ref_sys

ja öeldakse nt

sql> SELECT postgis_full_version();
                                 postgis_full_version                                  
----------------------------------------------------------------------------------------
 POSTGIS="1.4.0" GEOS="3.2.0-CAPI-1.6.0" PROJ="Rel. 4.7.1, 23 September 2009" USE_STATS

Andmete import Shapefile formaadist

Näitena imporditakse Maa-ameti Geoportaalis Shapefile formaadis jagatavaid Eesti asustusüksuste ruumiandmeid http://geoportaal.maaamet.ee/docs/haldus_asustus/20100301_asustus_shp.zip PostGIS'i. Peale faili kopeerimist tuleb arhiiv lahti pakkida

$ unzip 20100301_asustus_shp.zip

ning tekivad sellised failid

$ ls -l 
-rw-r--r-- 1 mart mart   955858 Feb 26 10:46 F20100301_asustus.dbf
-rw-r--r-- 1 mart mart      502 Feb 26 17:19 F20100301_asustus.prj
-rw-r--r-- 1 mart mart 19340604 Feb 26 10:46 F20100301_asustus.shp
-rw-r--r-- 1 mart mart    37572 Feb 26 10:46 F20100301_asustus.shx

Shapefile formaadis andmete teisendamiseks sql skripti kujule sobib kasutada shp2pgsql utiliiti

$ shp2pgsql F20100301_asustus.shp asustusyksus > asutusyksus.sql

Maa-ameti andmed on esitatud ISO-8859-1 kodeeringus ja kuna tavaliselt andmebaasi kodeering on et_EE.UTF-8, siis tuleb teha vastav teisendus, nt selliselt

$ recode ISO-8859-1..UTF-8 asutusyksus.sql

Vajadusel saab kohendada sql skript, nt näidata alguses lisaks skeemi nimi (eestikaart)

set search_path to eestikaart, public;

Ning lõpuks laadida andmed andmebaasi

$ psql -h 127.0.0.1 -U mart postgis < asustusyksus.sql

PostGIS kasutamine

PostGISi ei kasutata tavaliselt vahetult üldotstarbelise SQL kliendiga, vaid mõne spetsiaalse GIS tarkvara poolt, nt

Kasulikud lisamaterjalid