Skip to content
Commits on Source (18)
---
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.9.0-1~bpo9+1) stretch-backports; urgency=medium
* Rebuild for stretch-backports.
-- Bas Couwenberg <sebastic@debian.org> Fri, 17 Aug 2018 07:15:04 +0200
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, 12 Aug 2018 08:40:56 +0200
osmium-tool (1.8.0-2) unstable; urgency=medium
* Bump Standards-Version to 4.1.5, no changes.
* Strip trailing whitespace from control & rules files.
* Use filter instead of findstring to prevent partial matches.
* Update osmcode.org URLs to use HTTPS.
* Drop autopkgtest to test installability.
* Add lintian override for testsuite-autopkgtest-missing.
* Add patch to fix spelling errors.
-- Bas Couwenberg <sebastic@debian.org> Wed, 01 Aug 2018 10:52:52 +0200
osmium-tool (1.8.0-1~bpo9+1) stretch-backports; urgency=medium
* Rebuild for stretch-backports.
......
......@@ -9,13 +9,13 @@ 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.1.3
Standards-Version: 4.2.0
Vcs-Browser: https://salsa.debian.org/debian-gis-team/osmium-tool/
Vcs-Git: https://salsa.debian.org/debian-gis-team/osmium-tool.git -b stretch-backports
Homepage: http://osmcode.org/osmium-tool/
Homepage: https://osmcode.org/osmium-tool/
Package: osmium-tool
Architecture: any
......@@ -42,4 +42,3 @@ Description: Command line tool for working with OpenStreetMap data
data filtering and conversion functions. Osmium can create WKT, WKB, OGR, GEOS
and GeoJSON geometries for easy conversion into many GIS formats and it can
assemble multipolygons from ways and relations.
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Osmium Tool
Upstream-Contact: Osmium Developers (http://osmcode.org/contact)
Upstream-Contact: Osmium Developers (https://osmcode.org/contact)
Source: https://github.com/osmcode/osmium-tool
Files: *
......
spelling-errors.patch
Description: Fix spelling errors.
* 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
@@ -95,7 +95,7 @@ Here are some examples:
: PBF format.
`pbf,add_metadata=false`
-: PBF format, dont' write metadata
+: PBF format, don't write metadata
`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
......@@ -20,7 +20,7 @@ override_dh_auto_configure:
override_dh_auto_test:
# Ignore test failures on problematic architectures only
ifneq (,$(findstring $(DEB_BUILD_ARCH),"mips mips64el mipsel"))
ifneq (,$(filter $(DEB_BUILD_ARCH),mips mips64el mipsel))
dh_auto_test || echo "Ignoring test failures"
else
dh_auto_test
......@@ -28,4 +28,3 @@ endif
override_dh_installchangelogs:
dh_installchangelogs -k CHANGELOG.md
# Not worth the effort
testsuite-autopkgtest-missing
# Test installability
Depends: @
Test-Command: /bin/true
---
Bug-Database: https://github.com/osmcode/osmium-tool/issues
Bug-Submit: https://github.com/osmcode/osmium-tool/issues/new
Contact: Osmium Developers (http://osmcode.org/contact)
Contact: Osmium Developers (https://osmcode.org/contact)
Name: Osmium Tool
Repository: https://github.com/osmcode/osmium-tool.git
Repository-Browse: https://github.com/osmcode/osmium-tool
......@@ -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$