How The Post is replacing Mapbox with open source solutions

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

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
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.
www.influxdata.com
featured
  • PMTiles

    Cloud-optimized + compressed single-file tile archives for vector and raster maps

  • I ran into this solution last week on HN and decided to give it a try. The pipeline that got me up and running was geofabrik osm.pbf[0] downloads, pass those into tilemaker[1] to create mbtiles, and then pass those into pmtiles[2] to make the pmtiles.

    [0]: https://download.geofabrik.de/index.html

    [1]: https://github.com/systemed/tilemaker

    [2]: https://github.com/protomaps/PMTiles

  • go-pmtiles

    Single-file executable tool for working with PMTiles archives

  • Yes, PMTiles is a tradeoff that isn't appropriate for transactional use cases. SQLite is pretty good for that already.

    There is a throughput limit on S3 files of approximately 5500 GETs/sec per key. Bare archives on S3 is an appropriate choice for small-scale, zero maintenance deployments. If your application demands any thing close to that level of throughput, you're probably either:

    * Serving individual tiles over the internet: you should use the CDN integration http://protomaps.com/docs/cdn ; most tile requests will be cached and only misses will interact with the S3 bottleneck.

    * Bulk accessing a spatial subset of tiles: You shouldn't be requesting HTTP GETs for single tiles, but instead entire subsets of tiles with a single Range request made possible by the internal Hilbert curve ordering. This is still WIP here: https://github.com/protomaps/go-pmtiles/issues/31

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • 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 switched over a fairly large transit client to PMTiles hosted on CloudFlare for their dynamic map and am switching another large transit client to using https://github.com/maptiler/tileserver-gl with MBTiles and the same style.json to generate static maps. It's all gone swimmingly and we've cut costs by about $1,000 a month.

  • titiler

    Build your own Raster dynamic map tile services

  • There's a lot to like about GDAL+Rasterio, although I've found having all HTTP requests go through GDAL's C API does result in some limitations on concurrency and multithreading. GDAL's configuration being based entirely on env vars also has its downsides: https://github.com/developmentseed/titiler/issues/186

  • tilemaker

    Make OpenStreetMap vector tiles without the stack

  • I ran into this solution last week on HN and decided to give it a try. The pipeline that got me up and running was geofabrik osm.pbf[0] downloads, pass those into tilemaker[1] to create mbtiles, and then pass those into pmtiles[2] to make the pmtiles.

    [0]: https://download.geofabrik.de/index.html

    [1]: https://github.com/systemed/tilemaker

    [2]: https://github.com/protomaps/PMTiles

  • valhalla

    Open Source Routing Engine for OpenStreetMap

  • Also see valhalla for an open source routing engine: https://github.com/valhalla/valhalla/

  • planetiler

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

  • Checkout https://github.com/onthegomap/planetiler.

    Super easy way to generate a MBTiles, which you can then serve directly, or further convert to PMTiles, which can be used to host vector tiles for client-side rendering using MapLibre (or other renderers).

    Raster tiles are a lot harder because you have to generate them on the server, and that's a lot more resource intensive.

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

    Open source routing engine for OpenStreetMap. Use it as Java library or standalone web server.

  • Valhalla is great (I've contributed a few patches and run it for a while)!

    Also check:

    http://project-osrm.org/

    https://www.graphhopper.com/open-source/

  • Leaflet

    🍃 JavaScript library for mobile-friendly interactive maps 🇺🇦

  • maplibre-gl-leaflet

    This is a binding from MapLibre GL JS to the familiar Leaflet API.

  • https://github.com/maplibre/maplibre-gl-leaflet exists!

    It's not perfect, and you don't see the full benefit of a WebGL renderer, but if you want to keep using a Leaflet API, it's great.

  • tippecanoe

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

  • future-mvt

    This is a place for all of us to figure out what the next MVT spec should look like. All content is CC0.

  • > PMTiles aside, this is still Mapbox’s world.

    Isn't this is a bit like saying we're still in Google's world because most maps still use Web Mercator? :)

    Good tech builds on what came before. Mapbox did a lot of ground-breaking work in building tooling around OSM, but so have many others. The fact that they named it Mapbox Vector Tiles is be genius in hindsight, because even though we may use tons of tooling they didn't create to build and render them, their name is still there.

    > The next challenge is to evolve the tech stack to something beyond what Mapbox worked up five/ten years ago.

    Agreed, and I think we've seen a lot of iterative work in the open since then. The next challenge is likely building a OSS stack to do proper 3D: open data (including OSM) to pixels, and that work is already beginning across a lot of organizations: https://github.com/nyurik/future-mvt/discussions, Overture Maps, MapLibre, etc.

  • maputnik

    An open source visual editor for the 'MapLibre Style Specification'

  • Use docker compose to start an nginx and maptiler/tileserver-gl. Use an nginx config to send requests upstream to tileserver and cache.

    Download a region file from maptiler, or make one.

    That's it.

    It's about 2h work, using certbot for certificates.

    If you want to create your own styles, it's slightly more fiddly, but essentially it's https://maputnik.github.io/editor/#0.41/0/0

    Host on hetzner for €3/month.

  • Ah, that makes sense.

    I'd take a look at https://github.com/onthegomap/planetiler--I bet that fits the bill for what you need if you have the servers but need the data. :)

  • pygeoapi

    pygeoapi is a Python server implementation of the OGC API suite of standards. The project emerged as part of the next generation OGC API efforts in 2018 and provides the capability for organizations to deploy a RESTful OGC API endpoint using OpenAPI, GeoJSON, and HTML. pygeoapi is open source and released under an MIT license.

  • If you're just looking for a WFS (geojson/data) and not WMS/raster output, you might look at PyGeoAPI. (https://pygeoapi.io/) I haven't used it, but have looked at it a bit for a potential project to export geo data as an API.

    Geoserver does fill a pretty big hole in the capabilities space -- it's pretty easy to get going with a bunch of layers and style them, but ultimately they're implementing a RDBMS in xml files, and it's a big, complicated, java system that's been one of the more troublesome portions of the stack (IME).

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
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

  • Protomaps – A free and open source map of the world

    12 projects | news.ycombinator.com | 23 Oct 2023
  • The Open Source GraphHopper Routing Engine 8.0 Released

    1 project | news.ycombinator.com | 18 Oct 2023
  • I honestly don't like using most Openstreetmap websites: slow, clunky. Is there a better way to do this faster on my own desktop?

    1 project | /r/openstreetmap | 26 May 2023
  • Mapping LA's Soft-Story Building Earthquake Retrofits [OC]

    2 projects | /r/dataisbeautiful | 22 Apr 2023
  • Fedora 38 Known issues

    2 projects | /r/Fedora | 19 Apr 2023