Home

Wiki page

MapChart allows you to create graphs on a map in more detail than Google Sheets or Excel allow. However, first you need to know the coordinates of the positions on which you want to plot the data, the Geocoder does this automatically.

MapChart permette di creare grafici su una mappa in maniera più dettagliata di quanto permettano Google Fogli o Excel. Prima però è necessario conoscere le coordinate delle posizioni su cui si vuole tracciare i dati, il Geocoder lo fà in maniera automatica.

Geocoder

city prov reg index
Agrigento AG SIC 55512
Alessandria AL PIE 91059

Before starting, you need a csv file with, at least, the first row with "city" and "index" and a second one with values. You can see that you can provide more than two colums with different order. Now you can add latitude and longitude with geocoder. The result file should be similar to this.

Prima d'iniziare, hai bisogno di un file .csv che abbia nella riga d'intestazione almeno "city", la città da cercare, e "index", l'indice che verrà visualizzato in seguito sulla mappa. Possono essere presenti anche altri campi che però non verranno considerati dal programma. Quindi inserendolo all'interno del Geocoder avrai latitudine e longitudine (esempio).

On the geocoder page, you can check the box to choose for evey query the correct city when there is more than one result. From one instance to another the program waits 2 seconds to comply with API service policies, so it might take a while to get the result.

Puoi decidere se spuntare l'opzione per la scelta delle città quando viene trovato più di un risultato. Per ogni città cercata il programma aspetta 2 secondi per rispettare le policy del servizio API, per cui per liste lunge potrebbe volerci un po' prima di avere il file

CSV Fromat File

The CSV file from the generator is returned with semicolons as separator. Expecially with commas, if you are using Excel to edit the file, you will not be able to open it immediately as a normal .xml, to make it recognized you can go under data and "text in columns" and follow the guided steps.
The map generator takes indifferently commas and semicolons, if you encouner problems let me know.

Il programma genera a sua volta un csv che ha come separatore i punti e virgola. Se stai editando il file con Excel potrebbe non riconoscere subito il separatore, per farlo riconoscere puoi andare sotto la tab "Dati" in alto e usare lo strumento "Testo in colonne" e seguire la procedura.
L'editor per la mappa riconosce indistintamente virgole e punti e virgola.

Mapper

This tool provide a simple way to plot points on a map. You can define the dimension of each point from the index and decide a factor index to scale up or down.

Lo strumento fornisce un semplice modo per generare una mappa con punti di dimensione proporzionale all'indice (index) dato. Si può anche definire un fattore di scala (correction_index) per rendere la visualizzazione ottimale. Il risultato "radius" è il raggio in metri del cerchio visualizzato sulla mappa.

radius = listCity[i].index * correction_index;

The example here refers to the population of the principal cities in Italy - the border color is not implemented yet

L'esempio si riferisce alla popolazione delle principali città italiane - lo riempimento colorato non è implementato

You can use the logarithmic scale to plot data where values have very large differences in weight.

È possibile utilizzare la scala logaritmica per visualizzare meglio dati con una grande differenza di valori

radius = Math.log(Math.abs(listCity[i].index)) * correction_index * 10;

Negatives values
Valori negativi

You can also provide negative indexes and they will be plot red insted of green. Right now you can't choose other colors but it will be implemented soon.

Valori negativi generano punti rossi sulla mappa. Prossimamente sarà possibile stabilire il colore attraverso un campo aggiuntivo all'interno del file.

*This example is maded with js, not from .csv

*questo esempio è rappresentativo - non è generato dal file ma da codice

Colors and pins
Colori e pin
city lat lon index color
Torino 45.0168826 7.7499491 x violet
Pecetto Torinese 45.0168826 7.7499491 4040 #FFE156
Pino Torinese 45.039547 7.777125 8380 #0000cc

You can edit the color of the circle adding a new column called "color" specifying for each enter a hex value (# is required) of the color that you want. Leaving a empty space, you will have the default color, so green for the positives and red for the negatives indexies

Per cambiare il colore sarà necessario aggiungere una colonna "color". Ad ogni riga sarà necessario specificare l'hex (esadecimale - # è richiesto) del colore necessario alla circonferenza. Lasciando lo spazio vuoto, saranno presi i colori di default, quindi verde per i valori positivi e rosso per quelli negativi

You can add a pin instead of a circumference by replacing a value index with an "x". You can choose between 9 different colors (blue, gold, red, green, orange, yellow, violet, grey, black) [more]. If you want to add a pin on an existing circle, you can simply add a new entry with x.

Inserendo una "x" come valore d'index si può ottenere un pin al posto del cerchio. Si può scegliere tra 9 colori (blue, gold, red, green, orange, yellow, violet, grey, black) [maggiori info]. Se si desidera aggiungere un pin sopra una circonferenza basterà semplicemente ripetere l'inserimento, una volta con l'index e una con la x.

Layers

city lat lon layer visibility
Torino 45.0168826 7.7499491 City true
Pecetto Torinese 45.0168826 7.7499491 Town true
Pino Torinese 45.039547 7.777125 Town true

Adding a new column "layer" and for each element giving a name, you can toggle the visibility of groups of datas easily so it more rapid to understand trands.

È possibile, inserendo una colonna "layer" e per ogni elemento un nome corrispondente al gruppo che si vuole assegnare, rimuovere ed aggiungere livelli di visibilità.

If something goes wrong or you find a bug, please let me know with the conctact form providing the informations to reproduce the problem so I can fix it!
If you are a programmer you can find the repository on my GitHub page, I know that my coding skills suck and it's difficult to read, I'm sorry.

Se qualcosa non dovesse funzionare come atteso o fossero riscontrati bug, per favore, contattami attraverso il form fornendo le informazioni per poter riprodurre l'errore e risolverlo.
Se sai programmare, puoi trovare tutto il codice nel repository di GitHub.
Disclaimer: non sono un programmatore, per cui lo script da leggere sarà piuttosto difficile, sorry.