PostGIS: erinevus redaktsioonide vahel

Allikas: Kuutõrvaja
Mine navigeerimisribaleMine otsikasti
Imre (arutelu | kaastöö)
Imre (arutelu | kaastöö)
 
(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 16: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