Difference between revisions of "Benchmarking 2011/Imposm"

From OSGeo
Jump to navigation Jump to search
(add installation notes)
 
 
(9 intermediate revisions by one other user not shown)
Line 7: Line 7:
 
Install everything inside `/opt/imposm`:  
 
Install everything inside `/opt/imposm`:  
  
    cd /opt/
+
cd /opt/
 
  mkdir imposm
 
  mkdir imposm
 
  sudo mkdir imposm
 
  sudo mkdir imposm
Line 14: Line 14:
 
Install a recent >2.4 Python version:  
 
Install a recent >2.4 Python version:  
  
    cd /opt/imposm/
+
cd /opt/imposm/
 
  mkdir src
 
  mkdir src
 
  cd /opt/imposm/src
 
  cd /opt/imposm/src
Line 26: Line 26:
 
Install google-protobuf for PBF format:  
 
Install google-protobuf for PBF format:  
  
    cd /opt/imposm/src
+
cd /opt/imposm/src
 
  wget http://protobuf.googlecode.com/files/protobuf-2.4.1.tar.bz2
 
  wget http://protobuf.googlecode.com/files/protobuf-2.4.1.tar.bz2
 
  tar xf protobuf-2.4.1.tar.bz2  
 
  tar xf protobuf-2.4.1.tar.bz2  
Line 36: Line 36:
 
Install tokyocabinet for internal import cache:  
 
Install tokyocabinet for internal import cache:  
  
    cd /opt/imposm/src
+
cd /opt/imposm/src
 
  sudo yum install bzip2-devel
 
  sudo yum install bzip2-devel
 
  wget http://fallabs.com/tokyocabinet/tokyocabinet-1.4.47.tar.gz
 
  wget http://fallabs.com/tokyocabinet/tokyocabinet-1.4.47.tar.gz
Line 47: Line 47:
 
Install distribute/pip to install Python packages:  
 
Install distribute/pip to install Python packages:  
  
    cd /opt/imposm/src
+
cd /opt/imposm/src
 
  wget http://python-distribute.org/distribute_setup.py
 
  wget http://python-distribute.org/distribute_setup.py
 
  ../bin/python distribute_setup.py
 
  ../bin/python distribute_setup.py
Line 54: Line 54:
 
Install Imposm:  
 
Install Imposm:  
  
    cd /opt/imposm/src
+
cd /opt/imposm/src
 
  export CFLAGS=-I/opt/imposm/include
 
  export CFLAGS=-I/opt/imposm/include
 
  export LDFLAGS=-L/opt/imposm/lib
 
  export LDFLAGS=-L/opt/imposm/lib
 
  export PATH=/opt/imposm/bin:$PATH
 
  export PATH=/opt/imposm/bin:$PATH
  bin/pip install imposm
+
  pip install imposm
 +
 
 +
To install the "trunk" version change the last line from above with:
 +
 
 +
pip install https://bitbucket.org/olt/imposm/get/default.tar.gz
  
 
== Importing  ==
 
== Importing  ==
 +
 +
Creating the database:
 +
 +
sudo su postgres
 +
createdb -E UTF8 osm
 +
createlang plpgsql osm
 +
psql -d osm -f /usr/share/pgsql/contrib/postgis-1.5/postgis.sql
 +
psql -d osm -f /usr/share/pgsql/contrib/postgis-1.5/spatial_ref_sys.sql
  
 
Download OSM extract:  
 
Download OSM extract:  
  
    cd /opt/imposm/src
+
cd /opt/imposm
 
  mkdir osm_data
 
  mkdir osm_data
 
  cd osm_data
 
  cd osm_data
Line 71: Line 83:
 
Run Imposm:  
 
Run Imposm:  
  
    export LD_LIBRARY_PATH=/opt/imposm/lib
+
export LD_LIBRARY_PATH=/opt/imposm/lib
  imposm --read colorado.osm.pbf --write -d osm -n
+
  imposm --read colorado.osm.pbf --write --optimize --deploy-production-tables -d osm --user postgres --overwrite-cache --proj epsg:3857
 +
 
 +
 
 +
The ''--optimize'' option calls ''VACUUM ANALYZE'' on all tables. Autovacuum can be disabled in PostgreSQL (and is).
 +
 
 +
And that's it:
 +
 
 +
[[File:Imposm-db-denver.png]]
 +
 
 +
----
 +
 
 +
[[Category:Benchmarking]]

Latest revision as of 05:33, 6 June 2012

Installation

Installation of imposm with all dependencies on the linux_db_bm host.

Installation steps

Install everything inside `/opt/imposm`:

cd /opt/
mkdir imposm
sudo mkdir imposm
sudo chown myusername:wms imposm

Install a recent >2.4 Python version:

cd /opt/imposm/
mkdir src
cd /opt/imposm/src
wget http://python.org/ftp/python/2.7.1/Python-2.7.1.tgz
tar xf Python-2.7.1.tgz 
cd Python-2.7.1
./configure --prefix /opt/imposm
make -j2
make install

Install google-protobuf for PBF format:

cd /opt/imposm/src
wget http://protobuf.googlecode.com/files/protobuf-2.4.1.tar.bz2
tar xf protobuf-2.4.1.tar.bz2 
cd protobuf-2.4.1
./configure --prefix /opt/imposm
make -j2
make install

Install tokyocabinet for internal import cache:

cd /opt/imposm/src
sudo yum install bzip2-devel
wget http://fallabs.com/tokyocabinet/tokyocabinet-1.4.47.tar.gz
tar xf tokyocabinet-1.4.47.tar.gz 
cd tokyocabinet-1.4.47
./configure --enable-off64 --prefix /opt/imposm
make -j2
make install

Install distribute/pip to install Python packages:

cd /opt/imposm/src
wget http://python-distribute.org/distribute_setup.py
../bin/python distribute_setup.py
../bin/easy_install pip

Install Imposm:

cd /opt/imposm/src
export CFLAGS=-I/opt/imposm/include
export LDFLAGS=-L/opt/imposm/lib
export PATH=/opt/imposm/bin:$PATH
pip install imposm

To install the "trunk" version change the last line from above with:

pip install https://bitbucket.org/olt/imposm/get/default.tar.gz

Importing

Creating the database:

sudo su postgres
createdb -E UTF8 osm
createlang plpgsql osm
psql -d osm -f /usr/share/pgsql/contrib/postgis-1.5/postgis.sql
psql -d osm -f /usr/share/pgsql/contrib/postgis-1.5/spatial_ref_sys.sql

Download OSM extract:

cd /opt/imposm
mkdir osm_data
cd osm_data
wget http://download.geofabrik.de/osm/north-america/us/colorado.osm.pbf

Run Imposm:

export LD_LIBRARY_PATH=/opt/imposm/lib
imposm --read colorado.osm.pbf --write --optimize --deploy-production-tables -d osm --user postgres --overwrite-cache --proj epsg:3857


The --optimize option calls VACUUM ANALYZE on all tables. Autovacuum can be disabled in PostgreSQL (and is).

And that's it:

Imposm-db-denver.png