Skip to content
Commits on Source (6)
---
Checks: '*,-android-cloexec-*,-cppcoreguidelines-owning-memory,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-cppcoreguidelines-pro-type-static-cast-downcast,-cppcoreguidelines-pro-type-vararg,-fuchsia-*,-google-runtime-references,-hicpp-no-array-decay,-hicpp-vararg,-modernize-make-unique,-readability-implicit-bool-cast,-readability-implicit-bool-conversion'
Checks: '*,-android-cloexec-*,-bugprone-use-after-move,-cppcoreguidelines-owning-memory,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-cppcoreguidelines-pro-type-static-cast-downcast,-cppcoreguidelines-pro-type-vararg,-fuchsia-*,-google-runtime-references,-hicpp-invalid-access-moved,-hicpp-no-array-decay,-hicpp-vararg,-modernize-make-unique,-readability-implicit-bool-cast,-readability-implicit-bool-conversion'
#
# For a list of check options, see:
# http://clang.llvm.org/extra/clang-tidy/checks/list.html
# https://clang.llvm.org/extra/clang-tidy/checks/list.html
#
# Disabled checks:
#
# android-cloexec-*
# O_CLOEXEC isn't available on Windows making this non-portable.
#
# bugprone-use-after-move
# hicpp-invalid-access-moved
# Generates too many false positives. A bug report has been sent:
# https://bugs.llvm.org/show_bug.cgi?id=36516
#
# cppcoreguidelines-owning-memory
# Don't want to add dependency on gsl library.
#
......
......@@ -2,7 +2,7 @@
#
# Configuration for YouCompleteMe Vim plugin
#
# http://valloric.github.io/YouCompleteMe/
# https://valloric.github.io/YouCompleteMe/
#
#-----------------------------------------------------------------------------
......
......@@ -13,16 +13,70 @@ This project adheres to [Semantic Versioning](https://semver.org/).
### Fixed
## [1.9.0] - 2018-08-11
### Added
- Add area matching to `tags-filter`. The `tags-filter` command can now match
"areas" using the "a/" prefix. Areas in this sense are all closed ways with
4 or more nodes and all relations with tag "type=multipolygon" or
"type=boundary".
- Add `--geometry-types` option to the `export` command allowing you to
restrict the geometry types written out.
- Also print out smallest node, way, and relation ID in `fileinfo` command.
- In the `renumber` command, the start IDs for nodes, ways, and relations
can now be set together or separately with the `--start-id` option. Negative
IDs are now also allowed. Also there is a new `--show-index` function that
prints out the ID mappings in the index.
- More tests and updated documentation.
- Add `-C`, `--print-default-config` option to the `export` command writing
out the default configuration to stdout.
- New `getparents` command to get the ways used by specified nodes or
relations having specified members.
### Changed
- Newest version of libosmium (2.14.2) and protozoro (1.6.3) are now required.
- Calculation of CRC32 in the fileinfo command is now optional.
Calculating the CRC32 is very expensive and going without it makes the
program much much faster. Use --crc/-c to enable it. It will also be
automatically enabled for JSON output to stay compatible with earlier
versions of Osmium which might be used in an automated context (you can
disable this with `--no-crc`). It is also enabled if `-g data.crc32` is
specified. If it is enabled we are using the CRC32 implementation from
zlib which is faster than the one from boost we used before. This is
possible through some changes in libosmium.
- Treat ways with same node end locations as closed in `export` command
instead of looking at the IDs. This is more consistent with what the
libosmium `MultipolygonManager` does.
- In the `export` command, the decision whether a way is treated as a
linestring or polygon has changed. See the man page for details.
- Create linestring geometries for untagged ways if `-n` or `--keep-untagged`
option is set. It doesn't matter whether they are closed or not, they are
only written out as linestrings.
### Fixed
- Show error for ways with less than 2 nodes if --show-errors is set.
- Attributes (such as id, version, timestamp, etc.) can appear in the
properties of the output with arbitrary configurable names. These could
overlap with tag keys which we don't want. This change removes tags with
those keys on the assumption that the names chosen for the attributes
are sufficiently different (something like "@id") from normal tag keys
that this will not happen very often and those tags are useless anyway.
- Make `--(no)-progress` option work in `sort` command.
## [1.8.0] - 2018-03-31
### Added
* Support for negative IDs in export command.
* Lots of tests with missing metadata (Thanks to Michael Reichert).
* Add metadata options to the extended output of fileinfo command (Thanks to
- Support for negative IDs in export command.
- Lots of tests with missing metadata (Thanks to Michael Reichert).
- Add metadata options to the extended output of fileinfo command (Thanks to
Michael Reichert).
* Add progress bars to many commands.
* Add `--redact` option to the `apply-changes` command to redact (patch)
- Add progress bars to many commands.
- Add `--redact` option to the `apply-changes` command to redact (patch)
history files. The change files can contain any version of any object which
will replace that version of that object from the input. This allows changing
the history! This mode is for special use only, for instance to remove
......@@ -31,30 +85,30 @@ This project adheres to [Semantic Versioning](https://semver.org/).
### Changed
- Needs libosmium 2.14.0.
* Update included `catch.hpp` to version 1.12.1.
* Removed Makefile. Undocumented and possibly confusing way of building.
- Update included `catch.hpp` to version 1.12.1.
- Removed Makefile. Undocumented and possibly confusing way of building.
As documented, use CMake directly instead.
* Allow bbox setting with any two opposing corners, instead of insisting on
- Allow bbox setting with any two opposing corners, instead of insisting on
bottom-left and top-right corner. This affects the changeset-filter and
extract commands.
* Allow GeoJSON input file to have a FeatureCollection instead of a Feature.
- Allow GeoJSON input file to have a FeatureCollection instead of a Feature.
Only the first feature of this collection is used.
### Fixed
* Bug in the derive-changes command if it is used without `--keep-details`.
- Bug in the derive-changes command if it is used without `--keep-details`.
A deletion of any type of object was written as a deletion of a node.
(Thanks to Michael Reichert.)
* Fix assertion failure in diff command.
* Throw exception instead of using assert to catch broken rings.
* Disable progress bar if STDOUT isn't a tty.
* Show error when there are no extracts specified in extract command.
* Improve STDIN handling in extract command. STDIN can now be used with the
- Fix assertion failure in diff command.
- Throw exception instead of using assert to catch broken rings.
- Disable progress bar if STDOUT isn't a tty.
- Show error when there are no extracts specified in extract command.
- Improve STDIN handling in extract command. STDIN can now be used with the
`simple` strategy, with other strategies it will give you a nice error
message.
* Lots of code cleanups based on `clang-tidy` warnings making the code more
- Lots of code cleanups based on `clang-tidy` warnings making the code more
robust.
* Only install manpage directories, not CMake files. (Thanks Bas Couwenberg.)
- Only install manpage directories, not CMake files. (Thanks Bas Couwenberg.)
## [1.7.1] - 2017-08-25
......@@ -378,7 +432,8 @@ This project adheres to [Semantic Versioning](https://semver.org/).
- Minor updates to documentation and build system
[unreleased]: https://github.com/osmcode/osmium-tool/compare/v1.8.0...HEAD
[unreleased]: https://github.com/osmcode/osmium-tool/compare/v1.9.0...HEAD
[1.9.0]: https://github.com/osmcode/osmium-tool/compare/v1.8.0...v1.9.0
[1.8.0]: https://github.com/osmcode/osmium-tool/compare/v1.7.1...v1.8.0
[1.7.1]: https://github.com/osmcode/osmium-tool/compare/v1.7.0...v1.7.1
[1.7.0]: https://github.com/osmcode/osmium-tool/compare/v1.6.1...v1.7.0
......
......@@ -25,7 +25,7 @@ set(CMAKE_CONFIGURATION_TYPES "Debug;Release;RelWithDebInfo;MinSizeRel;Dev"
project(osmium)
set(OSMIUM_VERSION_MAJOR 1)
set(OSMIUM_VERSION_MINOR 8)
set(OSMIUM_VERSION_MINOR 9)
set(OSMIUM_VERSION_PATCH 0)
set(OSMIUM_VERSION ${OSMIUM_VERSION_MAJOR}.${OSMIUM_VERSION_MINOR}.${OSMIUM_VERSION_PATCH})
......@@ -44,7 +44,7 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
find_package(Boost 1.55.0 REQUIRED COMPONENTS program_options)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
find_package(Osmium 2.14.0 REQUIRED COMPONENTS io)
find_package(Osmium 2.14.2 REQUIRED COMPONENTS io)
include_directories(SYSTEM ${OSMIUM_INCLUDE_DIRS})
......@@ -213,6 +213,7 @@ SET(OSMIUM_COMMANDS
extract
fileinfo
getid
getparents
merge
merge-changes
renumber
......@@ -225,6 +226,7 @@ SET(OSMIUM_COMMANDS
set(OSMIUM_SOURCE_FILES
cmd.cpp
cmd_factory.cpp
id_file.cpp
io.cpp
util.cpp
command_help.cpp
......
......@@ -4,9 +4,9 @@
A multipurpose command line tool for working with OpenStreetMap data based on
the Osmium library.
Official web site: http://osmcode.org/osmium-tool/
Official web site: https://osmcode.org/osmium-tool/
[![Build Status](https://secure.travis-ci.org/osmcode/osmium-tool.svg)](http://travis-ci.org/osmcode/osmium-tool)
[![Build Status](https://secure.travis-ci.org/osmcode/osmium-tool.svg)](https://travis-ci.org/osmcode/osmium-tool)
[![Build Status](https://ci.appveyor.com/api/projects/status/github/osmcode/osmium-tool?svg=true)](https://ci.appveyor.com/project/Mapbox/osmium-tool)
## Prerequisites
......@@ -16,24 +16,16 @@ later are known to work. It also works on modern Visual Studio C++ compilers.
You also need the following libraries:
Libosmium (>= 2.14.0)
http://osmcode.org/libosmium
Libosmium (>= 2.14.2)
https://osmcode.org/libosmium
Debian/Ubuntu: libosmium2-dev
Fedora/CentOS: libosmium-devel
Protozero (>= 1.5.1)
Protozero (>= 1.6.3)
https://github.com/mapbox/protozero
Debian/Ubuntu: libprotozero-dev
Fedora/CentOS: protozero-devel
Utfcpp
This is included in the libosmium repository and might or might not
have been installed with it. See the libosmium README.
http://utfcpp.sourceforge.net/
Debian/Ubuntu: libutfcpp-dev
Fedora/CentOS: utf8cpp-devel
openSUSE: utfcpp
RapidJSON (>= 1.1)
This is included in the osmium-tool repository, so you usually do
not need to install this.
......@@ -41,22 +33,16 @@ You also need the following libraries:
Debian/Ubuntu: rapidjson-dev
boost-program-options (>= 1.55)
http://www.boost.org/doc/libs/1_55_0/doc/html/program_options.html
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
boost-crc
http://www.boost.org/doc/libs/1_55_0/libs/crc/
Debian/Ubuntu: libboost-dev
Fedora/CentOS: boost-devel
openSUSE: boost
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: bzip2
openSUSE: libbz2-devel
zlib
https://www.zlib.net/
......@@ -67,8 +53,8 @@ You also need the following libraries:
Expat
https://libexpat.github.io/
Debian/Ubuntu: libexpat1-dev
openSUSE: libexpat-devel
Fedora/CentOS: expat-devel
openSUSE: libexpat-devel
cmake
https://cmake.org/
......@@ -78,7 +64,7 @@ You also need the following libraries:
Pandoc
(Needed to build documentation, optional)
http://pandoc.org/
https://pandoc.org/
Debian/Ubuntu: pandoc
Fedora/CentOS: pandoc
openSUSE: pandoc
......@@ -108,6 +94,7 @@ Libosmium, Protozero, and Osmium, clone all of them into the same directory:
Osmium uses CMake for its builds. On Linux and macOS you can build as follows:
cd osmium-tool
mkdir build
cd build
cmake ..
......@@ -129,8 +116,8 @@ compile all the prerequisites yourself.
## Documentation
See the [Osmium Tool website](http://osmcode.org/osmium-tool/)
and [Osmium Tool Manual](http://osmcode.org/osmium-tool/manual.html).
See the [Osmium Tool website](https://osmcode.org/osmium-tool/)
and [Osmium Tool Manual](https://osmcode.org/osmium-tool/manual.html).
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
......
......@@ -111,7 +111,7 @@ endif()
if(Osmium_USE_PBF)
find_package(ZLIB)
find_package(Threads)
find_package(Protozero 1.5.1)
find_package(Protozero 1.6.3)
list(APPEND OSMIUM_EXTRA_FIND_VARS ZLIB_FOUND Threads_FOUND PROTOZERO_INCLUDE_DIR)
if(ZLIB_FOUND AND Threads_FOUND AND PROTOZERO_FOUND)
......@@ -324,7 +324,7 @@ if(MSVC)
add_definitions(-DNOMINMAX -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_WARNINGS)
endif()
if(APPLE)
if(APPLE AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
# following only available from cmake 2.8.12:
# add_compile_options(-stdlib=libc++)
# so using this instead:
......
......@@ -42,8 +42,10 @@ execute_process(
ERROR_VARIABLE stderr
)
if(NOT (stderr STREQUAL ""))
message(SEND_ERROR "Command tested wrote to stderr: ${stderr}")
if(NOT ("$ENV{osmium_cmake_stderr}" STREQUAL "ignore"))
if(NOT (stderr STREQUAL ""))
message(SEND_ERROR "Command tested wrote to stderr: ${stderr}")
endif()
endif()
if(result)
......
......@@ -8,6 +8,7 @@ set(OSMIUM_INSTALL_FILES
share/man/man1/osmium-renumber.1
share/man/man1/osmium-sort.1
share/man/man1/osmium-getid.1
share/man/man1/osmium-getparents.1
share/man/man1/osmium.1
share/man/man1/osmium-add-locations-to-ways.1
share/man/man1/osmium-apply-changes.1
......
osmium-tool (1.8.0-3) UNRELEASED; urgency=medium
osmium-tool (1.9.0-1) unstable; urgency=medium
* New upstream release.
* Bump Standards-Version to 4.2.0, no changes.
* Bump minimum required libosmium2-dev to 2.14.2.
* Update spelling-errors.patch to fix 'described' typo.
-- Bas Couwenberg <sebastic@debian.org> Sun, 05 Aug 2018 20:39:27 +0200
-- Bas Couwenberg <sebastic@debian.org> Sun, 12 Aug 2018 08:40:56 +0200
osmium-tool (1.8.0-2) unstable; urgency=medium
......
......@@ -9,7 +9,7 @@ Build-Depends: debhelper (>= 9),
libboost-program-options-dev,
libbz2-dev,
libexpat1-dev,
libosmium2-dev (>= 2.14.0),
libosmium2-dev (>= 2.14.2),
pandoc,
zlib1g-dev
Standards-Version: 4.2.0
......
Description: Fix spelling errors.
* dont' -> don't
* dont' -> don't
* descibed -> described
Author: Bas Couwenberg <sebastic@debian.org>
Forwarded: https://github.com/osmcode/osmium-tool/pull/129
--- a/man/osmium-file-formats.md
+++ b/man/osmium-file-formats.md
......@@ -13,3 +15,14 @@ Author: Bas Couwenberg <sebastic@debian.org>
`osm.bz2`
: XML format, compressed with bzip2.
--- a/man/osmium-export.md
+++ b/man/osmium-export.md
@@ -263,7 +263,7 @@ false
: No tags match.
Array
-: The array contains one or more expressions as descibed in the FILTER
+: The array contains one or more expressions as described in the FILTER
EXPRESSION section.
null
......@@ -9,8 +9,8 @@
"user": false,
"way_nodes": false
},
"linear_tags": [],
"area_tags": [],
"linear_tags": true,
"area_tags": true,
"exclude_tags": [],
"include_tags": []
}
......@@ -58,6 +58,7 @@ if(PANDOC)
add_man_page(1 osmium-extract)
add_man_page(1 osmium-fileinfo)
add_man_page(1 osmium-getid)
add_man_page(1 osmium-getparents)
add_man_page(1 osmium-merge)
add_man_page(1 osmium-merge-changes)
add_man_page(1 osmium-renumber)
......
......@@ -24,7 +24,7 @@ There is NO WARRANTY, to the extent permitted by law.
.SH CONTACT
.PP
If you have any questions or want to report a bug, please go to
http://osmcode.org/contact.html
https://osmcode.org/contact.html
.SH AUTHORS
$for(author)$$author$$sep$; $endfor$.
$endif$
......@@ -103,5 +103,5 @@ Add node locations to a planet file (without untagged nodes):
# SEE ALSO
* **osmium**(1), **osmium-file-formats**(5), **osmium-index-types**(5)
* [Osmium website](http://osmcode.org/osmium-tool/)
* [Osmium website](https://osmcode.org/osmium-tool/)
......@@ -110,5 +110,5 @@ Apply changes in `362.osc.gz` to planet file and write result to `new.osm.pbf`:
# SEE ALSO
* **osmium**(1), **osmium-file-formats**(5), **osmium-merge-changes**(1), **osmium-derive-changes**(1)
* [Osmium website](http://osmcode.org/osmium-tool/)
* [Osmium website](https://osmcode.org/osmium-tool/)
......@@ -71,5 +71,5 @@ Copy nodes and ways from source to destination file:
# SEE ALSO
* **osmium**(1), **osmium-file-formats**(5)
* [Osmium website](http://osmcode.org/osmium-tool/)
* [Osmium website](https://osmcode.org/osmium-tool/)
......@@ -97,5 +97,5 @@ To create an OPL file containing only open changesets:
# SEE ALSO
* **osmium**(1), **osmium-file-formats**(5)
* [Osmium website](http://osmcode.org/osmium-tool/)
* [Osmium website](https://osmcode.org/osmium-tool/)
......@@ -75,6 +75,6 @@ use will be a bit bigger.
# SEE ALSO
* **osmium**(1), **osmium-file-formats**(5), **osmium-sort**(1)
* [Osmium website](http://osmcode.org/osmium-tool/)
* [Osmium website](https://osmcode.org/osmium-tool/)
......@@ -96,5 +96,5 @@ Find changes in Nepal extract in January 2016:
# SEE ALSO
* **osmium**(1), **osmium-file-formats**(5), **osmium-apply-changes**(1), **osmium-diff**(1)
* [Osmium website](http://osmcode.org/osmium-tool/)
* [Osmium website](https://osmcode.org/osmium-tool/)