Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "UbuntuGis"
Differenze tra le versioni 67 e 68
Versione 67 del 03/04/2007 20.45.03
Dimensione: 10962
Commento:
Versione 68 del 03/04/2007 20.49.16
Dimensione: 11235
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 226: Linea 226:
Adesso apriamo il browser web e digitiamo http://localhost/cgi-bin/mapserv

se ci troviamo di fronte la scritta:

{{{No query information to decode. QUERY_STRING is set, but empty.}}}

abbiamo fatto tutto bene e siamo pronti ad utilizzare la nostra postazione GIS!

BR

Introduzione

Lo scopo di questa pagina Wiki è quello di guidare l'utente nell'installazione di tutto il software necessario alla configurazione di una postazione SIT (Sistemi Informativi Territoriali) sul proprio sistema Ubuntu Linux.

Ho scelto di evitare la compilazione del software a partire dai sorgenti, impostando tutto il lavoro sul tool APT, per rendere il procedimento il più possibile intuitivo ed immediato.

La guida è stata testata su Ubuntu 6.10 - The Edgy Eft

Modifica del sources.list

Nei repositories ufficiali di Ubuntu i pacchetti di cui abbiamo bisogno sono già presenti senza bisogno di aggiungere nulla, tuttavia le versioni dei software in questione non sono molto recenti. Possiamo rimediare facilmente editando il nostro sources.list.

Apriamo il terminale ed accediamo al file utilizzando il nostro editor di testo preferito (nella guida io farò riferimento a gedit, l'editor di default in ambiente Gnome)

sudo gedit /etc/apt/sources.list

aggiungiamo la seguente riga

deb http://les-ejk.cz/ubuntu edgy multiverse

salviamo le modifiche e chiudiamo l'editor.

Ora, sempre da terminale, digitiamo

sudo apt-get update

per aggiornare il database dei pacchetti.

Desktop Mapping

In questa sezione tratteremo l'installazione e l'eventualmente configurazione dei principali software applicativi e delle librerie necessarie per le attività di Desktop Mapping. Tale definizione comprende tutte le procedure che riguardano la produzione ed il trattamento di dati geografici in un ambiente non condiviso (come, appunto, un pc Desktop), in contrapposazione al GIS distribuito (Web Mapping).

Grass e QuantumGIS

In questa fase installeremo i due principali GIS Desktop open source: Grass 6.2.1 e QuantumGIS 0.8.

  • Grass (Geographic Resources Analysis Support System) è un software GIS impiegato nella gestione ed analisi di dati geospaziali, nell'image processing e nella produzione/visualizzazione di mappe tematiche;

  • QuantumGIS è un GIS Desktop di facile utilizzo che consente di modificare dati geografici in formato vettoriale, raster e database.

Questi due software sono in grado di lavorare assieme molto efficacemente. QuantumGIS, infatti, oltre ad essere un ottimo programma GIS Desktop indipendente, può essere sfruttato come interfaccia user-friendly per Grass (il software GIS Desktop più potente del panorama open). Questa comunicazione ha luogo attraverso il grass plug-in che installeremo mediante il relativo pacchetto.

Apriamo il terminale e digitiamo

sudo apt-get install grass qgis qgis-plugin-grass

ora possiamo lanciare sia Grass che Qgis dal terminale digitando

grass62

per Grass e

qgis

per QuantumGIS

Librerie e Tools

Adesso installeremo:

  • GDAL (Geospatial Data Abstraction Library) - una libreria che permette la manipolazione delle immagini in diversi formati raster;

  • GEOS (Geometry Engine - Open Source) - una libreria utile per la gestione delle geometrie di punti;

  • PROJ - una libreria indispensabile per la gestione delle proiezioni cartografiche;

  • gpx2shp - un tool per la conversione di file GPS o GPX nel formato ESRI Shapefile;

  • e00Compr - una libreria ANSI C per la lettura/scrittura del formato Arc/Info E00.

procediamo nel modo consueto, aprendo un terminale e digitando

sudo apt-get install gdal-bin python-gdal libgdal1-1.3.2 libgdal1-1.3.2-grass libgeos2c2a proj gpx2shp e00compr

GeoDBMS

Nei GIS le informazioni geometriche ed alfanumeriche (i cosiddetti attributi) possono essere immagazzinate in un RDBMS (Relational Data Base Management System). Questo consente di una migliore gestione dei dati tramite, ad esempio, la creazione di indici spaziali, ne garantisce l'integrità e consente a più operatori di poter lavorare sullo stesso set di dati spaziali senza la necessità di replicarlo sulle singole macchine e. Inoltre, mantenere il dataset all'interno di un RDBMS permette più facilmente di stabilire differenti livelli (diritti) di accesso per i diversi operatori.

PostgreSQL e PostGIS - Installazione

PostgreSQL è un potente RDBMS open source di fascia enterprise che, soprattutto grazie alla sua estensione spaziale PostGIS (sviluppata da Refractions), si presta in maniera egregia al mantenimento, gestione ed interrogazione di dati georeferenziati.

In questa sezione installeremo quindi PostgreSQL e PostGIS. Successivamente creeremo un Database spaziale da utilizzare come template per tutte le nostre future applicazioni.

Apriamo il terminale e digitiamo

sudo apt-get install postgresql-8.1 postgresql-client-8.1 postgresql-contrib-8.1 postgresql-8.1-pljava-gcj postgresql-8.1-plr postgresql-8.1-postgis postgresql-8.1-slony1

PostgreSQL e PostGIS - Configurazione

Una volta installati PostgreSQL e PostGIS dobbiamo procedere alla configurazione dell'utente postgres (l'amministratore creato automaticamente all'atto dell'installazione), specificando una password per l'accesso al RDBMS.

Apriamo, quindi, il terminale e digitiamo

sudo su

questo ci consentirà di loggarci come super-utente e specificare una password per l'utente postgres. Sempre nello stesso terminale digitiamo

passwd postgres

inseriamo e poi confermiamo la nuova password.

Ora possiamo loggarci come utente postgres ed accedere al client a riga di comando di PostgreSQL (psql)

su - postgres

psql

Ci accoglierà il prompt del client psql (postgres#=) ed un elenco dei principali comandi. Facciamo pure un giro se ci va e poi usciamo digitando

\q

con la combinazione di tasti «Ctrl+d» torniamo al nostro utente usuale e chiudiamo il terminale.

Creazione del GeoTemplate

Come anticipato, stiamo per creare un template di PostgreSQL che ci farà da "stampo" per la creazione di tutti i nostri futuri database spaziali. In questo template caricheremo le funzioni di PostGIS.

Il vantaggio nel procedere in questo modo è evidente: in futuro non avremo più bisogno di caricare le funzioni spaziali ma ci basterà selezionere il nostro GeoTemplate come immagine del nuovo Database.

Apriamo il terminale e logghiamoci come utente postres

su - postgres

Ora diamo il comando per creare il nuovo Database

createdb geotemplate 

e poi, esattamente nell'ordine indicato diamo, uno dopo l'altro, questi comandi

createlang plpgsql geotemplate
psql -d geotemplate -f /usr/share/postgresql-8.1-postgis/lwpostgis.sql
psql -d geotemplate -f /usr/share/postgresql-8.1-postgis/spatial_ref_sys.sql

A questo punto per controllare che tutto sia andato per il meglio, entriamo in psql

psql

connettiamoci al Database appena creato

\c geotemplate

e richiamiamo una funzione che ci mostrerà la versione di PostGIS installata

SELECT postgis_full_version();

psql dovrà mostrarci il risultato seguente (chiaramente le versioni di PostGIS e delle librerie GEOS e PROJ possono variare):

POSTGIS="1.1.2" GEOS="2.2.1-CAPI-1.0.1" PROJ="Rel. 4.4.9, 29 Oct 2004" USE_STATS

se così non fosse significa che abbiamo sbagliato qualcosa nei passaggi precedenti.

Se tutto è andato per il meglio usciamo pure da psql e chiudiamo il terminale.

Installazione del client pgAdmin III

Possiamo installare anche un client grafico per accedere ai nostri Database. Ce ne sono diversi, in questo wiki ho scelto di descrivere l'installazione di pgAdmin III.

sudo apt-get install pgadmin3

Per questioni di sicurezza non possiamo loggarci in pgAdmin III come root o postgres (questa possibilità si può ottenere editando il file di configurazione di pgAdmin III, ma ora non ci interessa) ed è quindi necessario creare un nuovo utente tramite psql. Per farlo, apriamo il terminale, logghiamoci come postgres

su - postgres

e digitiamo

createuser -d -P nomeutente

Con il nostro nuovo utente potremmo loggarci in pgAdmin III ed accedere al database geotemplate, dentro il quale saranno presenti due tabelle chiamate geometry_columns e spatial_ref_sys.

Web Mapping

Quello che differenzia il Web Mapping dal Desktop Mapping è, come detto in precedenza, la natura distribuita. I dati vengono condivisi in rete (LAN e/o Internet) ed attraverso la rete possono essere visualizzati, interrogati ed addirittura editati.

Installazione LAMP

La base di un sistema di Web Mapping è un Web Server. Visto che nella Documentazione è già presente una pagina Wiki più che esauriente per la configurazione di un server LAMP, rimando a quella: http://wiki.ubuntu-it.org/ApachePHPMySQL

Una volta che avrete installato il LAMP tornate pure a visitare questa pagina per continuare nella configurazione della vostra postazione di Web Mapping!

UMN-Mapserver e Php-Mapscript

  • UMN-Mapserver è un cgi map server elaborato dall'Università del Minnesota ed è lo standard de facto nel mondo del Web Mapping open source. Il suo ruolo è fondamentalmente quello di tradurre le informazioni che gli vengono passate attraverso un file di configurazione detto mapfile (che ha estensione .map) e di produrre mappe dinamiche visualizzabili attraverso un comune browser per la navigazione web.

Per ovvie ragioni di sintesi, in questa sede eviterò di spiegare la sintassi del mapfile, limitandomi a dire che si tratta di un documento di testo, composto da vari oggetti, che risponde a determinate regole e nel quale dovranno essere inseriti i riferimenti ai dati (cioè la loro struttura e la loro posizione nel file system o nel RDBMS) che il map server dovrà fornire in visualizzazione al browser.

Per approfondire: http://mapserver.gis.umn.edu/ http://mapserver.gis.umn.edu/docs/reference/mapfile

Per installare UMN-Mapserver e Php-Mapscript apriamo il terminale e digitiamo

sudo apt-get install cgi-mapserver mapserver-bin mapserver-doc php5-mapscript php5-gd

Adesso apriamo il browser web e digitiamo http://localhost/cgi-bin/mapserv

se ci troviamo di fronte la scritta:

No query information to decode. QUERY_STRING is set, but empty.

abbiamo fatto tutto bene e siamo pronti ad utilizzare la nostra postazione GIS!