Uno Sguardo nel Buio:AventuriaMap

Da Uno Sguardo nel Buio.

(Differenze fra le revisioni)
m (Nuova pagina: Uno dei progetti collaterali al wiki è Aventuria Map. Si tratta della gestione della mappa di Aventuria/Atlantide con le API di Google Map, in modo da avere una mappa del continente n...)
m (Gli strumenti)
Riga 59: Riga 59:
La verifica del codice javascript è stata realizzata sia su Firefox 3.0.14 che su IE7, entrambi dotati dei plugin necessari al debug di javascript e CSS.
La verifica del codice javascript è stata realizzata sia su Firefox 3.0.14 che su IE7, entrambi dotati dei plugin necessari al debug di javascript e CSS.
 +
 +
== Riferimenti ==
 +
 +
* [http://www.gimp.org GIMP]  è uno dei sofware di grafica opensource utilizzati, specialmente per ripulire le mappe e allineare eventuali distorsioni causate dal processo di scansione;
 +
* [http://www.getpaint.net/index.html Paint.NET]  è un software opensource di grafica, molto utile per il processo di riunione di mappe, gestisce molto bene immagini di grandi dimensioni, anche su macchine 32 bit;
 +
* [http://econym.org.uk/gmap/ Google Map Tutorial]  è il tutorial di Mike Williams su Google Map: un punto di partenza che espone in modo chiaro tutti gli aspetti relativi a Google Map, ricco di esempi ed indicazioni sulle scelte da intraprendere per raggiungere i propri obbiettivi;
 +
* [http://code.google.com/intl/it-IT/apis/maps/documentation/index.html Documentazione Google map]  è la documentazione ufficiale sulle API di Google Map, ricca ed esauriente, presenta adesso anche le nuove API versione 3;
 +
* [http://googlemapsapi.blogspot.com/2007/12/extinfowindow-10-ajax-powered-css.html ExtInfoWindow]  è l'estensione utilizzata per personalizzare le finestre informative con i nostri CSS;
 +
* [http://php.net/index.php PHP]  è il linguaggio utilizzato per la realizzazione delle componenti server;
 +
* [http://www.mysql.it/ MySQL]  è il motore del nostro database;

Versione delle 21:48, 30 ott 2009

Uno dei progetti collaterali al wiki è Aventuria Map. Si tratta della gestione della mappa di Aventuria/Atlantide con le API di Google Map, in modo da avere una mappa del continente navigabile ed in cui sia possibile posizionare le città, i luoghi più importanti e i percorsi delle avventure.

Per una più efficiente e comoda fruibilità di Aventuria Map si è deciso di creare un sottodominio ad hoc, quindi per accedere all'attuale versione di Aventuria Map è sufficiente accedere a http://maps.usnb.it .

Indice

La realizzazione

La realizzazione del progetto, allo stato attuale, ha richiesto una serie di operazioni fondamentali, che vedremo nel dettaglio, in particolare:

  • scansione ed acquisizione delle mappe originali
  • combinazione delle mappe
  • la realizzazione delle tiles
  • la realizzazione del javascript per implementare il map con le api di Google Map
  • la realizzazione delle componenti server

Acquisizione delle mappe

Sono stati acquistati i primi due Kartenset ufficiali, quelli relativi al sud ed alla regione centrale del continente. Il terzo Kartenset non è stato trovato, quindi è stato necessario reperire le singole mappe.

L'acquisizione è stata effettuata a 300 dpi, un buon compromesso tra qualità e dimensione dei file; gli originali file nel formato TIFF sono stati poi convertiti in PNG, poiché quest'ultimo formato consente una buona compressione senza perdita di qualità.

Combinazione delle mappe

Questa è stata una delle fasi più onerose. In molti casi, stante le dimensioni dei file ottenuti, non è stato possibile lavorare con intere immagini, quindi si è provveduto a tagliarle in almeno un paio di immagini componenti.

Si è subito notato che:

  • le mappe non avevano tutte la stessa base cromatica, forse perché realizzate in tempi diversi o stampate con tecniche diverse. Uniformare i colori si è subito dimostrato un compito di una certa complessità quindi si è preferito soprassedere accettando l'idea di avere riquadri con colori differenti. La difformità maggiore è stata senza dubbio l'isola di Maraskan.
  • mappe contigue non si sovrapponevano, anche qui probabilmente perché realizzate in tempi diversi e non con l'idea di combinarle (idea forse venuta in un secondo momento, poiché le mappe più recenti si combinavano abbastanza bene). In questo caso si è provveduto a riscalare zone di mappe per portare a coincidere fiumi e strade, in alcuni casi si sono dovute ridisegnare zone di bordo per spostare fiumi o strade.

Alla fine, pensando alla realizzazione delle tiles della fase successiva, tutte le mappe sono state ricombinate in riquadri di 4096 x 4096 pixel.

Le Tiles

Come è noto, le API di Google Map si aspettano di gestire layers ottenuti combinando tasselli (tiles) quadrati di 256 pixel di lato. Fissato il livello di zoom, ogni riquadro è identificato da due numeri progressivi (riga e colonna).

3. google map 3.1 proiezione euclidea: controllo custom projection 3.2 proiezione euclidea: controllo custom scale 3.3 i parametri di url 3.4 info window custom 3.5 le chiamate al wiki 3.6 la struttura dati mySQL 3.7 custom marker

4. le tiles 4.1 posizionamento della mappa: il meridiano di vinsalt 4.2 posizionamento della mappa: i paralleli 4.3 scelta del dimensionamento del continente: x2 4.4 il tile cutter


Le cose da fare

  • occorre realizzare una interfaccia per consentire agli utenti autorizzati l'inserimento di oggetti sulla mappa;
  • va integrato il wiki in maniera tale che sia possibile raggiungere la mappa dalle pagine che lo richiedano, così, ad esempio, in ogni pagina delle città deve essere disponibile un link che apra Aventuria Map centrata sulla città medesima;
  • le polilinee devono essere gestite nel formato codificato per poter evitare tempi di ridisegno eccessivi.

Gli strumenti

Per l'acquisizione si è utilizzato uno scanner A3 dell'AGFA con relativo software.

Gli interventi grafici di correzione e combinazione sono stati realizzati con i software open source GIMP e Paint.NET. Quest'ultimo si è rivelato molto utile per la sua capacità di gestire in memoria mappe molto grandi. GIMP è stato utilizzato per tutti gli interventi di editing, quali il recupero della leggera deformazione creata dall'acquisizione, la rimozione dei bordi, il riscalamento delle immagini, il ridisegno di fiumi, strade ed altri elementi di contorno da portare a combaciare.

La verifica del codice javascript è stata realizzata sia su Firefox 3.0.14 che su IE7, entrambi dotati dei plugin necessari al debug di javascript e CSS.

Riferimenti

  • GIMP è uno dei sofware di grafica opensource utilizzati, specialmente per ripulire le mappe e allineare eventuali distorsioni causate dal processo di scansione;
  • Paint.NET è un software opensource di grafica, molto utile per il processo di riunione di mappe, gestisce molto bene immagini di grandi dimensioni, anche su macchine 32 bit;
  • Google Map Tutorial è il tutorial di Mike Williams su Google Map: un punto di partenza che espone in modo chiaro tutti gli aspetti relativi a Google Map, ricco di esempi ed indicazioni sulle scelte da intraprendere per raggiungere i propri obbiettivi;
  • Documentazione Google map è la documentazione ufficiale sulle API di Google Map, ricca ed esauriente, presenta adesso anche le nuove API versione 3;
  • ExtInfoWindow è l'estensione utilizzata per personalizzare le finestre informative con i nostri CSS;
  • PHP è il linguaggio utilizzato per la realizzazione delle componenti server;
  • MySQL è il motore del nostro database;

Strumenti personali
Translate
Facebook