Erinevus lehekülje "PostGIS" redaktsioonide vahel

Allikas: Kuutõrvaja
(PostGIS kasutamine)
(Kasulikud lisamaterjalid)
 
(ei näidata sama kasutaja 9 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();
27. rida: 38. 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
  
===PostGIS kasutamine===
+
===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
  
Shapefile'i vastavaks SQL failiks teisendamiseks sobib öelda
+
$ psql -h 127.0.0.1 -U mart postgis < asustusyksus.sql
  
$ TODO
+
===PostGIS kasutamine===
  
 
PostGISi ei kasutata tavaliselt vahetult üldotstarbelise SQL kliendiga, vaid mõne spetsiaalse GIS tarkvara poolt, nt
 
PostGISi ei kasutata tavaliselt vahetult üldotstarbelise SQL kliendiga, vaid mõne spetsiaalse GIS tarkvara poolt, nt
41. rida: 78. rida:
 
===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