Go to content Go to navigation Go to search

geo-spatial.org: An elegant place for sharing geoKnowledge & geoData

Căutare


RSS / Atom / WMS / WFS


Contact


Lista de discuţii / Forum


Publicat cu Textpattern


Comunitatea:


Importul unui set de date vectorial din format ESRI Shapefile în PostGIS şi vizualizarea/interogarea acestuia folosind QGIS, uDig şi GeoServer

de Florin Iosub

Publicat la 05 Oct 2009 | Secţiunea: Tutoriale | Categoria: GIS/
Nivel de dificultate:

Introducere

Tutorialul de faţă îşi propune prezentarea unor soluţii de încărcare, vizualizare, publicare (WMS/WFS) şi interogare a unui set de date vectorial din format ESRI Shapefile în PostGIS, folosind aplicaţii open source.

Pentru acest lucru vom folosi urmatoarele aplicaţii:

Încărcarea datelor în PostGIS folosind aplicaţia QGIS

Figura 1.

  • Se porneşte aplicaţia QGIS şi se foloseşte butonul Import Shapefilefiles to PostgreSQL, ca rezultat, deschizându-se o nouă fereastră de unde se va realiza conexiunea către baza de date PostGIS. Dând click pe butonul New din fereastra nou deschisă, se deschide o nouă fereastră unde trebuiesc completate o serie de câmpuri necesare realizari conexiunii. Astfel, în câmpul Name se trece denumirea noii conexiuni create, în cazul de faţă Judeţe Romania; în câmpul Host, dacă baza de date este una locală se trece localhost, iar dacă baza de date este pe un alt calculator se trece IP-ul calculatorului respectiv; în câmpul Database se trece denumirea bazei de date create la pasul anterior, în cazul nostru judete, aceasta trebuie să corespundă cu denumirea bazei de date create în PostgreSQL (a se vedea tutorialul Utilizare PostGIS. Partea I: Instalare PostgreSQL + PostGIS); în câmpul Port se introduce numărul portului, în cazul nostru 5432, acesta trebuie să fie identic cu cel folosit la instalarea aplicaţiei PostgreSQL, iar in câmpurile Username şi Password se introduce numele de utilizator şi parola care trebuie sa fie aceleaşi cu cele utilizate la instalarea aplicaţiilor PostgreSQL şi PostGIS; se bifează şi căsuţa Save Password pentru a nu fi necesară introducerea lor de fiecare dată când ne conectăm. Pentru a verifica dacă conexiunea se poate realiza cu succes se foloseşte butonul Test connect (Fig. 2).

Figura 2.

  • Se dă iar click pe butonul Import ESRI Shapefilefile to PostgreSQL, ca rezultat, deschizându-se o nouă fereastră de unde se vor încărca datele astfel: în fereastra nou deschisă se selectează conexiunea creată la pasul anterior, în cazul nostru Judeţe Romania, click pe butonul Connect, apoi pe butonul Add după care se selecteză calea către locul în care sunt stocate datele pe care dorim să le importăm, iar în final click pe butonul OK (Fig. 3).

Figura 3

2. Folosind shp2pgsql

  • Instrumentul shp2pgsql converteşte fişiere ESRI în format SQL, adecvate pentru introducerea într-o bază de date Postgis/PostgreSQL. Acest instrument prezintă mai multe moduri de funcţionare ce se disting prin linia de comandă. Pentru acest lucru trebuie să avem de asemenea instalate aplicaţiile PostgreSQL şi PostGIS, după care se crează o bază de date spaţială.
  • Conversia se face folosind linia de comandă, dupa cum urmează: Run-în fereastra nou deschisă tastăm cmd , click OK – se deschide fereastra în care se tastează comanda către folder-ul ce conţine datele noastre, în cazul de faţă cd c:\judete_ro şi daţi Enter (Fig.4).

Figura 4

  • Înainte de a trece la pasul următor, descărcaţi fişierul pg_setenv şi copiaţi-l în folder-ul în care se găsesc datele ce urmează a fi convertite (a se vedea pasul anterior). Fişierul a fost creat şi folosit de Paul Ramsey în prezentarea Introduction to PostGIS la confeinţa Free and Open Source Software for Geospatial din anul 2007. După ce aţi făcut acest lucru, deschideţi fişierul respectiv cu un editor text şi modificaţi calea şi versiunea de PostgreSQL cu cea pe care o aveţi instalată.
  • În linia de comandă, pentru o utilizare facilă a instrumentului, tastaţi pg_setenv.bat şi daţi Enter (Fig. 5).

Figura 5

  • Dacă tastăm comanda shp2pgsql, vom afla informaţii despre fiecare opţiune a acestui instrument (Fig. 6).

Figura 6

  • Se tastează o comandă de genul:shp2pgsql [opţiuni] [ESRI Shapefilefile] [denumire tabel] [denumire bază de date], în cazul de faţă comanda fiind următoarea: shp2pgsql –s 31700 judete_ro.shp judete_ro > judete_ro.sql , apoi apăsaţi tasta Enter (31700 reprezintă codul EPSG pentru proiecţia Stereografic 1970) (Fig.7).

Figura 7

  • În final tastaţi următoarea comandă: psql –U postgres –f judete_ro.sql –d judete (Fig. 8).

Figura 8

  • Toate operaţiile sunt exemplificate în figura (Fig. 9).

Figura 9

Vizualizarea datelor încărcate în PostGIS folosind aplicaţii open source

1. Vizualizarea datelor încărcate în PostGIS folosind aplicaţia QGIS

  • Se porneşte aplicaţia QGIS şi se foloseşte butonul Add PostGis Layer, se deschide o nouă fereastră unde se va selecta noua conexiune creată; click pe butonul Connect, se selectează fişierul dorit (în cazul nostru cel ce conţine judeţele), iar apoi se click pe butonul Add (Fig. 10).

Figura 10

  • Rezultatul este cel afişat în figura 11.

Figura 11

2. Vizualizarea datelor încărcate în PostGIS folosind aplicaţia uDig

  • Se deschide aplicaţia uDig şi se foloseşte butonul Layer – Add, se deschide o nouă fereastră în care trebuie să selectăm tipul bazei de date, în cazul nostru PostGIS, click pe butonul Next ce duce la deschiderea unei noi ferestre asemănătoare cu cea din QGIS, unde trebuie completate date cum ar fi denumirea bazei de date, numele de utilizator, parolă, etc (la fel ca în QGIS), iarăşi click pe butonul Next din fereastra nou deschisă, se selectează fişierul dorit (în cazul nostru cel ce conţine judeţele), iar în final click pe butonul Finish (Fig. 12).

Figura 12

  • Rezultatul este cel afişat în figura 13.

Figura 13

3. Vizualizarea datelor încărcate în PostGIS folosind aplicaţia “GeoServer”

Figura 14

  • În fereastra nou deschisă click pe butonul New, se selectează în câmpul Feature Data Set Description tipul, în cazul nostru PostGIS, iar în câmpul Feature Data Set ID cum dorim să denumim setul de date, în cazul nostru „Judete_Romania” şi click pe butonul New (Fig. 15).

Figura 15

  • Se deschide o nouă fereastră unde trebuie completate date cum ar fi denumirea bazei de date, numele de utilizator, parolă, etc (la fel ca in QGIS şi uDig), după care se dă click pe butoanele Submit – Apply – Save (Fig. 16).

Figura 16

  • Dacă totul a mers normal, trebuie să vedeţi un mesaj de genul “Data loaded without incident” (Fig. 17).

Figura 17

  • Click în continuare pe butoanele FeatureTypes – New se alege la Feature Type Name “Judete_Romania” şi iar click pe butonul New (Fig.18).

Figura 18

Click-type-click-...

Figura 19 Imagine preluată din tutorialul Soluţii WMS open source – Partea I

  • Dacă totul a mers fără probleme puteţi da click pe link-ul de Welcome şi în continuare pe Demo. Veţi găsi noul set de date în secţiunea Map Preview sub numele topp:judete_ro. Click pe acesta iar rezultatul trebuie să fie ca în figura 20.

Figura 20

Bibliografie

  1. Documentaţie GeoServer
  2. Instalare Tomcat 6 pe Windows
  3. Introduction to PostGIS de Paul Ramsey
  4. Tutorial Open Layers de Vasile Crăciunescu
  5. Tutorial Soluţii WMS open source – Partea I de Marius Jigmond.
  6. Tutorial Utilizare PostGis. Partea I: Instalare PostgreSQL + PostGIS de Ion Nedelcu.
  7. Using PostGIS: Data Management and Queries
Discută articolul (0 comentarii)

Categorii