Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Configurare il tile server

Dal foglio di stile alla ottimizzazione di DB e Web server. Tutti i passaggi essenziali per configurare un tile server con OpenStreetMap.
Dal foglio di stile alla ottimizzazione di DB e Web server. Tutti i passaggi essenziali per configurare un tile server con OpenStreetMap.
Link copiato negli appunti

Una volta risolte tutte le dipendenze per l'installazione del tile server, il passo da compiere è la configurazione di tutti i componenti, iniziando con la configurazione di un foglio di stile.

Configurazione del foglio di stile

Scegliamo di utilizzare OSM Bright, scritto nel linguaggio CartoCSS e compilato nell'XML richiesto da Mapnik mediante uno script: per questo motivo è necessario adattare un file di configurazione ai percorsi dei file di dati della propria installazione.

Assumiamo di installare il tutto in /usr/local/share/maps/style.

Scaricare OSM Bright

È necessario scaricare sia OSM Bright che alcune risorse dati aggiuntive. Lo faremo con wget:

mkdir -p /usr/local/share/maps/style
cd /usr/local/share/maps/style
wget https://github.com/mapbox/osm-bright/archive/master.zip
wget http://data.openstreetmapdata.com/simplified-land-polygons-complete-3857.zip
wget http://data.openstreetmapdata.com/land-polygons-split-3857.zip
wget http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_populated_places_simple.zip

I dati scaricati vengono spostati in osm-bright-master.

unzip '*.zip'
mkdir osm-bright-master/shp
mv land-polygons-split-3857 osm-bright-master/shp/
mv simplified-land-polygons-complete-3857 osm-bright-master/shp/
mv ne_10m_populated_places_simple osm-bright-master/shp/

Si crea quindi un file di indici per ciascuno degli shapefile.

cd osm-bright-master/shp/land-polygons-split-3857
shapeindex land_polygons.shp
cd ../simplified-land-polygons-complete-3857/
shapeindex simplified_land_polygons.shp
cd ../

Configurare OSM Bright

Ora bisogna personalizzare il file di configurazione di OSM Bright perchè possa generare appropriatamente OSMBright.xml, utilizzando gli shapefile decompressi al passo precedente. Apriamo perciò il file osm-bright/osm-bright.osm2pgsql.mml con un editor di testo.

In questo file, tutti gli URL relativi terminanti in .zip devono essere sostituiti con il percorso relativo al file decompresso, aggiungendo la riga "type": "shape" sotto ognuno di essi.

"file": "/usr/local/share/maps/style/osm-bright-master/shp/land-polygons-split-3857/land_polygons.shp",
"type": "shape"
"file": "/usr/local/share/maps/style/osm-bright-master/shp/simplified-land-polygons-complete-3857/simplified_land_polygons.shp",
"type": "shape",
"file": "/usr/local/share/maps/style/osm-bright-master/shp/ne_10m_populated_places_simple/ne_10m_populated_places_simple.shp",
"type": "shape"

Infine, nella sezione che contiene ne_places, sostituiamo le righe "srs" ed "srs-name" con la riga seguente per impostare il sistema di proiezione della mappa:

"srs": "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"

Compilare il foglio di stile

È necessario effettuare un preprocessing con uno script proprio di OSMBright, che va adattato al proprio scenario:

cp configure.py.sample configure.py
nano configure.py

Sostituiamo a questo punto la riga che punta a ~/Documents/Mapbox/project con /usr/local/share/maps/style, e cambiamo il nome del database dbname da osm a gis.

Quindi eseguiamo quanto segue:

./make.py
cd ../OSMBright/
carto project.mml > OSMBright.xml

In questo modo abbiamo memorizzato un foglio di stile XML per Mapnik in /usr/local/share/maps/style/OSMBright/OSMBright.xml.

Configurazione del server web

Perchè sia possibile servire i tile bisogna configurare ed eseguire renderd, oltre ad aggiungere mod_tile tra i moduli di Apache.

Configurazione renderd

1. All'interno del file /usr/local/etc/renderd.conf, decommentiamo e modifichiamo le righe indicate come segue:

socketname=/var/run/renderd/renderd.sock
plugins_dir=/usr/local/lib/mapnik/input
font_dir=/usr/share/fonts/truetype/ttf-dejavu
XML=/usr/local/share/maps/style/OSMBright/OSMBright.xml
HOST=localhost

2. Creiamo quindi le seguenti directory per renderd:

sudo mkdir /var/run/renderd
sudo chown username /var/run/renderd
sudo mkdir /var/lib/mod_tile
sudo chown username /var/lib/mod_tile

Configurare mod_tile

1. Creiamo il file /etc/apache2/conf-available/mod_tile.conf, contenente:

LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so

2. Per semplicità, si suppone di utilizzare il sito di default configurato in Apache. Modifichiamo il file /etc/apache2/sites-available/000-default.conf, aggiungendo quanto segue subito dopo la riga dell'indirizzo email dell'amministratore:

LoadTileConfigFile /usr/local/etc/renderd.conf
ModTileRenderdSocketName /var/run/renderd/renderd.sock
# Timeout richiesta di rendering di un tile
ModTileRequestTimeout 0
# Timeout richiesta di rendering di un tile non presente nella cache
ModTileMissingRequestTimeout 30

3. Attivare la configurazione per mod_tile, e ricaricare Apache:

a2enconf mod_tile
service apache2 reload

Messa a punto del sistema

Un tile server impegna notevolmente il sistema che lo esegue. Di seguito, quindi, ecco alcuni suggerimenti per migliorarne le prestazioni.

Messa a punto di postgresql

Modifichiamo il file /etc/postgresql/9.1/main/postgresql.conf con queste impostazioni:

shared_buffers = 128MB
checkpoint_segments = 20
maintenance_work_mem = 256MB
autovacuum = off

Per lanciare PostgreSQL con questi nuovi parametri, è necessario inserire nel file /etc/sysctl.conf la riga kernel.shmmax=268435456.

A questo punto, dopo il riavvio del computer, otterremo l’incremento di prestazioni desiderato.

Ti consigliamo anche