Show HN: Flatmap – a new tool to create vector tiles from OpenStreetMap data

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • planetiler

    Flexible tool to build planet-scale vector tilesets from OpenStreetMap data fast

  • Flatmap calls into user-defined profiles in 2 places: first when processing each input element to map it to a vector tile feature, then a second time right before emitting all vector features in a layer.

    That second call lets you manipulate vector features on each tile using JTS geometry utilities (i.e. merge nearby polygons or lines with the same tags). PostGIS uses GEOS which is ported from JTS so you have access to pretty much the same geometry utilities - often with the same name.

    It's definitely not as flexible as a PostGIS based solution - especially if you join faraway features that don't appear on the same tile, but in practice it was enough to port the entire OpenMapTiles schema.

    See the basemap layers package: https://github.com/onthegomap/flatmap/tree/main/flatmap-base...

    For example see the landcover layer: https://github.com/onthegomap/flatmap/blob/main/flatmap-base...

    Which was ported from the SQL contained in: https://github.com/openmaptiles/openmaptiles/tree/master/lay...

    Also, this OpenMapTiles PR might help improve your pipeline after it gets merged: https://github.com/openmaptiles/openmaptiles-tools/pull/383

  • openmaptiles

    OpenMapTiles Vector Tile Schema Implementation

  • Flatmap calls into user-defined profiles in 2 places: first when processing each input element to map it to a vector tile feature, then a second time right before emitting all vector features in a layer.

    That second call lets you manipulate vector features on each tile using JTS geometry utilities (i.e. merge nearby polygons or lines with the same tags). PostGIS uses GEOS which is ported from JTS so you have access to pretty much the same geometry utilities - often with the same name.

    It's definitely not as flexible as a PostGIS based solution - especially if you join faraway features that don't appear on the same tile, but in practice it was enough to port the entire OpenMapTiles schema.

    See the basemap layers package: https://github.com/onthegomap/flatmap/tree/main/flatmap-base...

    For example see the landcover layer: https://github.com/onthegomap/flatmap/blob/main/flatmap-base...

    Which was ported from the SQL contained in: https://github.com/openmaptiles/openmaptiles/tree/master/lay...

    Also, this OpenMapTiles PR might help improve your pipeline after it gets merged: https://github.com/openmaptiles/openmaptiles-tools/pull/383

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • operations

    OSMF Operations Working Group issue tracking

  • Nice :)

    There's an ongoing effort to research vector tile solutions for openstreetmap.org. I wonder how your software stack compares to tilemaker, which has seen some optimization lately.

    https://github.com/openstreetmap/operations/issues/565

  • openmaptiles-tools

    Tools to turn the schema into other formats

  • Flatmap calls into user-defined profiles in 2 places: first when processing each input element to map it to a vector tile feature, then a second time right before emitting all vector features in a layer.

    That second call lets you manipulate vector features on each tile using JTS geometry utilities (i.e. merge nearby polygons or lines with the same tags). PostGIS uses GEOS which is ported from JTS so you have access to pretty much the same geometry utilities - often with the same name.

    It's definitely not as flexible as a PostGIS based solution - especially if you join faraway features that don't appear on the same tile, but in practice it was enough to port the entire OpenMapTiles schema.

    See the basemap layers package: https://github.com/onthegomap/flatmap/tree/main/flatmap-base...

    For example see the landcover layer: https://github.com/onthegomap/flatmap/blob/main/flatmap-base...

    Which was ported from the SQL contained in: https://github.com/openmaptiles/openmaptiles/tree/master/lay...

    Also, this OpenMapTiles PR might help improve your pipeline after it gets merged: https://github.com/openmaptiles/openmaptiles-tools/pull/383

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts