[Talk-it] Script per creare mappe obf (OsmAnd) senza problemi di OutOfMemory

Stefano Droghetti stefano.droghetti a gmail.com
Mar 5 Lug 2016 07:18:04 UTC


Ecco a voi lo script che permette di fabbricarsi in casa una mappa obf 
(per OsmAnd) anche con un PC con pochi giga di RAM. Questo script usa 
OsmAndMapCreator ma prima suddivide la mappa, renderizza i pezzi uno per 
uno, e poi li riunisce in un'unica mappa.

Lo potete scaricare da qua:
https://drive.google.com/open?id=0B_9DH8lxMw2bT3lKaEJfOFlCTE0

È per Linux. Testato su Xubuntu 16.04 a 64 bit.

Sul mio i5, ad oggi (inizio di luglio 2016) impiega due ore e mezza per 
fabbricare la mappa dell'Italia. Le dimensioni non aumentano troppo, 
direi di una volta e mezzo al massimo: oggi la mappa pbf dell'Italia era 
di 1.2GB, mentre la mappa obf creata era di 1.8GB. Ci saranno problemi 
quando supererà i 4GB, dato che non potrà più entrare nelle SD di 
Android, formattate in FAT32.

Ovviamente chiunque volesse crearne una versione per Windows o volesse 
testarlo su Mac (o persino su Android... perché no?) è il benvenuto, 
dato che io purtroppo non ho idea di come fare per sistemi non Linux.


Come installarlo e come usarlo:

- prima di tutto installare due programmini fondamentali per far 
funzionare lo script
sudo apt-get install aria2 zenity
(questo script usa aria2c invece di wget in quanto wget, per grossi 
file, sulla 16.04 dà spesso errore di segmentazione)

- Ovviamente dovete avere anche Java JRE. Sulla famiglia *buntu 16.04, 
la versione open si installa così:
sudo apt-get install openjdk8-jre
Oppure così per avere la versione Oracle ufficiale (ma proprietaria):
|sudo add-apt-repository ppa:webupd8team/java
|sudo apt-get install |oracle-java8-installer
|
- Salvate il file Osmux2.tar.bz2 dove volete. Poi ci andate sopra col 
tasto destro e scegliete "Estrai qui"

- Vi ritroverete con una cartella Osmux. Entrateci.

- Cliccando col tasto destro su una parte vuota della finestra, 
scegliete "Apri un terminale qui"
N.B.: nessun problema per Xubuntu, Kubuntu e Lubuntu, ma forse su Ubuntu 
questa funzione non c'è. Per installarla basta digitare:
sudo apt-get install nautilus-open-terminal
(non fatelo se non avete Ubuntu)

- Ora potete lanciare due versioni diverse dello stesso script. Una ha 
delle finestrine di dialogo che vi chiedono la memoria da allocare e il 
file da trasformare, un'altra invece fa tutto da sola, compreso lo 
scaricamento dell'ultimissima versione dell'Italia.

- Per lanciare la versione con le finestre di dialogo scrivere:
./go.sh

- Per lanciare la versione automatica scrivere:
./auto.sh

- "go.sh" vi chiede la memoria minima e la memoria massima. Se lasciate 
tutto vuoto vi lascia il default, che è di 128MB per quella minima, e 
3GB per quella massima. In realtà si può comodamente impostare a 2GB, 
quest'ultima, e in una delle prossime versioni farò qualche prova per 
ridurre il default al minimo indispensabile, che dipende dalla grandezza 
dei pezzi in cui viene spezzettata la mappa. Vi chiede poi anche dov'è 
il file da convertire, quindi prima assicuratevi di averne scaricato 
uno, in genere da Geofabric. Se lo scaricate da altre parti, ricordatevi 
di rinominarlo in modo che abbia estensione .osm.pbf o .osm.bz2

- "auto.sh" non vi chiede niente. Se avete meno di 3GB di RAM, 
cambiatelo a mano :-) Ovviamente poi farò una versione da riga di 
comando con parametri a piacere. Ricordatevi di lanciarlo solo se avete 
una buona connessione a internet perché vi va a scaricare il file OSM 
dell'Italia, che al momento è un giga e qualcosa.


-- 
Stefano Droghetti
www.stefanodroghetti.it
stefano.droghetti at gmail.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/talk-it/attachments/20160705/513f7e9e/attachment.html>


Maggiori informazioni sulla lista Talk-it