Skip to content

emi420/underpass

 
 

Repository files navigation

Underpass

Underpass updates a local copy of the OSM database in near real-time. It is designed to be high performance on modest hardware.

Screenshot 2025-07-13 at 4 14 23 PM

Product roadmap

✅ Done ⚙️ In progress

Status Feature
Process OSM Planet replication files in near-real time
Support Nodes, Ways and Relations
Import OSM PBF files
Fix and improve planet path calculation
Refactor geometry builder
⚙️ Migrate to CMake
Debian dist
MacOS dist
Update docs
Python plugins support

Getting started

Install dependencies

sudo apt-get update \
    && apt-get install -y software-properties-common \
    && apt-get update && apt-get install -y \
        libboost-dev \
        autotools-dev \
        swig \
        pkg-config \
        gcc \
        build-essential \
        ccache \
        libboost-all-dev \
        dejagnu \
        libjemalloc-dev \
        libxml++2.6-dev \
        doxygen \
        libgdal-dev \
        libosmium2-dev \
        libpqxx-dev \
        postgresql \
        libgumbo-dev \
        librange-v3-dev

Build

./autogen.sh && \
  mkdir build && cd build && \ 
  ../configure && make -j$(nproc) && sudo make install

Run

  1. Download OSM PBF and GeoJSON priority boundary files
  2. Run underpass -s <DB> -i <PBF file path> -b <GeoJSON priority boundary>

Example:

wget https://download.geofabrik.de/europe/andorra-latest.osm.pbf
wget https://download.geofabrik.de/europe/andorra.poly
python utils/poly2geojson.py andorra.poly
underpass -i andorra-latest.osm.pbf -s localhost/underpass -b andorra.geojson

If the process has stopped, you can continue from latest processed timestamp:

underpass -t latest -s localhost/underpass -b andorra.geojson

Visualize data

Check these two projects if you want to request and visualize data easily:

License

Underpass is free software! you may use any Underpass project under the terms of the GNU General Public License (GPL) Version 3.

About

A customizable data engine for processing OSM mapping data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 55.2%
  • M4 32.7%
  • Makefile 5.5%
  • Shell 4.7%
  • C 1.5%
  • Python 0.4%