Releases: rustprooflabs/pgosm-flex
0.4.0
PgOSM Flex 0.4.0
The major improvement in this release is the ability to easily configure layersets using a simple INI file (#138). This change came with two important wins, the first win being increased ability to customize at low overhead. The second win was to remove the main block to supporting osm2pgsql's --append
mode (see #167) via #183. On the way through making these changes, a bug in the unitable
style was discovered (#185) that had prevented it from being used in conjunction with other styles.
Prior to this release the layerset required custom defined lua script and sql scripts controlling the logic. There were a variety of undocumented limitations in how these had to be configured.
Changes to note
--layerset=run-all
is now--layerset=default
- Defining
layerset
is optional if usingdefault
- Layerset
everything
really loads all layers run-road-place
redesigned tominimal
. Still includesplace
, usesroad_major
(instead ofroad
) and includespoi
New feature
- Customize layerset with ini #138
- Layerset documentation in docs/LAYERSETS.md
Bug fixes
- Docker process logs to stdout instead of internally defined log file #189 - Suggested by @jacopofar
- Unitable can now be combined with other layers #185
- Meta table
osm.pgosm_flex
created and populated via LuaSQL instead of osm2pgsql hack - #183 (unblocks #167)
Community
0.4.0.rc1
PgOSM Flex 0.4.0 RC 1
The major improvement in this release is the ability to easily configure layersets using a simple INI file (#138). This change came with two important wins, the first win being increased ability to customize at low overhead. The second win was to remove the only known block to supporting osm2pgsql's --append
mode (see #167) via #183. On the way through making these changes, a bug in the unitable
style was discovered (#185) that prevented it from being used in conjunction with other styles.
Prior to this release the layerset required custom defined lua script and sql scripts controlling the logic. There were a variety of undocumented limitations in how these had to be configured.
Changes to note
--layerset=run-all
is now--layerset=default
- Defining
layerset
is optional if usingdefault
- Layerset
everything
really loads all layers run-road-place
redesigned tominimal
. Still includesplace
, usesroad_major
(instead ofroad
) and includespoi
New feature
- Customize layerset with ini #138
- Layerset documentation in docs/LAYERSETS.md
Bug fixes
- Docker process logs to stdout instead of internally defined log file #189 - Suggested by @jacopofar
- Unitable can now be combined with other layers #185
- Meta table
osm.pgosm_flex
created and populated via LuaSQL instead of osm2pgsql hack - #183 (unblocks #167)
Community
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
PgOSM Flex 0.3.0 Release Notes
⚠️ Breaking Change
Docker image now uses Python script instead of Bash script (#147). Should be functionally equivalent but usage has changed slightly. Review readme for latest instructions.
This overhaul enables improvements in the short term (#131, #150, #148) and more to come in the long term.
Thank you jacopofar for your help!
Data improvements
Other improvements
0.2.1
PgOSM Flex 0.2.1 Release Notes
This release is paired with osm2pgsql v1.5.0. Before this release there wasn't a recent combination of tagged releases between this project and osm2pgsql that worked.
⚠️ Breaking change: Data type handling in osm2pgsql
Fixed to match in #137
Bump required osm2pgsql version
Requires osm2pgsql v1.5.0
Data related improvements
- Add public transport layer (point/line/polygon) - #115
Backend related
- Docker can process parent region, not only sub-regions - #135
0.2.0
PgOSM Flex 0.2.0 Release Notes
This release includes data quality improvements along with a major overhaul to the in-Docker process. The improvements in Docker are tied to recent improvements to osm2pgsql.
A big part of the improvements in this release are related to the underlying improvements in osm2pgsql made in the master branch after the osm2pgsql v1.4.2 release. Those changes include a major overhaul of the middle processing, making the RAM requirements a) significantly lower, and b) predictable. See the blog post OpenStreetMap to PostGIS is getting lighter for more. This key improvement cascaded into a new open source API (https://osm2pgsql-tuner.com/) to provide recommended osm2pgsql commands for a given amount of system RAM and the size of the PBF being processed. This allowed the script in Docker to be reworked to determine the combination of osm2pgsql switches to use for processing (--slim
, --drop
, --flat-nodes
, --cache
) instead of always using --slim --drop --cache=N>0
.
Multiple regions were tested and found to run 10-40% faster than the previous script. Previously the recommendation for the Docker image was to avoid for 2+ GB PBF files, now the Docker image makes it easy and fast for all PBF sizes tested so far.
⚠️ Breaking change: Docker Exec - Different 3rd Param
The Docker exec command had a change in the 3rd parameter. Previously the 3rd parameter set the cache value for osm2pgsql (in MB), it now expects the system RAM (in GB!) to use to determine the osm2pgsql command to run. This example command sets the system RAM to 8 GB.
docker exec -it \
-e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_USER=postgres \
pgosm bash docker/run_pgosm_flex.sh \
north-america/us \
district-of-columbia \
8 \
run-all
⚠️ Breaking change: JSON handling in osm2pgsql
The osm2pgsql project built in automatic JSON handling when table columns are declared as JSON
/JSONB
. This required remove
the Lua JSON script that was previously added.
Bump required osm2pgsql version
The two breaking changes listed mean this version of PgOSM Flex requires a currently non-tagged release of osm2pgsql. In the future when the osm2pgsql version following 1.4.2 is released, this project will pin to that for the minimum version. With the improvements described above, the new recommended way to use PgOSM Flex is to use the Docker image to handle the processing. Using Docker makes the version of osm2pgsql installed a non-issue.
If you are using osm2pgsql installed on a server, you must install the latest master
branch of osm2pgsql. The instructions in MANUAL-STEPS-RUN.md cover this install.
Data related improvements
- Infrastructure improvements - Add line, polygon types, plus generic utility keys - #133
- Add
road_polygon
to handle elevators #127 - Improve wheelchair from simple
boolean
to match OSM defined values #117 / #125 - Add door/entrance to Layers Building and Indoor (#108 / #121)
- Fixed Bench processing bug - #119
- Additional amenity keys included, code improvements - #110, #114, #120
- Add relations to building layer #109 / #111