Utilizare PostGIS. Partea I: Instalare PostgreSQL + PostGIS.
de Ion Nedelcu
25.10.2014 Tutorialul de fața folosește o versiunea mai veche a softului prezentat. Va rugăm consultați versiunea actualizată sau contactați autorul.
Tutorialul are la bază materialul “Introduction to PostGIS” scris de Paul Ramsey. Varianta originală (engleză) poate fi consultată la adresa http://www.foss4g2007.org/workshops/W-04/. Adaptarea și traducerea în română a fost gîndită ca suport pentru workshop-ul “Solutii de stocare si servicii de date – PostgreSQL-PostGIS, Geoserver.” din cadrul conferinței Tehnologii pentru consolidarea infrastructurii nationale de date spatiale.
Introducere
PostGIS este o extensie spatiala a PostgreSQL, serverul de baze de date relationale, care asigura toata functionalitatea descrisa in specificatiile OpenGIS “Simple feature for SQL”, functionalitate ce permite efectuarea unor interogari si analize spatiale complexe folosind exclusiv comenzi SQL.
Ca si Oracle Spatial, DB2 Spatial si SQL Server Spatial, PostGIS poate fi numit PostgreSQL Spatial, prin aceasta intelegandu-se ca adauga functii specifice manipularii datelor spatiale serverului de baze de date relationale PostgreSQL, si anume:
- adauga tipul de date “geometry” la cele existente (integer, date, varchar etc);
- ofera functii care opereaza asupra datelor de tip “geometry” si pot furniza diverse informatii spatiale: ST_Distance (geometry, geometry), ST_Area(geometry), ST_Length(geometry), ST_intersects(geometry, geometry) etc;
- pune la dispozitie un mecanism de indexare care permite interogari pe criterii spatiale (de exemplu obiectele aflate intr-o zona de froma dreptunghiulara) efectuate intr-un interval de timp foarte scurt.
In acest document se vor prezenta:
- instalarea si configurarea PostgreSQL;
- instalarea extensiei PostGIS;
- incarcarea datelor;
- indexarea spatiala si ne-spatiala;
- imbunatatirea performantelor (tunning);
- interogari spatiale de baza;
- recomandari pentru efectuarea interogarilor spatiale.
Instalare
Kit-ul de instalare si sursele PostgreSQL pot fi descarcate de la adresa http://www.postgresql.org
Kit-ul de instalare si sursele PostGIS pot fi descarcate de la adresa http://postgis.refractions.net
Kit-ul de instalare si sursele GEOS pot fi decarcate de la adresa http://geos.refractions.net
Kit-ul de instalare si sursele Proj4 pot fi descarcate de la adresa http://proj.maptools.org
Instrumentul de administrare PgAdmin poate fi descarcat de la adresa http://www.pgadmin.org.
Instalarea PostgreSQL
Pasi:
1. Dublu clic postgresqlxxx.msi;
p. 2. Selectarea limbii – se selecteaza enlish;
p. 3. Acord licenta;
p. 4. Optiuni de instalare – se deselecteaza PostGIS Spatial Extension;
p. 5. Instalarea PostgreSQL ca serviciu si selectarea contului sub care ruleaza servciul; se introduc: numele serviciului / service name; numele contului / account name – implicit postgres – nu trebuie sa fie un cont de administrator; domeniul contului / account domain – este suficient si numele masinii; parola contului / account password;
p. 6. Initializarea unui cluster de baze de date / databaze cluster (un grup de baze de date controlate de un singur server PostgreSQL); se specifica numarul portului / port number – se introduce 5432; adresele masinilor care se vor putea conecta la bazele de date din acest cluster / addresses – se selecteaza “accept connection on all addresses, not just localhost”; setari locale / locale – se selcteaza C; codificarea caracterelor / encoding – se selecteaza SQL_ASCII; numele pentru superuser / superuser name – utilizat pentru conectarea la baza de date – se va seta postgres – desi nu e recomandat; parola pt superuser / passoword – se introduce postgres;
7. Selectarea limbajelor – se se lecteaza cel putin PL/PgSQL – este obligatoriu pentru extensia PostGIS;
8. Selectarea modulelor suplimentare: obligatoriu se selecteaza cel putin Adminpack; foarte utile se pot dovedi si Fuzzy String Match si TSearch2;
Instalarea PostGIS
1. Dubluc clic postgisxxxsetupxxx.exe;
p. 2. Optiuni de instalare – se deselecteaza create spatial database – modul in care se creaza o baza de date cu componente spatiale se va exemplifica ulterior;
3. Selectarea locatiei de instalare – se pastreaza locatia implicita;
p. 4. Introducerea datelor pentru conectare – are sens numai daca la pasul anterior s-a selectat si optiunea create spatial database; trebuie introduse date corecte, in caz contrar programul de instalare va da un mesaj de eroare (in cazul de fata date corecte pot fi postgres/postgres/5432).
Crearea unei baze de date spatiale
Indiferent daca la instalarea extensiei PostGIS ati optat sau nu pentru crearea unei baze de date spatiale, pentru a crea o baza de date “spatially enabled” se parcurg pasii urmatori:
1. Navigati in Start/Programs/PostgreSQL/PgAdmin III
p. 2. In ierarhia de obiecte din stanga – dublu clic pe PostgreSQL Database Server – se introduce parola stabilita pentru superuser
3. In ierarhia de obiecte din stanga navigati pana la selectarea sectiunii “Databases”; creati o baza de date noua seletand Edit / New Object / New Database; introduceti postgis pentru Name; postgres pentru Owner, template_postgis pentru Template; SQL_ASCII pentru Encoding; pg_defaul pentru Tablespace;
4. Navigati in obiectele bazei de date nou create si opriti-va pe sectiunea Tables; observati tabelele “geometry_columns” si “spatial_ref_sys”.