Skip to content

Releases: rustprooflabs/pgosm-flex

0.4.0

04 Nov 16:15
9b25d0e
Compare
Choose a tag to compare

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 using default
  • Layerset everything really loads all layers
  • run-road-place redesigned to minimal. Still includes place, uses road_major (instead of road) and includes poi

New feature

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

  • Added docs/PROJECTS.md listing known projects using PgOSM Flex (commit 78cf01f)
  • Added bug report template (commit 5b02d64)

0.4.0.rc1

01 Nov 18:42
Compare
Choose a tag to compare
0.4.0.rc1 Pre-release
Pre-release

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 using default
  • Layerset everything really loads all layers
  • run-road-place redesigned to minimal. Still includes place, uses road_major (instead of road) and includes poi

New feature

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

  • Added docs/PROJECTS.md listing known projects using PgOSM Flex (commit 78cf01f)
  • Added bug report template (commit 5b02d64)

0.3.5

20 Oct 01:41
4c248c4
Compare
Choose a tag to compare

PgOSM Flex 0.3.5 Release Notes

Docker improvements

  • Upgraded image to Postgres 14 #179
  • Bump psycopg version #181

0.3.4

03 Oct 15:26
Compare
Choose a tag to compare

PgOSM Flex 0.3.4 Release Notes

Data improvements

  • Make route_motor exclusions consistent with _foot and _cycle - #178
  • New QGIS style for place - #171
  • Cleans out public.layer_styles_staging #171

Documentation improvements

Docker related

  • Runtime help messages improved & .dockerignore - #176

0.3.3

11 Sep 14:40
419ce12
Compare
Choose a tag to compare

PgOSM Flex 0.3.3 Release Notes

Docker runtime improvements

  • Properly sets PGOSM_DATE env var for historic loads. #169

0.3.2

04 Sep 21:12
2f6ed79
Compare
Choose a tag to compare

PgOSM Flex 0.3.2 Release Notes

Data improvements

  • Improve road layers for routing access control #161

Docker runtime improvements

  • Docker removes -latest files post-run #166
  • Output .sql includes date #162
  • Use psycopg3 instead of psycopg2 #165
  • Fix bug with historic date but missing data #163

0.3.1

27 Aug 23:57
63dee7f
Compare
Choose a tag to compare

PgOSM Flex 0.3.1 Release Notes

Data improvements

  • Include ski lifts in public transport - #145
  • Other public transport improvements - #157, #140
  • Track language in table osm.pgosm_flex - #154
  • Improve Quality Control queries - #157

Other improvements

  • Add --skip-dump flag to Docker runtime - #148
  • Docker images auto-built in Docker Hub - Fixed #132

0.3.0

18 Aug 02:59
Compare
Choose a tag to compare

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

  • Improve handling of ref #144
  • Fixed: public transport has ref now #143

Other improvements

  • Output filename includes region now - #131
  • Makefile to aid development/testing - #150
  • Improve Comments #142

0.2.1

11 Jul 14:54
0883256
Compare
Choose a tag to compare

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

26 May 23:01
03238bc
Compare
Choose a tag to compare

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

Backend related

  • Docker uses dynamic osm2pgsql command via osm2pgsql-tuner.com API (BREAKING CHANGE) - #129
  • Swapped JSON to osm2pgsql built-in support (BREAKING CHANGE) #122
  • Testing / QC - #112 / #116