Skip to content

OpenStreetMap data extraction tool to build tangible document. OpenStreetTouch can extract public transport map or small city area and render all data in svg format.

License

Notifications You must be signed in to change notification settings

braillerap/OpenStreetTouch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenStreetTouch

A tool to extract geodata from openstreetmap and create suitable file for image2touch or DesktopBrailleRAP. The main goal is to extract openstreetmap data to build tangible maps.

In many cities, public transport map are not available in Braille nor in suitable format to build accessible description. Most of the needed data is available in openstreetmap in open database licence. OpenStreetTouch aim to extract these data to build accessible transport map.

Here is an example of Subway map of Amsterdam. OpenStreetTouch displaying subway lines in Amsterdam

An example of city map with ULB campus in Bruxelles. OpenStreetTouch displaying Bruxelles ULB campus map

Here is an usage exemple with DesktopBrailleRAP on a residential area in France. DesktopBrailleRAP view translating a vector map in tangible map

Another usage exemple with the Askoria campus in Rennes - France DesktopBrailleRAP view translating a vector map in tangible map

Using a BrailleRAP to emboss cultural center access map at Tech Inn'Vitre A BrailleRAP embossing a city map in France

Features

  • Build SVG map from public transport data. These SVG can then be use to build tangible map with a laser cutter, a 3d printer or a BrailleRAP with software like image2touch or DesktopBrailleRAP.
  • Extract ordered station name from public transport data.
  • Extract small city map to help build accessible description of local area.

Releases

We provide pre-built binaries for Windows, Debian 12, Ubuntu 24.04. See releases for more information.

OpenStreetTouch depends on glibc version. Unfortunately recent Debian and Ubuntu distribution are not using exactly the same. If your are using Debian 12 or a derivate distribution, use desktopbraillerap-debian. If you are using Ubuntu 24.04 or a derivate distribution, use desktopbraillerap-ubuntu

auto_build_for_ubuntu

auto_build_for_debian

User manual

The user manual is available https://openstreettouch.readthedocs.io/en/main/

en Documentation Status

fr Documentation Status

Contributing

Translation

If you need the software or the user manual in your locale language, we will be happy to add a new translation. Translation files will be hosted on codeberg community translation platform and can be updated by anyone [weblate host on codeberg] for more information.

Code and features

Feel free to open issues or pull requests ! We will be happy to review and merge your changes. BTW we have a great focus on accessibility and user friendly design.

Translations status

Software GUI

GUI translation files are available on codeberg weblate host . Some languages are partialy translated , we are looking for contributors to complete and check them.

Translation status

User Manual

User manual translation files are available on codeberg weblate host . Some languages are partialy translated , we are looking for contributors to complete and check them.

Translation status

Funding

This project is funded through NGI0 Entrust, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.

NLnet foundation logo NGI Zero Logo

Building on Windows

Prerequisites

  • Python 3.6 or later
  • NodeJS 20.12 or later

Create a python virtual environment

python -m venv venv

Activate python virtual environment

.\venv\Scripts\activate

Install python dependencies

pip install -r requirements.txt

Install nodejs dependencies

npm install

Run in dev environement

npm run startview

Build windows .exe

npm run buildview

check OpenStreetTouch.exe in dist folder

Building on Linux (Debian)

Prerequisites

We need several development tools to build OpenStreetTouch, python, nodejs and gcc to build some python dependencies. Depending on your system, you will also need a desktop environment installed on the build machine.

Python / gcc / nodejs

General build tools:

apt install  -y cmake build-essential git 
apt install  -y ninja-build
apt install  -y autoconf gnulib

apt install  -y ca-certificates curl gnupg
apt install  -y software-properties-common

apt install  -y gnome-core
apt install  -y python3 python3-venv python3-dev
apt install  -y pkg-config 
apt install  -y gir1.2-gtk-3.0 gir1.2-webkit2-4.1
apt install  -y python3-tk 


apt install  -y libcairo2 libcairo2-dev libgirepository1.0-dev
apt install  -y tcl tree
apt install  -y git-extras lintian

Nodejs:

General Nodejs

curl -sL https://deb.nodesource.com/setup_20.x | bash -
apt update
apt install -y nodejs
npm i npm@latest -g

Install OpenStreetTouch nodejs dependencies

npm install

Python:

Create a python3 virtual environment

python3 -m venv venv

Activate python3 virtual environment

source ./venv/bin/activate

Install python3 OpenStreetTouch dependencies

pip install -r requirement_linux.txt

Build OpenStreetTouch

Activate python virtual env

source ./venv/bin/activate

Run in development environement

npm run startview

Build OpenStreetTouch

npm run builddebian

Check the ./dist folder for the openstreettouch-debian executable. You can install the .deb package with:

sudo dpkg -i openstreettouch-debian-x.x.x.deb

Building on Linux (Ubuntu)

Prerequisites

We need several development tools to build OpenStreetTouch, python, nodejs and gcc to build some python dependencies. Depending on your system, you will also need a desktop environment installed on the build machine.

Python / gcc / nodejs

General build tools:

apt install  -y cmake build-essential git ninja-build autoconf gnulib
apt install  -y libyaml-dev texinfo texlive
apt install  -y ca-certificates curl gnupg
apt install  -y software-properties-common
apt install  -y ubuntu-desktop-minimal 
apt install  -y python3 python3-venv python3-dev
apt install  -y pkg-config 
apt install  -y gir1.2-gtk-3.0 gir1.2-webkit2-4.1
apt install  -y python3-tk 
apt install  -y libcairo2 libcairo2-dev libgirepository1.0-dev
apt install  -y tcl tree
apt install  -y git-extras lintian

Nodejs:

General Nodejs

curl -sL https://deb.nodesource.com/setup_20.x | bash -
apt update
apt install -y nodejs
npm i npm@latest -g

Install OpenStreetTouch nodejs dependencies

npm install

Python:

Create a python3 virtual environment

python3 -m venv venv

Activate python3 virtual environment

source ./venv/bin/activate

Install python3 OpenStreetTouch dependencies

pip install -r requirement_linux.txt

Build OpenStreetTouch

Activate python virtual env

source ./venv/bin/activate

Run in development environement

npm run startview

Build OpenStreetTouch

npm run buildubuntu

Check the ./dist folder for the openstreettouch-ubuntu executable. You can install the .deb package with:

sudo dpkg -i openstreettouch-ubuntu-x.x.x.deb

Building for Linux using Docker

You can use Docker configuration to build OpenStreetTouch for a Linux distribution.

Docker configuration to build OpenStreetTouch for Debian or Ubuntu are available here:

Debian

Ubuntu

About

OpenStreetMap data extraction tool to build tangible document. OpenStreetTouch can extract public transport map or small city area and render all data in svg format.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •