Releases: osmcode/osmium-tool
Releases · osmcode/osmium-tool
Version 1.16.0
Added
- Add "tags" strategy option for smart extract strategy. This checks relations for the specified keys/tags. For a relation to be completed it has to match the keys/tags.
Changed
- Limit the number of extracts possible with osmium extract to 500. Prevents us from running out of file descriptors.
Fixed
- Extract with a polygon could fail in some circumstances.
- Compile problem on Windows due to our use of
GetObject()
function from RapidJSON.
Version 1.15.0
Changed
- Now requires libosmium version 2.17.0 or newer.
- Remove the long-deprecated
--remove-deleted/--simplify
option on theapply-changes
command. - Remove the long-deprecated
--omit-rs
option on theexport
command. - Remove the long-deprecated
--history
option on thegetid
command. - Update included Catch to v2.13.10.
- Various small code cleanups.
Fixed
- Fix for polygon extracts. Sometimes objects outside the polygon used for extraction could end up in the output.
- Correctly detect relative paths on Windows.
- Fixes cross-compiling for mingw.
Version 1.14.0
Added
- Add
--keep-member-nodes
option toadd-locations-to-ways
command. When this is set, all nodes referenced directly from relations are kept in the output. If this is used, the input file is read twice an a bit more memory is needed. Osmium will run around 15% longer than without this option. - Add
-S relations=false
option tocomplete_ways
extract strategy. If you don't need any relations you can set this when usingosmium extract
and the extract will be done more quickly. - New
--clean
option toosmium extract
command to clean attributes.
Changed
- Switch to C++14 and CMake 3.5.0 as a minimum requirements.
- Switch to Catch version 2 testing framework.
Fixed
- Fix possible crash when pager set for
osmium show
command was less then 4 characters long. - Fixed hangup in
osmium show
when a non-existing pager was used. - Fixed some tests.
- Fix/improve error detection in export code. More errors are detected now
which makes a difference when the-e
or-E
options are used.
Version 1.13.2
Added
- New
osmium removeid
command to remove all objects with the specified IDs from an OSM file. (This is, in a way, the opposite of theosmium getid
command.) - New
osmium-output-headers(5)
man page with details about the settings supported by the--output-header
command line option. - New
-g header.boxes
output option toosmium fileinfo
to get the bounding box(es) set in the header. - New option
--attributes
for the export command to specified attributes that should show up in the output files. (This needed a config file before.) - New option
--buffer-data
forosmium cat
command to buffer all read data in memory before writing it out again. Can be used for benchmarking.
Changed
- The
osmium merge
command now checks that the input files are ordered correctly and warns or stops if this is not the case. - Improved messages about files read in verbose mode for
osmium cat
.
Fixed
- Fixed relation member recursion in tags-filter so that objects referenced from matching relations are also in the output.
- Fix point-in-polygon-check in extract command. More nodes directly on the boundary should now be inside the polygon. This fixes a problem with extracts on the antimeridian.
- When an output file name for the extract command contains multiple dots (.), the file type could not always be deduced correctly. This improves detection for .json and .poly files.
- Do not show progress when any of the inputs is stdin. Because we don't know how large the input file is we can't display a reliable progress indicator.
- Allow
none
index type onosmium export
.
Version 1.13.1
Changed
- Update
osmium-file-formats
man page to include newer file format options.
Fixed
- The
extract
command did not work correctly on history files. Sometimes deleted objects were not detected as such and the resulting file was not a correct history file. - Open input file only once in
tags-filter
command if-R
,--omit-referenced
is used. This way it works when reading from STDIN.
Version 1.13.0
Added
- Add support for negative IDs in add-locations-to-ways command.
- Show setting of
-i
,--invert-match
option on tags-filter command. - Show bytes read and written in verbose mode in
osmium cat
output.
Changed
- Now depends on libosmium 2.16.0 or greater.
- Has support for PBF lz4 compression which is enabled by default if the library is found. Disable by setting CMake option
WITH_LZ4
toOFF
. - An OSM file header can now be set based on the input file header in extract command from the config file. Set the header to the special
null
value for this. - The
fileinfo
command now shows a Metadata section as described in the man page.
Fixed
- When using the
-I
,--id-osm-file
option in thetags-filter
command, not only the objects in the specified file were marked but also the nodes referenced from ways and the members referenced from relations. This had two results: a) When not using-r
,--add-referenced
: too many objects ended up in the resulting file. b) When using-t
,--remove-tags
: tags from those member objects were not removed. - When change files have been created from extracts it is possible that they contain objects with the same type, id, version, and timestamp. In that case we still want to get the last object available. This is now done correctly.
- Various man page fixes.
Version 1.12.1
Changed
- Require libosmium 2.15.6 which has an important fix related to multipolygons assembly (needed for "osmium export").
Version 1.12.0
Added
- New
osmium tags-count
command. - New
--clean
option toosmium cat
command to clean attributes.
Fixed
- Allow index types with file name in export command.
Version 1.11.1
Added
- Introduce a generic facility for setting output format options. They can be set on the command line (
--format-option
/-x
) or in theformat_options
section in the config file. Settings can be any OPTION=VALUE type string. There are two new settings: For the geojsonseq format, the optionprint_record_separator=false
replaces the command line option--omit-rs
/-r
which is now deprecated. Thetags_format
option for the Pg output format allows using thehstore
type for tags instead ofjson(b)
.
Changed
- Open output file earlier in tags-filter command, so we see it immediately in case this fails.
Fixed
- When tags-filter is used with
--remove-tags
, matching ways got their tags removed if they are also referenced from relations. This was clearly wrong.
Version 1.11.0
Added
- New option
--remove-tags
/-t
togetid
command. When used the tags of all objects are removed that are not explicitly requested but are only included to complete references. - Add
create-locations-index
andquery-locations-index
commands. These are used to create, update, query and dump node location indexes on disk. These indexes store the location of nodes, typically to add them to ways and relations later. It is the same format used by osm2pgsql (they call it "flat node store") and by theadd-locations-to-ways
command. - Support for new Spaten export format.
- Add special syntax for
--output-header
to copy header from input. Sometimes it is useful to copy header fields from the input to the output, for instance theosmosis_replication_timestamp
field. This can now be done for some commands (currently onlyextract
) by using the special syntax--output-header=OPTION!
, i.e. using an exclamation mark instead of setting a value.
Changed
- Better checking of coordinates in extract boundary polygons/bboxes.
- Compile with NDEBUG in RelWithDebInfo mode.
- Various code cleanups based on problems found with clang-tidy.
- Updated Catch to version 1.12.2.
- Mark PBF output of extract, renumber, and sort commands as sorted. Uses the new header option
sorting
of the libosmium library which is not in a released version yet. This sets theSort.Type_then_ID
header property in the PBF file.
Fixed
- Only check if way is closed after check that it contains nodes.
get_start_id()
is notnoexcept
.- Man pages correctly show options starting with double dash and other small man page fixes.
- Allow file-based location index types (
dense_file_array
andsparse_file_array
) that need a file name. Using them was not possible because of an overzealous check that didn't recognize the file name.