Skip to content

@joto joto released this Jun 27, 2020 · 4 commits to master since this release

Changed

  • Require libosmium 2.15.6 which has an important fix related to multipolygons assembly (needed for "osmium export").
Assets 2

@joto joto released this Apr 21, 2020 · 6 commits to master since this release

Added

  • New osmium tags-count command.
  • New --clean option to osmium cat command to clean attributes.

Fixed

  • Allow index types with file name in export command.
Assets 2

@joto joto released this Nov 20, 2019 · 20 commits to master since this release

Added

  • Introduce a generic facility for setting output format options. They can be set on the command line (--format-option/-x) or in the format_options section in the config file. Settings can be any OPTION=VALUE type string. There are two new settings: For the geojsonseq format, the option print_record_separator=false replaces the command line option --omit-rs/-r which is now deprecated. The tags_format option for the Pg output format allows using the hstore type for tags instead of json(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.
Assets 2

@joto joto released this Sep 16, 2019 · 33 commits to master since this release

Added

  • New option --remove-tags/-t to getid 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 and query-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 the add-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 the osmosis_replication_timestamp field. This can now be done for some commands (currently only extract) 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 the Sort.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 not noexcept.
  • Man pages correctly show options starting with double dash and other small man page fixes.
  • Allow file-based location index types (dense_file_array and sparse_file_array) that need a file name. Using them was not possible because of an overzealous check that didn't recognize the file name.
Assets 2

@joto joto released this Dec 10, 2018 · 113 commits to master since this release

Added

  • The fileinfo command now has an --object-type/-t option like some other commands.
  • Extended fileinfo command to show internal buffer counts and sizes.
  • Add --strategy option to sort command. New multipass strategy which reads the input file(s) three times making the sort a bit slower, but also using less memory.
  • New option --remove-tags/-t to tags-filter command. When used the tags of all objects that are not matching the filter expression but are included as references are removed.
  • New option for smart extract strategy: complete-partial-relations=X will complete all relations with at least X percent of their members already in the extract.
  • New export format "pg" creates a file in the PostgreSQL COPY text format with the GEOMETRY as WKB and the tags in JSON(B) format. This can be imported into a PostgreSQL/PostGIS database very quickly.

Changed

  • Show better error message if output directory is missing for extract command.

Fixed

  • Several fixes for the tags-filter command which could lead to wrong results.
Assets 2

@joto joto released this Aug 18, 2018 · 154 commits to master since this release

Changed

  • Improved export command man page.

Fixed

  • Regression: Default for linear_tags and area_tags should be true. It was before v1.9.0 and it is documented this way.
Assets 2

@joto joto released this Aug 11, 2018 · 161 commits to master since this release

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.
Assets 2

@joto joto released this Mar 31, 2018 · 209 commits to master since this release

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 Michael Reichert).
  • 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 copyrighted or private data.

Changed

  • Needs libosmium 2.14.0.
  • 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 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. Only the first feature of this collection is used.

Fixed

  • 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 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 robust.
  • Only install manpage directories, not CMake files. (Thanks Bas Couwenberg.)
Assets 2

@joto joto released this Aug 25, 2017 · 317 commits to master since this release

Added

  • Extended some man pages.

Changed

  • Allow any OSM file header option with fileinfo -g. There is no final list of possible options, so any option should be allowed.
  • Needs libosmium 2.13.1.

Fixed

  • Specifying extracts in config files was broken. The extract command was not reading config files correctly and all resulting OSM files were empty. Specifying an extract on the command line using --bbox or --polygon was still working.
  • Allow zero-length index files in renumber.
Assets 2

@joto joto released this Aug 15, 2017 · 330 commits to master since this release

Added

  • New export command for exporting OSM data into GeoJSON format. The OSM data model with its nodes, ways, and relations is very different from the data model usually used for geodata with features having point, linestring, or polygon geometries. The export command transforms OSM data into a more usual GIS data model. Nodes will be translated into points and ways into linestrings or polygons (if they are closed ways). Multipolygon and boundary relations will be translated into multipolygons. This transformation is not loss-less, especially information in non-multipolygon, non-boundary relations is lost. All tags are preserved in this process. Note that most GIS formats (such as Shapefiles, etc.) do not support arbitrary tags. Transformation into other GIS formats will need extra steps mapping tags to a limited list of attributes. This is outside the scope of this command.
  • New --bbox/-B option to changeset-filter command. Only changesets with bounding boxes overlapping this bounding box are copied to the output.
  • Support for the new flex_mem index type for node location indexes. It is used by default in the add_locations_to_ways and export commands. The new man page osmium-index-types documents this and other available indexes.

Changed

  • The order of objects in an OSM file expected by some commands as well as the order created by the sort command has changed when negative IDs are involved. (Negative IDs are sometimes used for objects that have not yet been uploaded to the OSM server.) The negative IDs are ordered now before the positive ones, both in order of their absolute value. This is the same ordering as JOSM uses.
  • The commands check-refs, fileinfo, and renumber now also work with negative object IDs.
  • Allow leading spaces in ID files for getid command.
  • Various error messages and man pages have been clarified.
  • Updated minimum libosmium version required to 2.13.0.
  • Update version of Catch unit test framework to 1.9.7.

Fixed

  • Libosmium fix: Changesets with more than 2^16 characters in comments now work.
  • Libosmium fix: Changeset bounding boxes are now always output to OSM files (any format) if at least one of the corners is defined. This is needed to handle broken data from the main OSM database which contains such cases. This now also works when reading OPL files.
Assets 2
You can’t perform that action at this time.