You are on page 1of 20

PHP & GIS

I sistemi informativi geografici

a cura di Luca Pescatore <info@pescatoreluca.com>


Pag. 1

Indice della presentazione


Cosa sono i sistemi GIS Coordinate geografiche Informazioni vettoriali e raster Flat file e Database Possibili applicazioni (Route, LBS, Geomarketing, etc.) Un esempio pratico dei concetti esposti Applicativi e link interessanti
Pag. 2

Cosa sono i sistemi GIS


Sistemi Informativi Geografici (Geographic Information Systems), sono sistemi, intesi come risorse Hardware, Software, Database, Utilizzatori e Staff di supporto, che consentono di gestire informazioni di tipo spaziali. I sistemi GIS sono usati per: Visualizzare (visualizzare le mappe di un territorio, es. stradario) Manipolare (inserire, modificare e cancellare informazioni, es. Gestione dei Point Of Interest) Analizzare (distribuzione di servizi sul territorio, es. medici per i cittadini)

Pag. 3

Come funzionano ?
Ogni elemento di un sistema GIS e' rappresentato digitalmente da un punto, una linea o un poligono. L'area occupata da un parco pubblico puo' essere un poligono (Es. verde), un telefono pubblico un punto (es. POI).

POI Telefoni pubblici

Layer abitazioni

Visualizzazione mappa

Foto da satellite

Layer parchi pubblici

Pag. 4

Struttura di un layer
Ogni feature di un sistema GIS ha solitamente una o piu' informazioni spaziali e degli attributi. Es. Un poligono P ha degli attributi che definiscono il tipo di parco pubblico e il suo nome.

Feature (Object)
Point, Line, Polyline

Attribute
Unique ID

Spatial info
(X, Y, Z)

Layer parchi pubblici

Pag. 5

Come creare i dati per i sistemi GIS


Digitalizzazione da mappe cartacee esistenti Dati campionati da rilevamenti GPS Foto da satellite Foto aeree Dati tabulari

Pag. 6

Il nostro pianeta, la Terra


La prima determinazione della circonferenza della Terra (ritenuta sferica gi da Pitagora e poi dagli Aristotelici) si deve ad Eratostene. 46259 Km, stimati a partire dalle ombre di un pozzo i giorno del solstizio d'estate. Nel 1671 Jean Picard (1620-1687) avanz l'idea che la Terra non fosse perfettamente sferica in seguito ad alcune sue misurazioni fatte col metodo della triangolazione geodetica. Gi nel 1659 Huygens aveva scoperto l'esistenza della forza centrifuga, dovuta alla rotazione terrestre, massima all'equatore e nulla ai poli. Come poteva non sortire un effetto sulla forma della Terra? Da misure effettuate si stabilito che la forma della Terra approssimabile ad un ellissoide di rotazione.
Trimble Navigation, Ltd.

Pag. 7

La Terra, un geoide
Oggi, si descrive la forma della Terra come un geoide - una superficie equipotenziale del campo gravitazionale terrestre corrispondete al livello medio del mare Il geoide ha una forma irregolare, influenzata dalla distribuzione delle masse in prossimit della superficie terrestre Non descrivibile da semplici formule matematiche A seconda della porzione di superficie terrestre da rappresentare, il geoide viene approssimato da un particolare ellissoide di riferimento

Pag. 8

Proiezioni

(1) I diversi sistemi di proiezione 1) Mercatore 2) Conica conforme di Lambert 3) Stereografica equatoriale 4) Mollweide (pseudocilindrica)
Pag. 9

(2)

(3)

(4)

Sistemi di coordinate
Sistema di coordinate nazionale : Gauss-Boaga Riferimento il meridiano passante per Monte Mario (Roma) Utilizzabile senza distorsioni esclusivamente sul territorio italiano Sistema di coordinate internazionale : UTM (Universal Transverse Mercator) Utilizzabile senza distorsioni tra 84 N e 80 S Ne esistono altri... http://www.mobilegeographics.com/mapserver/ Alcuni esempi di riproiezione per Mapserver
Pag. 10

Mapserver
Mapserver un sistema di gestione GIS, sviluppato in C/C++ che ne consente l'utilizzo tramite vari linguaggi di programmazione (tra cui il PHP). Le caratteristiche principali sono:
formati vettoriali: ESRI shapefile, PostGIS, ESRI ArcSDE ed altri via OGR formati raster: TIFF/GeoTIFF, EPPL7 ed altri via GDAL shapefile indicizzati in modalit "quadtree" completamente personalizzabile sistemi di selezione per elemento/valore, punto, area ed altro supporto font True Type supporto formati raster e vettoriali automazione degli elementi della mappa (scala, mappa di riferimento e legenda) mappe tematiche basate su espressioni regolari etichette per le feature e gestione delle collisioni configurazione tramite parametri su URL
Pag. 11

proiezione runtime dei vari layer

PHP & GIS


Compilato come CGI(!), nel file conf di apache si inserisce : Action application/x-httpd-php /cgi-bin/php Modulo Mapserver, viene caricato da codice, es:
<?php

dl('php_mapscript.so'); // qui inizia il nostro codice


?>

Quali librerie/caratteristiche sono installate? Con phpinfo() lo scopriamo!

Pag. 12

I formati disponibili
Vettoriali: ESRI ShapeFile, ESRI ArcSDE, Coverage di ArcInfo, MapInfo TAB e MIF/MID, Microstation DGN

Raster (solamente 8-bit): TIFF/GeoTiff, GIF, PNG, ERDAS, JPEG e EPPL7

DataBase supportati: DBIII, DBIV, Oracle, SyBase, MySQL, PostgreSQL

Pag. 13

DB con supporto GIS


PostGIS E' il pi utilizzato in ambiente Open Source, non incluso nella distribuzione di PostgreSQL per una problematica di licenze Ottime performance, anche grazie alla nuova release di PostgreSQL MySQL con Spatial Extensions Disponibile dalla 4.1 con tabelle le MyISAM Le performance come sono ? Non tutte le caratteristiche GIS sono implementate Oracle Spatial, oppure Oracle 10g Altri database commerciali con supporto Spatial Extension
Pag. 14

Shapefile
E' il formato file pi utilizzato in ambiente GIS E' veloce ed utilizza file dbf per le informazioni tabellari
666.601.050 158 85.168.940 263.712.444 15.193.244 Oct Oct Oct Oct Oct 13 13 24 13 13 14:11 13:31 19:32 14:11 14:11 Streets.dbf Streets.prj Streets.qix Streets.shp Streets.shx // // // // // Normale DBF Proiezione del layer Indice, slide successiva Shapefile con le geometrie Indice Shapefile, slide successiva

E' di facile conversione utilizzando le librerie OGR Es. ogr2ogr -f "MapInfo File" directoryOutput nomefileInput.TAB MapInfo un altro formato molto usato, rispetto ai shapefile occupa meno spazio, ma... (vedi slide successiva)
Pag. 15

Shapefile e performance...
La visualizzazione di aree molto dettagliate porta alle volte a dover ottimizzare le performance del proprio applicativo GIS. L'obiettivo finale dell'ottimizzazione solitamente portare i tempi di risposta a tempi pi che accettabili. Es. Visualizzazione di una porzione di mappa al massimo dettaglio in meno di 1 secondo. Come fare: Visualizzare solo le info necessarie, es. strade Minimizzare i dati letti per la visualizzazione, es. strade Segmentare le aree, es. Europa, stati, regioni Spezzare i file grossi, meglio leggere tanti piccoli file Indicizzare, indicizzare, indicizzare... Sono molto utili : shptree e tile4ms
Pag. 16

Possibili applicazioni

Visualizzazione Routing (dati due punti si calcola il percorso piu' breve) LBS, Location Based Services Geomarketing Tutto quello che ha a che fare con informazioni spaziali...

Pag. 17

Possibili applicazioni: Geomarketing


Quanto incide sul fatturato una certa zona?

Pag. 18

Possibili applicazioni: Location Based Services


Dove sono gli autoveicoli aziendali?

Pag. 19

Links e software su web


http://www.pescatoreluca.com Disponibile il sorgente della demo, le slide, pi un applicativo GPL per la suddivisione di grossi Shapefile http://mapserver.gis.umn.edu/ Mapserver, ottimo server GIS http://opensourcegis.org/ Diversi tool interessanti per il mondo GIS http://www.mobilegeographics.com/mapserver/ Alcuni esempi di riproiezione con mapserver

Pag. 20

You might also like