This repository contains the tools to generated the data which powers the view Tagging, Highways, Places and Geometry of the OpenStreetMap Inspector (OSMI) by Geofabrik.
This software uses the Osmium library by Jochen Topf for everything related with reading OSM data and the GDAL library (via Jochen Topf's C++ wrapper gdalcpp) to write the output data.
This software was developed by Geofabrik GmbH. See the Git history for a full list of contributors.
This software is licensed under the terms of GNU General Public License version 3 or newer. See LICENSE.md for the full legal text of the license.
The Catch unit test framework is available under the terms of Boost Software License.
The geometry view contains code to detect self intersections of ways which is a modified copy of a part of OSMCoastline by Jochen Topf, available GNU General Public License 3 or newer.
This software reads an OpenStreetMap planet dump (or one of its smaller extracts) and produces an Spatialite database which contains all errorenous objects which were found in the OpenStreetMap data. Other output formats than Spatialite are possible but not as well tested. You can open the output files using QGIS.
The Spatialite database is used as the data source of the WMS service by the OSMI backend. This service provides the map and a GetFeatureInfo API call used by the frontend.
libosmium-dev
) and all its important dependencieslibgdal-dev
)libproj4-dev
)cmake
)You can install libosmium either using your package manager or just cloned from
its Github repository to any location on your disk. Add a symlink libosmium in
the top level directory of this repository to the location of
libosmium/include
if you use the latter variant. Take care to use libosmium
v2.x not the old Osmium v1.x!
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
If you want to compile this programme for development purposes, please run cmake
with the -DCMAKE_BUILD_TYPE=Debug
flag.
Run ./osmi_simple_views -h
to see the available options.
There are two binaries. osmi_simple_views_merc
can only produce output files
in Web Mercator projection (EPSG:3857) but is faster than osmi_simple_views
because it uses a faster coordinate transformation engine provided by libosmium
while osmi_simple_views
calls Proj4.