TileMill | prima installazione su Debian

In questo breve post volevo tenere traccia delle operazioni eseguite per installare TileMill su Debian. Sul sito si trovano i pacchetti per Ubuntu, Mac OS X e Windows…..Io uso Debian in genere (anche i due timidi serverini che gestisco) e volevo capire se era fattibile: si!

Ho seguito passo-passo le istruzioni riportate nella pagina “Building from source” e ne riassumo i passi salienti:

– controllare di avere i python development headers, libbz2, libicu, boost, icu, proj4 ed altre svariate librerie di immagini (synaptic aiuta molto);

– installare boost da sorgente (la versione pacchettizzata per Debian non è aggiornata) seguendo questi passi:

(piccolo inciso: in genere – ma questa è una mia prassi – le compilazioni le faccio all’interno di una directory chiamata “src” e per ogni pacchetto creo una subdirectory ad hoc).

creare una directory per la compilazione:

$ mkdir boost

spostarsi nella dir creata:

$ cd boost

scaricare il sorgente con:

$ wget http://voxel.dl.sourceforge.net/project/boost/boost/1.51.0/boost_1_51_0.tar.bz2

decomprimere il tar:

$ tar xjvf boost_1_51_0.tar.bz2

spostarsi nella dir ottenuta dalla decompressione:

$ cd boost_1_51_0

lanciare il comando

$ ./bootstrap.sh

poi in sequenza:

$ ./b2 stage toolset=gcc –with-thread –with-filesystem –with-python –with-regex -sHAVE_ICU=1 -sICU_PATH=/usr/ –with-program_options –with-system link=shared

$ ./b2 install toolset=gcc –with-thread –with-filesystem –with-python –with-regex -sHAVE_ICU=1 -sICU_PATH=/usr/ –with-program_options –with-system link=shared

infine autenticarsi come root ed impartire:

# ldconfig

Poi installare anche boost >= 1.47, icu, proj4, libpng, libjpeg, libtiff, libxml2, libltdl, e freetype (a meno di averle già)

– Passiamo ora all’installazione di Mapnik (motore di rendering per TileMill). Come prima creiamo una dir per la compilazione:

$ mkdir mapnik

ci spostiamo nella dir

$ cd mapnik

e scarichiamo il sorgente con:

$ wget https://github.com/downloads/mapnik/mapnik/mapnik-v2.1.0.tar.bz2

decomprimiamo:

$ tar xf mapnik-v2.1.0.tar.bz2

ci spostiamo nella nuova directory:

$ cd mapnik-v2.1.0

e lanciamo il configure:

$ ./configure (durante il configure sono stato avvisato della mancanza di alcune librerie – che mi erano sfuggite – le ho quindi installate con synaptic e poi ho reimpartito il configure)

poi il make

$ make

ed infine il make install (come root):

# make install

– E’ la volta di Node.js: compiliamo anche questo (come prima creiamo la dir di lavoro):

$ mkdir nodejs

ci spostiamo della dir nuova:

$ cd nodejs

scarichiamo il sorgente:

$ wget http://nodejs.org/dist/v${VERSION}/node-v${VERSION}.tar.gz (nel mio caso ho scaricato la versione v0.8.14 quindi la stringa “v${VERSION}” diventa “v0.8.14”)

decomprimiamo:

$ tar xf node-v0.8.14.tar.gz

ci spostiamo nella dir:

$ cd node-v0.8.14

e lanciamo configure, make e make install

$ ./configure && make

e come root:

# make install

Prima di passare all’installazione di TileMill installare un’altra dipendenza chiamata “libwebkit-dev” che si può tranquillamente installare con “apt-get install libwebkit-dev”

Ed ora passiamo a TileMill:

$ mkdir tilemill

ci spostiamo nella dir:

$ cd tilemill

scarichiamo il sorgente:

$ git clone https://github.com/mapbox/tilemill.git

poi si entra nella dir ottenuta:

$ cd tilemill

ed infine si installa tutto mediante “npm”

# npm install

<inizio NB>:La prima volta che ho lanciato “npm install” il comando è terminato con degli errori riferiti a nodejs. La causa era una versione troppo recente di nodejs avendo inizialmente installato la versione v0.9.1. Installando la v0.8.14 dopo avere rimosso la v0.9.1 tutto è andato a buon fine. La rimozione di nodejs si può fare così (fonte il mitico stackoverflow):

– lanciare il comando “which node” che dovrebbe ritornare qualcosa come “/usr/local/bin/node”

– poi ci spostiamo in /usr/local/bin/node”

– e lanciamo come root:

# rm -r bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node.1

Poi possiamo ritornare a scaricare la nuova versione di nodejs ed a ricompilare. <fine /NB>

Una volta che tutto è compilato lanciare il comando:

$ ./index.js

compare l’interfaccia di TileMill. Analogo risultato si ottiene mediante un browser puntando su “http://localhost:20009&#8221;.

Ed ecco un paio di screenshot:

Tile Mill versione desktop

Tile Mill versione web

il mio primo “hello world” con TileMill

Ushahidi

La definizione che capeggia nella home page del progetto è:

We are a non-profit tech company that develops free and open source software for information collection, visualization and interactive mapping

Ho sentito parlare per la prima volta di Ushahidi nel 2010 (inizio) quando Napo mi ha girato un link a riguardo.

Mi sono subito cimentato per installarlo ma per mancanza di tempo non ho avuto modo di arrivare alla fine e di testarlo.

Per ora inserisco questo video (tratto dal sito stesso del progetto)

ma appena riesco a cimentarmi meglio vorrei riportare un resoconto.

Nel frattempo ho provato la versione crowdmap che consente di realizzare da subito un sito proprio confezionato con una applicazione dimostrativa delle funzionalità dei Ushahidi. Tostissimo! Qui il test che ho fatto.

Render di dati OSM con Mapnik: uno stile slippy map like

Da un po’ di tempo sto cercando di approfondire Openlayers. Tra le tante cose sto cercando di creare delle tiles “in casa” attraverso Mapnik e di “vestirle” con uno stile per quanto possibile simile alla slippy map do OSM.
Per il render con Mapnik è necessario disporre di un file (notoriamente ma non ncecessariamente chiamato osm.xml) per l’impostazione degli stili di render delle way, dei simboli, ecc… alle varie scale. Attualmente non è disponibile un osm.xml che crei in maniera fedele lo stile della slippy map. Per questo motivo ho cercato di crearne uno a partire dal file reperibile da qui.

Le modifiche fatte sono, per ora, molto ridotte ma consentono di ottenere delle tiles un po’simili a quelle di OSM. Il file per gli stile è scaricabile da qui. Il formato è l’odt (wordpress non consente di caricare file XML). L’intenzione è di rendere disponibili i futuri aggiornamenti. Stay tuned sul link riportato.

pmapper | export in XLS dei dati di una query

Pmapper: i dati visualizzati in forma tabellare quando si interroga la mappa con il pulsante di “interrogazione” o mediante ricerca possono essere esportati in formato PDF, CSV e XLS. Quest’ultima opzione non funziona di default. E’ necessario avere installato il pacchetto “pear”. In Debian procedere con:

# apt-get install php-pear

Viene scaricato e installato (come dipendenza) anche il pacchetto “php5-cli”

Una volta installato (da root) lanciare il comando: (reperito da qui):

# pear install -f OLE

poi

# pear install -f Spreadsheet_Excel_Writer

Fatto.

Mapserver 5

Passando da Mapserver 4.10 a Mapserver 5 sono state fatte alcune modifiche alla sintassi del MAPFILE.
Es: per indicare la colonna in base alla quale ruotare dei simboli non si usa più la sintassi:

ANGLE (o ANGLEITEM) “nome_colonna”

ma

ANGLE [nome_colonna]

con il nome della colonna origine racchiuso tra parentesi quadre.

——————————-

Problema con il fill di elementi poligonali.
In Mpaserver 5 il parametro TRANSPARENCy è stato deprecato. Al suo posto esiste OPACITY con valori che vanno da 0 (zero) = trasparente a 100 = colore pieno.
Se si vuole mantenere TRANSPARENCY (ancora riconoscituo, benchè deprecato) impostare 0 (zero) per avere la massima trasparenza e 99 per avere un colore pieno.