Indice
Appunti 2010/10/21
Installazione pacchetti Debian
apt-get update | Aggiorna l'elenco dei pacchetti disponibili sui repository. |
---|---|
less /etc/apt/sources.list | Elenco dei repository utilizzati. |
apt-cache search <stringa> | Cerca un pacchetto tra quelli disponibili. |
apt-get install <pacchetto> | Installa un pacchetto. |
dpkg –list | Lista dei pacchetti installati. |
Come impostare un proxy http per scaricare/installare pacchetti via http (metterlo in /etc/profile
per attivarlo automaticamente al login):
export http_proxy="http://172.16.1.72:8080"
Questi sono i pacchetti GIS installati:
- cgi-mapserver MapServer versione CGI-BIN
- mapserver-bin utilities di corredo a MapServer
- php5-mapscript MapServer versione PHP MapScript
- libgdal1-1.6.0 libreria GDAL/OGR per accesso a formati raster e vettoriali
- gdal-bin utilities di corredo alla libreria gdal
- postgresql database PostgreSQL
- postgresql-8.4-postgis PostGIS: estensione geografica per PostgreSQL
- postgis utilities di corredo a PostGIS
- php-mdb2 libreria per accedere ai database da PHP
- php-mdb2-driver-pgsql modulo php-mdb2 per accedere a PostgreSQL
Verificare che sia stato installato MapServer versione CGI-BIN in /usr/lib/cgi-bin/mapserv
(posizione specifica di Debian).
PostgreSQL
Come connettersi al database (ottenere un prompt SQL) prima di aver creato qualunque utente database:
# su - postgres $ psql
Come creare un utente, un database e abilitarlo spazialmente (comandi da dare al prompt SQL):
postgres=# CREATE USER gis PASSWORD 'GisSecret'; postgres=# CREATE DATABASE gis OWNER gis; postgres=# \connect gis gis=# CREATE LANGUAGE plpgsql; gis=# \i /usr/share/postgresql/8.4/contrib/postgis-1.5/postgis.sql gis=# \i /usr/share/postgresql/8.4/contrib/postgis-1.5/spatial_ref_sys.sql gis=# \dt List of relations Schema | Name | Type | Owner --------+------------------+-------+---------- public | geometry_columns | table | postgres public | spatial_ref_sys | table | postgres gis=# GRANT SELECT ON spatial_ref_sys TO gis; gis=# GRANT ALL ON geometry_columns TO gis; gis=# \q
Codici EPSG
EPSG:32632 | WGS 84 / UTM zone 32N (metri) |
---|---|
EPSG:3003 | Monte Mario / Italy zone 1 (metri) |
EPSG:4326 | WGS 84 (gradi lon/lat) |
Come caricare dati geografici nel database
Con shp2pgsql
si converte uno shapefile in codice SQL:
shp2pgsql -s 32632 mezzerie_WGS.shp mezzerie > /tmp/mezzerie.sql
Dal prompt SQL si carica il file SQL nel database:
psql -U gis -W -h localhost gis gis=> \i /tmp/mezzerie.sql
Dove salvare shapefile, mapfile, template, ecc.
shapefile | Contengono i dati geografici. È possibile salvarli in una directory qualunque (es. /home/gisdata/ ) non pubblicata sul web. L'importante è che siano leggibili al processo server web (utente www-data in Debian). |
---|---|
mapfile | Anche i mapfile dovrebbero stare in una directory non pubblicata sul web, a maggior ragione per il fatto che potrebbero contenere le credenziali di accesso al database. |
template | Per ogni mapfile è opportuno creare anche il relativo template html, uitile in fase di debug del mapfile stesso. Il template conviene che sia salvato nella stessa directory del mapfile. |
Pubblicazione di un server WMS
MapServer fornisce le mappe (via HTTP e CGI-BIN) secondo il suo standard proprietario. Con poche modifiche al mapfile è possibile farlo funzionare anche secondo lo standard WMS.
In questo modo qualunque client compatibile WMS può accedere a tali mappe. Ad esempio QGIS (desktop mapping) e OpenLayers (web mapping).
Utilizzare le mappe OpenStreetMap o Google
Aggiunta la proiezione Google Mercator nel file /usr/share/proj/epsg
, in questo modo MapServer (in veste di server WMS) può riproiettare un layer EPSG:32632 nel sistema di Google e quindi sovrapporlo alla mappa OpenStreetMap o Google.
La riga da aggiungere è la seguente:
# Spherical Mercator <900913> +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs
Installazione e configurazione di p.mapper
- Scompattare l'archivio nella DocumentRoot (directory pubblicata dal server Web). Si consiglia la versione in sviluppo (SVN) perché compatibile con il nuovo MapServer 5.6.
- Metter un mapfile in
pmapper/config/default/
controllare i percorsi che siano giusti. - Editare
pmapper/config/config_default.xml
:- <categories>
- <mapFile>
- <allGroups>
- Rendere scrivibile la
pmapper/images/legend/