Sezioni
Skip to content.
vai alla homepage
vai alla homepage
ricerca avanzata all'interno del sito
contatti

 

Struttura Logica

Ora che la struttura software del sistema è chiara l'importante è capire il funzionamento logico del sistema al di là degli aspetti di programmazione.
Cominciamo dicendo che si suppone che in una versione finale l'utente dovrà vedere in un comune browser la mappa e tutte le funzionalità previste per l'interazione.
Quindi inizialmente è molto importante cominciare a definire una form HTML con tutti i parametri necessari e con l'immagine dell'oggetto cartina corrente come submit della form (sarà necessario al fine di poter catturare il punto x-y su cui l'utente ha cliccato).
Tale form va inserita all'interno di una pagina ZPT che contiene tutta una serie di informazioni aggiuntive non visibili all'utente finale come valore di zoom corrente, estensione corrente, layer spenti/accesi, etc.
A questo punto si deve pensare a tutti gli script python necessari a fornire le funzionalità previste (zoom, pan, info, etc) e che dovranno interagire e scambiare informazioni con la pagina ZPT; per fare ciò vengono in aiuto dei metodi dell'oggetto cartina (oggetto ZMapServer) già definiti e semplicemente da richiamare sull'oggetto cartina corrente.
Ad esempio, una funzionalità di zoom sulla cartina ha la forma: “context.zoom(zoom_factor)” dove context è un riferimento all'oggetto cartina, zoom è il metodo da richiamare sull'oggetto e zoom_factor è un numero float che indica il fattore di zoom.
Non sempre tutti i metodi necessari sono disponibili ma facendo un buon uso di quelli presenti comunque le possibilità sono molte.
Così ora abbiamo una pagina ZPT che presenta l'immagine della cartina corrente, una serie di pulsanti per interagire con essa e degli script python incaricati di eseguire le operazioni selezionate dall'utente tramite form sulla mappa.
Questo, a grandi linee, è l'idea di struttura logica che sta alla base di tutto il sistema; ovviamente i particolari sono stati volutamente tralasciati per non fare confusione riguardo l'ordine delle operazioni così come viene naturale pensarlo.
Dal sistema così come è stato presentato è facile intuire che i linguaggi utilizzati, così come il codice scritto, siano molti e diversi tra loro sia come obiettivi che come sintassi.
Partendo dal codice Mapserver per arrivare al codice Python passando attraverso ZPT, DTML, SQL senza considerare i più comuni HTML, CSS e JAVASCRIPT.
Trattare a fondo ed in maniera esaustiva tutti questi linguaggi non è certo l'obiettivo di questo documento; tuttavia di seguito si cerca di dare una visione generale di tutti i linguaggi utilizzati rilevanti ai fini di questo sistema GIS (Mapserver,Python,ZPT, DTML).

schema


Tesi di Laurea:
"Sviluppo funzionalità gis su portale Zope"
di Marco Celotti


- Università degli studi di Udine -
-  Facoltà di Scienze Matematiche Fisiche e Naturali  -
- Dicembre 2004 -


Slide Tesi.ppt


Video Tesi.zip  [913 KB formato AVI]