Erinevus lehekülje "PostGIS" redaktsioonide vahel
(→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 | + | * 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 | ||
− | === | + | ===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 | 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
Sisukord
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