Introducere în postgis - osgeo - live 9

PostGIS adaugă funcționalități suplimentare bazei de date PostgreSQL. PostGIS extinde capacitățile PostgreSQL în ceea ce privește stocarea, interogarea și gestionarea datelor spațiale. Această "introducere" va descrie funcțiile de bază ale PostgreSQL și PostGIS.







Această "introducere" descrie:

  • Cum se creează o bază de date spațiale și se pot obține interogări la ea din linia de comandă și din GIS Quantum.
  • Gestionați datele din clientul pgAdmin.

PostgreSQL, ca și alte DBMS-uri, funcționează ca un server într-un sistem client-server. Clientul trimite o solicitare serverului și primește un răspuns. Internetul funcționează la fel: browserul dvs. este clientul care trimite cererea, iar serverul web returnează pagina web înapoi. Interogările PostgreSQL sunt făcute utilizând limba SQL, răspunsurile fiind, de obicei, tabele de date din baza de date.

Nimic nu împiedică serverul PostgreSQL să se afle pe același computer cu clientul. Clientul dvs. se conectează la server printr-o interfață internă de feedback bazată pe IP care nu este vizibilă altor computere (dacă nu configurați altfel).

Trei clienți vor fi afișați aici: clientul liniei de comandă, GIS Quantum și clientul bazei de date grafice - pgAdmin.

Clienții liniei de comandă rulează din fereastra emulator terminal. Porniți emulatorul terminalului din meniul Aplicații din secțiunea Aditional. Acest lucru vă va oferi acces la shell-ul liniei de comandă. tip:

Faceți clic pe Enter pentru a vedea versiunea PostgreSQL.

Un server PostgreSQL vă permite să organizați lucrul prin distribuirea acestuia pe baze de date separate. Fiecare dintre bazele de date va funcționa în modul propriu, cu propriile tabele, vizualizări, utilizatori etc. Atunci când stabiliți o conexiune la serverul PostgreSQL, trebuie să specificați baza de date necesară.

Pentru a obține lista de baze de date stocate pe server, tastați următoarea comandă:

Veți vedea mai multe baze de date folosite de mai multe proiecte ale sistemului. În această introducere va fi creată o nouă bază de date.

Lista utilizează pagerul standard Unix: apăsați bara de spațiu pentru a trece la pagina următoare, b. q pentru a ieși și b pentru a apela ajutorul.

PostgreSQL oferă un utilitar pentru crearea bazei de date createb. Vom crea o bază de date utilizând extensia PostGIS, specificând șablonul utilizat. Denumiți demo-ul bazei de date. În acest caz, comanda va arăta astfel:

Puteți obține ajutor în linia de comandă utilizând opțiunea --help.

Dacă executați psql -l. atunci ar trebui să vedeți baza de date demonstrativă din lista de baze de date.

Puteți crea o bază de date PostGIS utilizând SQL. Mai întâi, ștergem baza de date nou creată cu comanda dropdb. apoi folosiți comanda psql. pentru a obține interpretul de comandă SQL:

Aceste comenzi vor fi conectate la postgres-ul bazei de date a sistemului. pe care ar trebui să o aibă toate serverele. Introduceți interogarea SQL pentru a crea o nouă bază de date:

Comutați conexiunea de la baza de date postgres la noua bază de date demo. În viitor, vă puteți conecta direct la baza de date utilizând comanda psql -d demo. Iată o modalitate de a comuta folosind psql pe linia de comandă:

Apăsați CTRL + C. dacă apare promptul psql după ce apăsați butonul de revenire. Aceasta va șterge informațiile introduse. Este posibil să fie nevoie să închideți citate, un colon și așa mai departe.

Ar trebui să vedeți un mesaj informațional indicând faptul că sunteți conectat la baza de date demo.

Apoi, adăugați PostGIS 2.0:

Pentru a verifica dacă funcționează totul, tastați \ dt. această comandă afișează o listă de tabele din baza de date. Ar trebui să vedeți o listă similară:

Tabelele deduse confirmă faptul că baza noastră este spațială. Tabelul geometry_columns servește pentru a transmite informații despre tabelele care conțin informații spațiale.

Acum, având o bază de date spațială, puteți crea mai multe tabele spațiale. Mai întâi vom crea o tabelă de baze de date obișnuite pentru a stoca date despre oraș. Acest tabel va conține două câmpuri - un câmp numeric-identificator, cel de-al doilea - numele orașului:

Apoi, adăugați o coloană de geometrie care conține locația orașelor. Pentru comoditate, să numim acest câmp geom (versiunile anterioare ale PostGIS necesită numele tabelului the_geom). Acest câmp spune PostGIS ce tip de geometrie are fiecare dintre obiecte (puncte, linii, poligoane etc.), ce dimensiune (cum sunt posibile 3-4 dimensiuni - POINTZ, POINTM, POINTZM) și care sistem de coordonate. Pentru datele despre orașe, vom folosi sistemul de coordonate EPSG: 4326.

Privind la masa orașului, veți vedea o nouă coloană, precum și informații că nu există rânduri în tabel.

Pentru a adăuga rânduri în tabel, utilizați comenzile SQL. Pentru a adăuga date de geometrie în coloana corespunzătoare, utilizați funcția PostGIS ST_GeomFromText. Pentru a converti coordonatele și identificatorul sistemului de referință din formatul textului:

Utilizați butoanele săgeată pentru a anula și edita linia de comandă.

După cum vedeți, devine repede plictisitor. Din fericire, există alte modalități mai ușoare de a transfera date în tabelele PostGIS. Acum, în baza noastră de date există trei orașe cu care putem începe să lucrăm.







Toate cele mai comune instrucțiuni SQL pot fi folosite pentru a selecta date din tabela PostGIS:

Aceasta ne întoarce coordonate fără sens în sistemul hexazecimal. Dacă doriți să vedeți geometria în format text WKT, utilizați funcția ST_AsText (the_geom) sau ST_AsEwkt (the_geom). De asemenea, puteți utiliza funcțiile ST_X (the_geom), ST_Y (the_geom) pentru a obține valorile numerice ale coordonatelor.

Am văzut deja cum să obținem geometria din datele de text WKT folosind funcția ST_GeomFromText. Cele mai multe dintre aceste funcții încep cu ST ("tip spațial") și sunt descrise în documentația PostGIS. Utilizăm unul dintre ei pentru a răspunde la întrebarea practică: la ce distanță sunt în metri trei orașe cu numele Londra, având în vedere sfericitatea pământului?

Această interogare returnează distanța în metri între fiecare pereche de orașe. Rețineți că, ca parte a „unde“ ne împiedică să obțină distanța de la oraș la sine (distanța este întotdeauna egală cu zero) și distanța în ordine inversă (distanța de la Londra, Anglia la Londra, Ontario va fi la fel ca la Londra, Ontario la Londra, Anglia). Încercați din nou fără "WHERE" și vedeți ce se întâmplă.

De asemenea, putem calcula distanțele pe sferă utilizând diverse funcții și indicând denumirea sferoidală, parametrii semicelor principale și coeficientul de compresie înapoi:

Pentru a crea o hartă din datele PostGIS, aveți nevoie de un client, cu care puteți interpreta datele. Multe dintre sistemele GIS deschise pot face acest lucru, de exemplu, GIS Quantum, gvSIG, uDig. Apoi, vă vom arăta cum să faceți o hartă folosind GIS Quantum.

Porniți GIS Quantum și selectați Adăugați straturi PostGIS din meniul Layer. Parametrii pentru conectarea la datele Earth Earth din PostGIS sunt deja definiți în meniul drop-down Connections. Acolo puteți crea o nouă conexiune la server și puteți stoca setările pentru acces rapid. Faceți clic pe Editați. dacă doriți să vedeți ce parametri sunt specificați pentru datele despre Pământ natural sau faceți clic pe Conectare. pentru a continua:

Introducere în postgis - osgeo - live 9

Apare o listă a tabelelor spațiale ale bazei de date:

Introducere în postgis - osgeo - live 9

Selectați lacurile ("Lacurile") și faceți clic pe Adăugați în partea de jos (nu Încărcați în partea de sus, care va încărca parametrii de conectare la baza de date), după care stratul se va deschide în QGIS:

Introducere în postgis - osgeo - live 9

Ar trebui să vezi o hartă cu lacurile. QGIS nu știe că este un lac, deci probabil că nu vor fi albastru. Utilizați documentația QGIS pentru a afla cum să schimbați culoarea. Măriți recenzia la un grup de lacuri celebre din Canada.

Majoritatea aplicațiilor OSGeo acceptă importul de date spațiale din fișiere în baza de date PostGIS. Pentru a demonstra acest lucru, QGIS va fi folosit.

Importul de fileforme în PostGIS prin QGIS se poate face în programul PostGIS Manager. Pentru a le instala, accesați meniul Module. următor Descărcați module. QGIS va descărca cea mai nouă versiune din depozit (pentru aceasta aveți nevoie de o conexiune de internet activă). Găsiți PostGIS Manager și faceți clic pe Instalare plugin.

Introducere în postgis - osgeo - live 9

Managerul PostGIS Manager trebuie să apară în meniul Module. Pentru a porni plugin-ul, poți de asemenea să dai clic pe butonul cu logo-ul PostGIS (un elefant cu globul) situat pe panou.

Introducere în postgis - osgeo - live 9
Apoi, PostGIS Manager va fi folosit pentru a importa formafile în baza de date. Folosim datele despre sindromul de deces brusc la copii din Carolina de Nord, care sunt incluse într-unul din suplimentele pachetului statistic R.

Din meniul Date, selectați opțiunea Load data from shapefile. Faceți clic pe butonul. și încărcați forma sids.shp shapefile în pachetul R maptools (localizat aici: / usr / local / lib / R / site-library /):

Fără modificarea setărilor din fereastra apărută, apăsați Încărcare:

Introducere în postgis - osgeo - live 9

Formatul Shape trebuie importat în PostGIS fără erori. Închideți Managerul PostGIS și reveniți la fereastra principală QGIS.

Încărcați datele SIDS cu opțiunea "Adăugați un PostGIS Layer". Schimbând ordinea straturilor și umplerilor, puteți crea o cartogramă de fundal (hornet), care arată numărul de copii care au murit din cauza sindromului de deces subită din Carolina de Nord.

Introducere în postgis - osgeo - live 9

Puteți utiliza clientul bazei de date grafice pgAdmin III din meniul de sistem "Baze de date" pentru a efectua o interogare sau a schimba informații atributive în baza de date. Acesta este clientul oficial pentru PostgreSQL, care vă permite să utilizați SQL pentru a gestiona tabelele de date.

Clientul are opțiunea de a crea o nouă conexiune la serverul PostgreSQL sau de a conecta o conexiune existentă. În acest caz, trebuie să vă conectați la serverul local (local).

După stabilirea conexiunii, puteți vedea lista de baze de date disponibile.

O pictogramă roșie "X" în majoritatea bazelor de date indică faptul că acestea nu sunt încă conectate (cu excepția bazei de date implicite - postgres). Astfel, puteți vedea numai bazele de date care sunt disponibile în sistem. Pentru a vă conecta, faceți dublu clic pe numele bazei de date. Faceți acest lucru pentru baza de date natural_earth2. Acum puteți vedea că pictograma roșie "X" a dispărut, iar semnul "+" a apărut în stânga. Apăsând pe arbore, se dezvăluie conținutul bazei de date.

Accesați subcheia schemelor. deschide-o. Apoi deschideți schema publică. Mutarea în jurul structurii și deschiderea elementelor (tabele), puteți vedea toate tabelele care conțin această schemă.

Introducere în postgis - osgeo - live 9

pgAdmin III are capacitatea de a efectua interogări împotriva bazelor de date relaționale. Pentru a executa interogarea, faceți clic pe butonul SQL din bara principală de instrumente (cu o lupă galbenă).

Apoi faceți clic pe butonul verde cu săgeata îndreptată spre dreapta ("executare interogare").

Introducere în postgis - osgeo - live 9

Unele sarcini suplimentare care trebuie îndeplinite:

Acestea sunt doar primii pași în modul de utilizare a PostGIS. Există multe funcții utile pe care le puteți încerca dacă doriți.







Articole similare

Trimiteți-le prietenilor: