La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea.

Presentazioni simili


Presentazione sul tema: "Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea."— Transcript della presentazione:

1 Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco 1

2 Introduzione Lelaborato riguarda la creazione di un applicativo web progettato per evidenziare landamento dei partiti politici dal 1946 al 2008 in Italia. Tale applicativo è stato acquistato dalla società YouTrend.it che si occupa di analisi geopolitiche e consulenza nellambito politico. Per progettare tale applicativo sono stati utilizzati i dati estratti dal Ministero dellInterno aggregati a livello nazionale, regionale, provinciale, comunale e inseriti su una cartina di Google Maps appositamente adattata allo scopo. Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco 2 La Mappa geopolitica di YouTrend è il risultato di un tirocinio durato circa 6 mesi. E stato un progetto chiavi in mano e mi sono occupato: della parte di scraping dei dati dallo storico del Ministero dellInterno e dei file KML; progettazione e realizzazione dei tre database; del lato server e client; interazioni con il cliente per la risoluzione di problemi riguardanti per lo più laggregazione dei dati.

3 Obiettivi raggiunti creazione di un innovativo applicativo web di facile consultazione politica; connettività multipla e simultanea senza un drastico calo delle prestazioni grazie alluso di tabelle di cache; lideazione di un nuovo modo di consultare dati politici differente dalla classica tabella o lungo elenco ma attraverso una vera e propria mappa colorata in base al partito vincente; possibilità di conoscere la distribuzione politica attraverso la sola colorazione sfumata delle singole aree sulla mappa; utilizzo delle API di Google Maps in un modo del tutto nuovo. Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco 3

4 Alcune Videate: Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco 4 Mappa di TUTTE le REGIONI del Mappa di TUTTE le PROVINCE della REGIONE SELEZIONATA Mappa di TUTTI i COMUNI della PROVINCIA SELEZIONATA Mappa con SELEZIONATO il COMUNE di interesse. Grafico sullandamento dei partiti tra le diverse aree della gerarchia. (destra) Grafico per anni di elezione. (in basso) Mappa di TUTTE le PROVINCE del Mappa di TUTTI i COMUNI del (tempo di attesa intorno ai 120 secondi) ZOOM della mappa di TUTTI i COMUNI del Mappa di TUTTE le REGIONI del 2008 colorate in base alle COALIZIONI. Mappa di TUTTE le REGIONI del 1946 in modalità DISTRIBUZIONE del partito PCI.

5 Tecnologie e Frameworks utilizzati Per la progettazione sono state utilizzate principalmente le API di Google Maps versione 3 insieme alle seguenti tecnologie e Frameworks: Java J2EE per tutta la parte di back-end, utilizzo dei DTO e DAO per il reperimento dei dati dal database e passaggio dei risultati al client; Framework Struts 2 per la mappatura delle chiamate back-end (lato server) con la parte client. Vengono mappate le varie JSP con le Action associate; Framework Spring per IOC (Inversion Of Controls) cioè automatizzazione del ciclo di vita degli oggetti. Linizializzazione di oggetti tipo Hibernate, JDBC e Web Server è demandata a Spring e vengono utilizzati come proprietà, cone metodi get() e set(). Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco 5

6 Tecnologie e Frameworks utilizzati Hibernate per ORM(Object Relational Mapping), cioè per la mappatura della base di dati in classi Java. Utilizzo dei DAO; JDBC per laccesso diretto al database MySql; JavaScript e JQuery per lutilizzo delle API di Google Maps, Google Charts e per la realizzazione di effetti grafici e sliding; AJAX+JSON per linterazione tra client e server in Cross- Domain nello scambio di messaggi per il popolamento della mappa e dei vari grafici in base ai filtri scelti dallutente. HTML5 + CSS3 per il layout e stile dellapplicativo. Sono stati inseriti anche dei commenti condizionali per la risoluzione dei problemi tra i browsers e per il riconoscimento dei dispositivi che supportano WebKit. Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco 6

7 Ambienti di sviluppo e analisi dei dati Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco 7 Come ambienti di sviluppo sono stati scelti: Eclipse IDE J2EE e MySQL; SqlYog per i test delle query SQL utilizzate e per backup; PhpMyAdmin per la gestione remota e locale del database; Tomcat 6.0 come Web Server. Per l analisi dei dati sono stati creati dei grafici utilizzando le API di Google Charts Tools. E stato possibile così evidenziare landamento dei vari partiti politici nei vari anni richiesti dallutente per una specifica area geografica.

8 WebScraping (o parsing) Per il reperimento dei dati dal sito del Ministero dellInterno sono stati creati degli appositi parser che importavano il contenuto dei link attraversati, nel database di supporto e backup Elezioni. La creazione del parser è stata abbastanza complessa perché le pagine del Ministero dellInterno sono state strutturate in modo diverso negli anni: dal 1946 al 1992, la struttura del layout è divisa in: Area, Circoscrizione, Provincia e Comune. dal 1994 al 2001 è diventata: Area, Circoscrizione, Collegio e Comune. dal 2006 al 2008 invece è uguale al 1946–1992, però con le coalizioni: destra, sinistra e centro. Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco 8

9 WebScraping (o parsing) Al cliente interessavano i dati aggregati a livello di comune, provincia, regione e nazione. come tecnologia si è scelto di usare DAO-Hibernate. Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco 9 Parser Java Database di supporto e backup: Elezioni Aggregatore Java Database finale: Elezioni_RPC

10 Passaggio dei valori Client-Server Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco 10 Lato client: chiamate Ajax per rendere più fluida la consultazione facendo reloading parziali; tecnologia JSON per risolvere il problema di Cross-Domain tra il sito YouTrend (front-end: index.html) e il web server Tc-Web ( back-end + database). Lato server: utilizzo di Java J2EE + Struts 2 (Action JSP) + JSTL Lato database: utilizzo di DTO-JDBC lato consultazione della mappa; utilizzo di DAO-Hibernate lato amministratore.

11 Passaggio dei valori Client-Server Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco 11 rispostaAJAX_RegioniTutte (ExtraAction_regioniTutte.action? parData="+parametro_data); …… private List regioniZG = new ArrayList (); /*creazione dei GET e SET*/ … public String regioniTutte(){ … for (RegioneIstatDTO regioneJDBC : regioniJDBC) { … DescrizioneDTO r = new DescrizioneDTO(); … regioniZG.add(r); } … return "regioniTutte"; } … /WEB-INF/jsp/elencoRegioniJson.jsp … chiamata delle ACTION- Java tramite AJAX-JSON ACTION mappate con le JSP tramite Struts 2 redirect su JSP-JSTL

12 Creazione degli overlay con Google Maps Le coordinate delle regioni, province e comuni per la creazione degli overlay(poligoni) sono state trovate in rete in formato KML. Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco 12 Alcuni di questi file sono stati scoperti essere incompleti e/o errati perciò è stata scritta una funzione ad-hoc, per il reperimento e generazione dei punti mancanti, allo scattare dellevento click sulla mappa (operazione eseguita a mano).

13 Creazione degli overlay con Google Maps Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco 13 Lato Server: Viene fatto un check sullattributo stringa_Google per larea interessata, se risulta inesistente(null), viene chiamata una procedura che legge tutte le coordinate di quella specifica area, ne fa una cernita in base al rispetto di una distanza minima pre- impostata e le passa al metodo createEncoding() della classe PolylineEncoder che le elabora, ne produce la stringona poi memorizzata nel database e utilizzata lato client per loverlay dellarea. Lato Client: Vengono usate le API di Google Maps che si occupano della decodifica delle stringone [google.maps.geometry.encoding.decodePath()] e della creazione dei poligoni [google.maps.Polygon()] in cui vengono impostati opacità, colore e abilitazione al evento click per la navigazione in mappa tra le diverse aree. Eventualmente al poligono creato viene associato un marker custom in cui compare un icona descrittiva del nome dellarea sottostante [google.maps.Marker() e google.maps.MarkerImage()]. Tabella coordinate e stringone Google

14 Conclusioni Attualmente lapplicativo è stato acquistato dalla società YouTrend. Lapplicativo è attualmente online ed è di libero accesso. I browser supportati sono quelli di ultima generazione. JavaScript deve essere attivo. Altrimenti la parte AJAX/JSON e le API di Google non funzionano. Problemi riscontrati: Durante lo sviluppo sono stati riscontrati problemi per il caricamento della Mappa Google durante loperazione di filtraggio a livello di comuni. Questo perchè il numero di poligoni (overlays) da creare / caricare e le relative informazioni di contorno sono notevoli. Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco 14 Migliorie future: migliorare il filtraggio a livello di comuni; di aumentare le performance si ha intenzione di di più utenti connessi; aggiunta di nuovi grafici per effettuare analisi statistiche più mirate e precise; integrazione di report personalizzabili dallutente con possibilità di download in PDF e Excel; implementazione di unarea di accesso a crediti; sviluppo di una web-app per tutti i dispositivi che supportano WebKit (Android, iPhone e iPad).

15 Grazie per lAttenzione. Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco 15


Scaricare ppt "Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea."

Presentazioni simili


Annunci Google