Skip to content

Brings together information about OpenStreetMap tags and makes it searchable and browsable

License

Notifications You must be signed in to change notification settings

taginfo/taginfo

Repository files navigation

Taginfo

Brings together information about OpenStreetMap tags and makes it searchable and browsable.

Documentation: See the Taginfo page at the OpenStreetMap wiki.

Live System: taginfo.openstreetmap.org

There is no versioning of these tools. The official site always runs the version tagged osmorg-taginfo-live. If you are using the tools, we encourage you to stay up-to-date with that version also. But monitor your setup closely when you switch to a new version, sometimes things can break.

Files

  • /sources - import scripts
  • /web - web user interface and API
  • /examples - some misc example stuff

Prerequisites

It uses:

  • Ruby (must be at least 3.0)
  • Sinatra web framework and other ruby libraries
  • curl binary
  • sqlite3 binary (version 3.33 or above with FTS5 and regexp support)
  • Optional: Parallel bzip (pbzip2)
  • Optional: Vips image library with Ruby bindings

Install the Debian/Ubuntu packages:

$ sudo apt-get install curl sqlite3 ruby-vips
$ sudo apt-get install ruby-passenger libapache2-mod-passenger

Install the Gems:

$ sudo gem install bundler
$ sudo bundle install

Depending on your setup you might want to install an application server like

  • uWSGI or
  • Apache2 mod_passenger

If you want to create the taginfo database yourself, you need to have https://github.com/taginfo/taginfo-tools installed. See there for details. If you only want to run the UI and get the database from somewhere else, you do not need this.

Data Import

See Taginfo/Installation at OpenStreetMap's wiki.

Web User Interface

You need a /data directory (in the parent directory of the directory where this README.md is). It must contain the sqlite database files created in the data import step or downloaded from page taginfo.openstreetmap.org/download.

To start the web user interface:

cd web
./taginfo.rb

You can also use it via uWSGI.

(On Debian install these packages: uwsgi uwsgi-core uwsgi-plugin-rack-ruby3.1.)

cd web
bundle exec uwsgi uwsgi.ini

You can change various settings in the config file and use it through a web server like Apache2 or Nginx.

Tests

There are a few tests for the Ruby code. Call rake in the web directory to run the tests.

Rubocop

There is a configuration for Rubocop. You can run Rubocop with rubocop FILENAME.rb... to check one or more Ruby files. Fixing issues is currently an ongoing process.

Javascript

Taginfo uses the following Javascript libraries:

All the Javascript and CSS needed is already included.

Thanks

To the many people helping with bug reports, code and translations.

Contact

There is a mailing list for developers and people running their own instances of taginfo: taginfo-dev

Author

Jochen Topf (jochen@topf.org) - https://jochentopf.com/