15
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

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

Embed Size (px)

Citation preview

Page 1: Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea

Politecnico di Torino Corso di Laurea in Ingegneria Informatica

Progettazione di mappa geopolitica per YouTrend

Politecnico di Torino - Tesi di Laurea SpecialisticaPasturenzi Francesco

1

Page 2: Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea

Introduzione

L’elaborato riguarda la creazione di un applicativo web progettato per evidenziare l’andamento 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 nell’ambito politico.

Per progettare tale applicativo sono stati utilizzati i dati estratti dal Ministero dell’Interno 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 SpecialisticaPasturenzi 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 dell’Interno 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ù l’aggregazione dei dati.

Page 3: Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea

Obiettivi raggiunti creazione di un innovativo applicativo web di facile

consultazione politica;

connettività multipla e simultanea senza un drastico calo delle prestazioni grazie all’uso di tabelle di cache;

l’ideazione 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 SpecialisticaPasturenzi Francesco

3

Page 4: Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea

Alcune Videate:

Politecnico di Torino - Tesi di Laurea SpecialisticaPasturenzi Francesco

4

Mappa di TUTTE le REGIONI del 1946.

Mappa di TUTTE le PROVINCE della REGIONE SELEZIONATA 1946.

Mappa di TUTTI i COMUNI della PROVINCIA SELEZIONATA 1946.

Mappa con SELEZIONATO il COMUNE di interesse.

Grafico sull’andamento dei partiti tra le diverse aree della gerarchia. (destra)

Grafico per anni di elezione. (in basso)

Mappa di TUTTE le PROVINCE del 1946.

Mappa di TUTTI i COMUNI del 1946.

(tempo di attesa intorno ai 120 secondi)

ZOOM della mappa di TUTTI i COMUNI del 1946.

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”.

Page 5: Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea

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. L’inizializzazione 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 SpecialisticaPasturenzi Francesco

5

Page 6: Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea

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 l’accesso diretto al database MySql; JavaScript e JQuery per l’utilizzo delle API di Google Maps, Google Charts e per la realizzazione di effetti grafici e sliding; AJAX+JSON per l’interazione 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 dall’utente. HTML5 + CSS3 per il layout e stile dell’applicativo. 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 Francesco6

Page 7: Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea

Ambienti di sviluppo e analisi dei dati

Politecnico di Torino - Tesi di Laurea SpecialisticaPasturenzi 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 l’andamento dei vari partiti politici nei vari anni richiesti dall’utente per una specifica area geografica.

Page 8: Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea

WebScraping (o parsing)

Per il reperimento dei dati dal sito del Ministero dell’Interno 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 dell’Interno 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

Page 9: Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea

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 JavaDatabase finale: ”Elezioni_RPC”

Page 10: Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea

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 (ActionJSP) + JSTLLato database: utilizzo di DTO-JDBC lato consultazione della mappa; utilizzo di DAO-Hibernate lato amministratore.

Page 11: Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea

Passaggio dei valori Client-Server

Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco

11

rispostaAJAX_RegioniTutte(“ExtraAction_regioniTutte.action?parData="+parametro_data);

<j:array items="${regioniZG}" var="regione"><j:object><j:property name="data" value="${regione.data}" /><j:property name="coordinate" value="${regione.coordinate}" /><j:property name="legenda_colore" value="${regione.legenda.colore}" /><j:property name="legenda_partito" value="${regione.legenda.partito}" />……

private List<DescrizioneDTO> regioniZG = new ArrayList<DescrizioneDTO>();/*creazione dei GET e SET*/…public String regioniTutte(){ … for (RegioneIstatDTO regioneJDBC : regioniJDBC) { … DescrizioneDTO r = new DescrizioneDTO(); … regioniZG.add(r); } … return "regioniTutte";}

…<action name="ExtraAction_*" method="{1}" class="tp.web.ExtraAction"> <result name="regioniTutte"> /WEB-INF/jsp/elencoRegioniJson.jsp </result></action>…

chiamata delle ACTION-Java

tramite AJAX-JSON

ACTION mappate con le JSP tramite Struts 2

redirect su JSP-JSTL

Page 12: Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea

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 dell’evento click sulla mappa (operazione eseguita a mano).

Page 13: Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea

Creazione degli overlay con Google Maps

Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco

13

Lato Server:

Viene fatto un check sull’attributo “stringa_Google” per l’area 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 l’overlay dell’area.

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 dell’area sottostante [google.maps.Marker() e google.maps.MarkerImage()].

Tabella coordinate e stringone Google

Page 14: Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea

Conclusioni

Attualmente l’applicativo è stato acquistato dalla società YouTrend. L’applicativo è 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 l’operazione 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 dall’utente con

possibilità di download in PDF e Excel; implementazione di un’area di accesso a crediti; sviluppo di una web-app per tutti i dispositivi che

supportano WebKit (Android, iPhone e iPad).

Page 15: Politecnico di Torino Corso di Laurea in Ingegneria Informatica Progettazione di mappa geopolitica per YouTrend Politecnico di Torino - Tesi di Laurea

Grazie per l’Attenzione.

Politecnico di Torino - Tesi di Laurea Specialistica Pasturenzi Francesco

15