All Projects → osmcode → Osmium Tool

osmcode / Osmium Tool

Licence: other
Command line tool for working with OpenStreetMap data based on the Osmium library.

Projects that are alternatives of or similar to Osmium Tool

Dry Cli
General purpose Command Line Interface (CLI) framework for Ruby
Stars: ✭ 210 (-11.02%)
Mutual labels:  command-line-tool
Gitlab Cli
Create a merge request from command line in gitlab
Stars: ✭ 224 (-5.08%)
Mutual labels:  command-line-tool
Amber
A code search / replace tool
Stars: ✭ 230 (-2.54%)
Mutual labels:  command-line-tool
Geek Life
The Todo List / Task Manager for Geeks in command line
Stars: ✭ 212 (-10.17%)
Mutual labels:  command-line-tool
Bolter
Command-line app for viewing BoltDB file in your terminal
Stars: ✭ 222 (-5.93%)
Mutual labels:  command-line-tool
Id
🆔 The easy-to-use OpenStreetMap editor in JavaScript.
Stars: ✭ 2,667 (+1030.08%)
Mutual labels:  openstreetmap
Wwdchelper
⏬ Help you get WWDC info easily, especially for subtitles.
Stars: ✭ 208 (-11.86%)
Mutual labels:  command-line-tool
Wayback Machine Scraper
A command-line utility and Scrapy middleware for scraping time series data from Archive.org's Wayback Machine.
Stars: ✭ 230 (-2.54%)
Mutual labels:  command-line-tool
Xcparse
Command line tool & Swift framework for parsing Xcode 11+ xcresult
Stars: ✭ 221 (-6.36%)
Mutual labels:  command-line-tool
Kartotherian
Map Tile Server
Stars: ✭ 230 (-2.54%)
Mutual labels:  openstreetmap
Innodb Java Reader
A library and command-line tool to access MySQL InnoDB data file directly in Java
Stars: ✭ 217 (-8.05%)
Mutual labels:  command-line-tool
Klog
A plain-text file format and command line tool for time tracking
Stars: ✭ 222 (-5.93%)
Mutual labels:  command-line-tool
Vocabs
📚 A lightweight online dictionary integration to the command line. No browsers. No paperbacks.
Stars: ✭ 226 (-4.24%)
Mutual labels:  command-line-tool
Mapping
OpenStreetMap contributions from the data team at Mapbox
Stars: ✭ 213 (-9.75%)
Mutual labels:  openstreetmap
Wpk
a friendly, intuitive & intelligent CLI for webpack
Stars: ✭ 232 (-1.69%)
Mutual labels:  command-line-tool
Reset Windows Update Tool
Troubleshooting Tool with Windows Updates (Developed in Dev-C++).
Stars: ✭ 208 (-11.86%)
Mutual labels:  command-line-tool
Selenops
A Swift Web Crawler 🕷
Stars: ✭ 225 (-4.66%)
Mutual labels:  command-line-tool
Loolocator
A simple iOS app that fetches the crowd-sourced data from OpenStreetMaps, and shows toilets within walking distance.
Stars: ✭ 234 (-0.85%)
Mutual labels:  openstreetmap
Termchat
Terminal chat through the LAN.
Stars: ✭ 229 (-2.97%)
Mutual labels:  command-line-tool
Kepubify
Fast, standalone EPUB to KEPUB converter CLI app / library (and a few other utilities).
Stars: ✭ 225 (-4.66%)
Mutual labels:  command-line-tool

Osmium Command Line Tool

A multipurpose command line tool for working with OpenStreetMap data based on the Osmium library.

Official web site: https://osmcode.org/osmium-tool/

Github Build Status Appveyor Build status

Prerequisites

You need a C++11 compliant compiler. GCC 4.8 and later as well as clang 3.6 and later are known to work. It also works on modern Visual Studio C++ compilers.

You also need the following libraries:

Libosmium (>= 2.16.0)
    https://osmcode.org/libosmium
    Debian/Ubuntu: libosmium2-dev
    Fedora/CentOS: libosmium-devel

Protozero (>= 1.6.3)
    https://github.com/mapbox/protozero
    Debian/Ubuntu: libprotozero-dev
    Fedora/CentOS: protozero-devel

RapidJSON (>= 1.1)
    This is included in the osmium-tool repository, so you usually do
    not need to install this.
    http://rapidjson.org/
    Debian/Ubuntu: rapidjson-dev

boost-program-options (>= 1.55)
    https://www.boost.org/doc/libs/1_55_0/doc/html/program_options.html
    Debian/Ubuntu: libboost-program-options-dev
    Fedora/CentOS: boost-devel
    openSUSE: boost-devel (use 'libboost_program_options-devel' for modern OS versions)

bz2lib
    http://www.bzip.org/
    Debian/Ubuntu: libbz2-dev
    Fedora/CentOS: bzip2-devel
    openSUSE: libbz2-devel

zlib
    https://www.zlib.net/
    Debian/Ubuntu: zlib1g-dev
    Fedora/CentOS: zlib-devel
    openSUSE: zlib-devel

LZ4 (optional)
    https://lz4.github.io/lz4/
    Debian/Ubuntu: liblz4-dev

    Only needed for LZ4 PBF compression.

Expat
    https://libexpat.github.io/
    Debian/Ubuntu: libexpat1-dev
    Fedora/CentOS: expat-devel
    openSUSE: libexpat-devel

cmake
    https://cmake.org/
    Debian/Ubuntu: cmake
    Fedora/CentOS: cmake
    openSUSE: cmake

Pandoc
    (Needed to build documentation, optional)
    https://pandoc.org/
    Debian/Ubuntu: pandoc
    Fedora/CentOS: pandoc
    openSUSE: pandoc

On Linux systems most of these libraries are available through your package manager, see the list above for the names of the packages. But make sure to check the versions. If the packaged version available is not new enough, you'll have to install from source. Most likely this is the case for Protozero and Libosmium.

On macOS many of the libraries above will be available through Homebrew.

When building the tool, CMake will automatically look for these libraries in the usual places on your system. In addition it will look for the Libosmium and Protozero libraries in the same directory where this Osmium repository is. So if you are building from the Git repository and want to use the newest Libosmium, Protozero, and Osmium, clone all of them into the same directory:

mkdir work
cd work
git clone https://github.com/mapbox/protozero
git clone https://github.com/osmcode/libosmium
git clone https://github.com/osmcode/osmium-tool

Building

Osmium uses CMake for its builds. On Linux and macOS you can build as follows:

cd osmium-tool
mkdir build
cd build
cmake ..
ccmake .  ## optional: change CMake settings if needed
make

To set the build type call cmake with -DCMAKE_BUILD_TYPE=type. Possible values are empty, Debug, Release, RelWithDebInfo, MinSizeRel, and Dev. The default is RelWithDebInfo.

Please read the CMake documentation and get familiar with the cmake and ccmake tools which have many more options.

On Windows you can compile with the Visual Studio C++ compiler and nmake. The necessary dependencies can be installed with conda. See appveyor.yml for the necessary commands to compile osmium-tool.

Documentation

See the Osmium Tool website and Osmium Tool Manual.

There are man pages in the 'man' directory. To build them you need 'pandoc'. If the pandoc command was found during the CMake config step, the manpages will be built automatically.

Tests

Call ctest in the build directory to run the tests after build.

More extensive tests of the libosmium I/O system can also be run. See test/io/Makefile.in for instructions.

License

Copyright (C) 2013-2021 Jochen Topf ([email protected])

This program is available under the GNU GENERAL PUBLIC LICENSE Version 3. See the file LICENSE.txt for the complete text of the license.

Authors

This program was written and is maintained by Jochen Topf ([email protected]).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].