GithubHelp home page GithubHelp logo

taginfo / taginfo-tools Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 340 KB

C++ tools used in taginfo processing

Home Page: https://wiki.openstreetmap.org/wiki/Taginfo

License: GNU General Public License v3.0

CMake 2.77% C++ 96.77% Shell 0.46%
openstreetmap taginfo

taginfo-tools's Introduction

Taginfo Tools

These are some tools needed for creating statistics from a planet or other OSM file. These are used as part of taginfo.

They used to "live" in the main taginfo repository.

Build Status

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.

Make sure you keep both the main taginfo repository and this one up to date.

Prerequisites

You need a C++14-compatible compiler, make and CMake.

Ob Debian/Ubuntu install these like this:

apt install \
    cmake \
    libbz2-dev \
    libexpat1-dev \
    libgd-dev \
    libicu-dev \
    libosmium2-dev \
    libprotozero-dev \
    libsqlite3-dev \
    make \
    zlib1g-dev

Use Debian Backports or install libosmium and protozero manually if their versions are too old in your distribution.

Building

Update abseil submodule with:

git submodule update --init

Build as usual with CMake. For instance like this:

mkdir build && cd build
cmake ..
make

To run the tests, call ctest.

Programs

  • osmstats - Create statistics from a planet or other OSM file (not used in taginfo)
  • taginfo-chronology - Create statistics from a history planet
  • taginfo-similarity - Find similarities between OSM tags
  • taginfo-sizes - Debugging tool to print out sizes of important structs from taginfo-stats
  • taginfo-stats - Create statistics from a planet or other OSM file
  • taginfo-unicode - Categorizes OSM tags based on unicode character types

Contact

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

Author

Jochen Topf ([email protected]) - https://jochentopf.com/

taginfo-tools's People

Contributors

joto avatar sikmir avatar

Watchers

 avatar  avatar  avatar

taginfo-tools's Issues

Build fails on macOS

...
error: no template named 'DenseMmapArray' in namespace 'osmium::index::map'
...
error: no template named 'SparseMmapArray' in namespace 'osmium::index::map'

template <typename T>
static std::unique_ptr<map_type<T>> create_map(const std::string& location_index_type) {
osmium::index::register_map<osmium::unsigned_object_id_type, T, osmium::index::map::DenseMemArray>("DenseMemArray");
osmium::index::register_map<osmium::unsigned_object_id_type, T, osmium::index::map::DenseMmapArray>("DenseMmapArray");
osmium::index::register_map<osmium::unsigned_object_id_type, T, osmium::index::map::SparseMemArray>("SparseMemArray");
osmium::index::register_map<osmium::unsigned_object_id_type, T, osmium::index::map::SparseMmapArray>("SparseMmapArray");
const auto& map_factory = osmium::index::MapFactory<osmium::unsigned_object_id_type, T>::instance();
return map_factory.create_map(location_index_type);
}

DenseMmapArray and SparseMmapArray are available only on linux:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.