Protomaps – A free and open source map of the world

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

  • Worth mentioning this project (https://github.com/onthegomap/planetiler) that lets you create osm mbtiles and pmtiles pretty easy!

  • gpq

    Utility for working with GeoParquet

  • 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
  • tippecanoe

    Build vector tilesets from large collections of GeoJSON features. (by felt)

  • maplibre-gl-js

    MapLibre GL JS - Interactive vector tile maps in WebGL2

  • (.shp .gpkg ...) | ogr2ogr -> .geojson | tippecanoe -> .pmtiles

    for OpenStreetMap data there's planetiler[4], and and openmaptiles[5] styles that work with Maplibre

    with those combinations you've got a great start to something you can host for pennies on AWS S3+CloudFront or Cloudflare R2, with an open source data pipeline

    [1] https://maplibre.org/

  • gdal

    GDAL is an open source MIT licensed translator library for raster and vector geospatial data formats.

  • serverlessmaps

    Creating and hosting serverless maps

  • We've had quite some success with deploying "serverless" maps, leveraging PMTiles. Have a look at https://github.com/serverlessmaps/serverlessmaps if you're interested to deploy this on AWS CloudFront/Lambda@Edge/S3...

  • TileServer GL

    Vector and raster maps with GL styles. Server side rendering by MapLibre GL Native. Map tile server for MapLibre GL JS, Android, iOS, Leaflet, OpenLayers, GIS via WMTS, etc.

  • I've been using TileServer GL for a while and it looks like there is support for pmtiles coming soon.

    https://github.com/maptiler/tileserver-gl/pull/1009

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • tinygpkg-data

    Small geographic datasets based on open data + tools

  • SVG is kind-of terrible for maps, but you can get pretty small with GeoPackage (read: sqlite). I recently spent a bit too long on exactly this problem and ended up with the following.

    116KB - 5MB for country borders

    16MB - 52MB for ~50K city/county level borders based on geoBoundaries

    The range of sizes depends on how much custom compression/simplification you put into it. The source files are about 10x bigger, but that's already pretty small.

    Topojson might be even smaller though.

    Check the repo for details /selfplug https://github.com/SmilyOrg/tinygpkg-data

  • go-pmtiles

    Single-file executable tool for working with PMTiles archives

  • I just used their pmtiles tool to grab a map of just the area around Half Moon Bay, south of San Francisco.

    I grabbed the latest macOS Go binary from https://github.com/protomaps/go-pmtiles/releases

    I found a rough bounding box using http://bboxfinder.com/#37.373977,-122.593346,37.570977,-122....

    Then I ran this:

        pmtiles extract https://build.protomaps.com/20231023.pmtiles hmb.pmtiles \

  • basemaps

    Basemap PMTiles generation and cartographic styles for OpenStreetMap data and more (by protomaps)

  • The protomaps base map is also built on planetiler: https://github.com/protomaps/basemaps - and Brandon also contributes a lot of improvements to planetiler!

  • PlanetilerTorrent

    a script to generate planetiler torrents

  • I've been testing a setup that automatically generates OpenStreetMap/OpenMapTiles formatted pmtiles and mbtiles, then makes them available by torrent. The torrents get placed in a rss feed at https://planetgen.wifidb.net/

    Basically what I did was set up 'qbittorent' client to watch the openstreetmap rss feed. when it downloads a new pbf file, it runs this script I made at https://github.com/acalcutt/PlanetilerTorrent , which was based of the osm torrent creation process.

    The script creates pmtiles and mbtiles, then makes torrent and starts seeding them in qbittorent.

    In qbittorent I have options like how long I want to seed for (30 days), what do do when done seeding (Delete the files) and also speed controls so I can limit bandwidth during my working hours.

    I have this running on a old laptop with 2TB nvme/64GB memory. It seeems to work pretty well so far. It would be nice if my internet speeds were a little better for initial seeding, but at least the torrents share the load with other people who are downloading/

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