Releases: clarisma/geodesk-gol
Version 2.2.3
Version 2.2.2
Version 2.2.1
Version 2.2.0
This release enhances the gol load command: You can now download tilesets (or arbitrary sub-regions) directly from a URL.
A daily-updated GOB for the full OpenStreetMap dataset is published by Open Planet Data.
Enhancements
gol load: Downloading from URL
Version 2.1.1
Enhancements
gol load: Downloading from URL (preview)
Bug fixes
gol load: Fixed tile checksum computation
Version 2.1.0
This release enables support for the Geo-Object Bundle (GOB) format, a tightly compressed, fast-to-import representation of a GOL (typically half the size of a GOL and 30% smaller than OSM-PBF)
New functionality
-
gol load: Import tiles from a GOB -
gol save: Export tiles from a GOL as a GOB
Version 2.0.3
Bug fixes
- Linux only:
gol buildnow creates its work directory as non-COW to avoid severe slowdowns on brtfs
Version 2.0.2
Bug fixes
-
Fixed a regression that caused inefficient string encoding and prevented certain tag queries (#6)
-
Fixed formatting of tag values with large numbers
-
gol buildnow deletes old GOL if replacing
Version 2.0.1
This maintenance release adds a simple installer for Windows. While the GOL Tool is just a single self-contained executable, Windows often treats standalone .exe files with suspicion and may block the download.
You may still see a SmartScreen warning when running the installer. If that happens, click More info, then Run anyway.
As always, you can also build the gol executable from source using CMake 3.15+ and a C++20 compiler.
Version 2.0.0
GOL 2.0 is a complete rewrite of the Java-based GOL Tool, with a focus on performance and ease of use.
We've introduced a new file format for GOLs, which is even more efficient and compact, and allows incremental updates. As a result, GOLs created with GOL Tool 1.x are not compatible with Version 2.0, and vice versa.
The gol update command, which applies updates to a GOL via .osc files or an Osmosis replication server, will be introduced in December 2025.
Highlights
-
Common actions are now 2x to 10x faster
-
Distributed as a single self-contained executable (< 1 MB); no JVM required
-
Supported platforms: Windows, Linux, and macOS
Documentation
See https://docs.geodesk.com/gol
Major changes
General
-
A browser and Internet connection are no longer required to obtain documentation. All commands now provide text-based help (clarisma/gol-tool#102)
-
.polyfiles are no longer supported for option--area(-a) -- use GeoJSON or WKT instead -
Option
--tags(-t) has been renamed to--keys(-k) -
Ability to control level of parallelism via option
--threads -
Colored output (disable with
--no-color)
gol build
-
The IDs of all nodes (including those without tags) can now be stored in a GOL using option
--waynode-ids(-w); this increases the size of a GOL by 20%, but enables true lossless representation of OpenStreetMap data -
Empty relations are now discarded
-
No more placeholder features; instead, missing relation members are omitted, and the affected relation is tagged
geodesk:missing_members -
Reference cycles among relations are now automatically detected and resolved. Affected relations are tagged as
geodesk:removed_refcycles. This simplifies applications that analyze relations, as they no longer have to track which relations have been visited in order to avoid endless recursions (which would result in a stack overflow) -
Options
tag-duplicate-nodesandtag-orphan-nodeshave been removed. Duplicate and orphan nodes are now always tagged withgeodesk:duplicateandgeodesk:orphan(and hence are treated as features) -
The build process no longer uses config files. Instead, all relevant options can now be specified on the command line
-
The tags that cause a closed way to be treated as an area can now be customized via option
--areas(clarisma/gol-tool#41)
gol query
-
New interactive query mode (requires Python to be installed)
-
Support for
statsqueries has been removed; for advanced tag analysis, use GeoDesk for Python (also available in interactive mode) -
Displaying results on a Leaflet map (
--format=map) has been broken out as a new command (gol map) -
XML output now includes the true IDs of all nodes (requires a GOL to be built with option
-w) -
New default format
brief: This provides a basic description (including tags) of the queried features -
The
polyoutput format has been removed -
If the format is not specified via
--format(-f), it is deduced from the output file extension
gol info
- Tile statistics are currently unavailable. This feature will be re-introduced in Version 2.1.
gol load / gol save
We have completely redesigned the concept of tile repositories. We will soon introduce a new file format for efficient archival and distribution of GOLs. The load and save commands will support this new format instead.
gol map
- This new command takes the place of
gol query -f=map
Performance enhancements
-
gol buildis now twice as fast. On a modern workstation, building a GOL from a planet file takes ~15 minutes. -
gol querynow formats results in parallel, resulting in significant speedups: Extracting the world's rivers as GeoJSON previously took close to a minute -- now it only takes a few seconds on a 10-core system -
Queries are generally 6% faster due to file-format simplifications
-
Faster startup, as GOL 2.0 no longer relies on the JVM
Bug fixes
- Robust area classification (clarisma/gol-tool#103 / clarisma/gol-tool#109; also resolves clarisma/geodesk#52, clarisma/geodesk-py#29, clarisma/geodesk-py#30, clarisma/geodesk-py#58)
Known limitations
Windows
- Progress bars may look choppy on older fonts. Switch the shell's font to Cascadia Mono (in
Properties) or another font with broad Unicode support (such as JetBrains Mono or Source Code Pro).
Linux
- To perform interactive queries, you will first need to manually install GeoDesk for Python 2.0 (
pip install geodesk2).