Part of osmose that runs the analysis, and send the results to the frontend.
Python C PLpgSQL Shell Ruby Batchfile
Permalink
Failed to load latest commit information.
.tx Update po Makefile to pull translations from transifex May 2, 2014
analysers Add create_view_touched for setup touched as view Feb 25, 2017
cron Run osm8 countries every two days instead of every day Jan 1, 2014
dictionaries Update INSEE list. github #91 Feb 7, 2016
merge_data Fix merge pitch_FR golf tag mapping. github #139 Dec 26, 2016
modules Upload merge results to both opendata and normal server Feb 23, 2017
osmconvert Re-compile osmconvert on Debian stable (squeeze) Dec 16, 2012
osmosis Swith to unlogged table when possible Feb 25, 2017
plugins Fix addr:housenumber check in CH #181 Feb 25, 2017
po Update cs translation Feb 23, 2017
tests Update xml results for sax tests Jan 14, 2017
tools Add list of slowest countries to logs-buildbot.py Feb 25, 2017
.gitignore Add tests/out/ to .gitignore Jan 28, 2015
LICENSE Add LICENSE file Jan 29, 2013
README.md Fix README.md about installation Dec 26, 2016
cron-launcher Fix cron-launcher to read file line per line, allowing options to be … Aug 20, 2013
launcher Fix osmose_run.py path in launcher Sep 18, 2012
local-launcher Add launcher to launch on local machine, and wait for the end of the … Apr 13, 2013
osmose_config.py Swith to unlogged table when possible Feb 25, 2017
osmose_config_password.py Define function set_password(), needed by osmose_config.py Aug 27, 2011
osmose_run.py Upload merge results to both opendata and normal server Feb 23, 2017
requirements-dev.txt Improve installation detail in README and use pip for python deps Jul 5, 2015
requirements.txt Move check for upper case from plugin *UpperCase* to Name_UpperCase, … Feb 13, 2016
setup_bdd.sh Remove old references to osm2pgsql Sep 10, 2014

README.md

Backend part of Osmose QA tool

This is the part of osmose [http://osmose.openstreetmap.fr] which analyses OSM and send results to frontend. This works as following:

  • an .osm.bz2 or .osm.pbf extract is downloaded from a path
  • downloaded file is converted to .osm, with bunzip2 or osmconvert
  • if necessary, an osmosis dump is generated in a local database
  • analyses are run directly on .osm file, or on the database
  • analyses are stored on a local webserver, and a link is sent to the frontend so that it can download the results
  • temporary extract files and database are purged

Installation Python

Osmose QA backend requires python > 2.6.

Setup system dependencies (Ubuntu Server 14.04)

apt install python

You can install python dependencies in the system or in a virtualenv.

In the system install the folowing packages:

apt install python-dateutil python-imposm-parser python-lockfile python-polib python-poster python-psycopg2 python-shapely python-regex

Alternatively instal python-virtualenv and create a new virtualenv.

Setup system dependencies (Ubuntu Server 14.04)

apt install git python-dev python-virtualenv libpq-dev protobuf-compiler libprotobuf-dev

Create a python virtualenv, active it and install python dependencies

virtualenv --python=python2.7 osmose-backend-venv
source osmose-backend-venv/bin/activate
pip install -r requirements.txt

To run tests, additional packages are needed.

pip install -r requirements-dev.txt

Installation Database

Setup system dependencies (Ubuntu Server 14.04)

apt install postgresql-9.3 postgresql-contrib-9.3 postgresql-9.3-postgis-2.1

As postgres user:

createuser osmose
# Set your own password
psql -c "ALTER ROLE osmose WITH PASSWORD '-osmose-';"
createdb -E UTF8 -T template0 -O osmose osmose
# Enable extensions
psql -c "CREATE extension hstore; CREATE extension fuzzystrmatch; CREATE extension unaccent; CREATE extension postgis;" osmose
psql -c "GRANT SELECT,UPDATE,DELETE ON TABLE spatial_ref_sys TO osmose;" osmose
psql -c "GRANT SELECT,UPDATE,DELETE,INSERT ON TABLE geometry_columns TO osmose;" osmose

Dependencies

Java JRE for osmosis (Ubuntu Server 14.04):

apt install openjdk-7-jre-headless

osmosis is installed in osmosis/osmosis-0.44/. osmconvert is installed in osmconvert/.

Configuration

A few paths are hardcoded in modules/config.py, and should be adapted or created.

  • dir_osmose is the path of where osmose is installed
  • dir_work is where extracts are stored, and results generated.
  • url_frontend_update is the url used to send results generated by analyses

The local postgresql database should be configured in osmose_config.py:

  • db_base = osmose # database name
  • db_user = osmose # database user
  • db_password = # database password if needed
  • db_host = # database hostname if needed

You may want to include this info in ~/.pgpass to avoid entering the database password while processing the files.

See https://wiki.postgresql.org/wiki/Pgpass for more info.

Run

Look at the osmose_run.py help for options

osmose_run.py -h

Connection to the "official" frontend at http://osmose.openstreetmap.fr

When you have configured the backend for the country you want to add, please send an email to osmose-contact@openstreetmap.fr. We will then send you the password to use to connect to the frontend.