pmtiles.io is an open source viewer for PMTiles tilesets. It’s a great way to inspect tilesets before you publish them on your site or app. It’s also a simple way to share GIS datasets without coding anything - just upload your PMTiles to any cloud storage, set up CORS, and deep link to the file on pmtiles.io using embedded URL parameters. pmtiles.io got a re-write! It now features: Light UI mode support for viewing TileJSON (ZXY endpoints) in addition to PMTiles.| protomaps.com
This is the first post explaining how the pmtiles extract command works to slice a smaller tileset from a larger one. Protomaps Builds contains a daily planet tileset - if you want just Canada, or South America, you can pass pmtiles extract a GeoJSON to get only that region. The first step in extracting a slice is computing a tile covering for the target region. A covering is the set of all tiles that touch the edge of the region, or lie completely within it.| protomaps.com
The Protomaps project consists of: The open PMTiles format; The tools and ecosystem for creating and publishing PMTiles; A basemap PMTiles created from OpenStreetMap data and other open sources. Mapping apps need background context to help humans understand where things are. The base layer has water bodies, buildings and roads. You could use Google Maps and Apple maps for those, but Protomaps is open source! Two key aspects of a basemap are labeling and generalization.| protomaps.com
Developing software for OpenStreetMap data all starts with the PBF - it’s nodes, ways and relations in the raw, native OSM format. You can make tiled maps, PostGIS databases, or GeoJSON out of PBFs, but those conversions lose some tagging and metadata. With PBF, you get pure OpenStreetMap! The global OSM.org website provides a weekly copy of the entire planet as one ~80GB PBF. And there’s convenient sites like Geofabrik Downloads for getting just one country of data.| protomaps.com
The PMTiles format is a cloud-native way to visualize map data in the browser, directly from cloud storage. Browser decoding via the TypeScript implementation is ideal for most use cases, and accelerated deployment options run on AWS and Cloudflare. Here’s some highlights of new platforms and integrations in 2024: Style Editor Maputnik is a visual editor for MapLibre Style JSON that’s been migrated to the MapLibre GitHub umbrella organization. It’s the most full-featured way to tweak co...| Protomaps Blog
PMTiles is the open archive format that underlies the Protomaps ecosystem. It’s a single file that enables deploying an entire world map as a static artifact, making mapping accessible to the widest audience of front-end developers and neogeographers. However, PMTiles isn’t the right solution for all mapping applications. PMTiles is made for web-based viewing of large, mostly static datasets., for example: base maps built from OpenStreetMap data. An interactive exploration of building age...| protomaps.com
The Protomaps open source project is a recipient of a NLnet open source grant! This grant is part of the NGI (Next Generation Internet) initiative of the European Commission. Motivation The goals of the NGI Zero Core initiative are to develop alternatives and improvements to core internet hardware, software and protocols, in order to remove gatekeepers, choke points and surveillance capabilities on the web. Maps are everywhere on the Internet.| protomaps.com
The Protomaps Project has gained several new repositories in the past year, including the serverless implementations for AWS and Cloudflare, and a new basemaps repository, which generates a full planet PMTiles archive from OpenStreetMap. A free daily build of the planet output is available on maps.protomaps.com/builds. These additional components complete the transition from an open core project into an open source one, distributed under a standard BSD License. What is Open Core?| protomaps.com
One detail in the PMTiles version 3 specification is a boolean flag called clustered. Popular tools like the pmtiles CLI, tippecanoe and Planetiler always create clustered archives. PMTiles is an open specification in the public domain, so this post is to aid developers in implementing this optional feature. Clustered The term clustered comes from relational databases: the PostgreSQL manual defines that “When a table is clustered, it is physically reordered based on the index information.| protomaps.com
Protomaps is a independent project to build a new map of the world. This scale of mission demands a wide range of novel frontend and backend components, like an open source spatial database, a serverless tile archive format, and a vector map renderer. There’s also a web application — the one you’re looking at now — with subsystems to process background tasks, ingest metrics and manage objects on cloud storage. Finally, there’s the core map engine for cartographic generalization and ...| Protomaps Blog
If you develop for the web, you’ve probably heard of OpenStreetMap, an open data alternative to Google Maps. Despite the wide name recognition of OSM, you may have questions like how do I make a web map with OSM data? and how can I host maps myself? There are popular guides on how to work with planet files, PostGIS databases, and run tileservers for the OSM “slippy map” style. Even if you figure those out, you may be curious about vector maps for high-DPI sharpness and client-side custo...| protomaps.com
Disk layout optimization for tile archives| protomaps.com
PMTiles is a single-file archive format for pyramids of tile data, like those used to power interactive maps. It’s designed to make storage and serving of planet-scale tiled maps simple using only affordable S3-like storage and HTTP Range Requests. The physical world depicted in maps is infinitely detailed, but also not random like white noise. By exploiting redundancy in the physical world, we can make specialized formats for GIS more compact and efficient.| protomaps.com
Protomaps is a new mapping system, and usually that implies a new map API - an HTTP service, hosted by a company somewhere Out There on the Web. Your typical interactive web map talks to an API using these conventions: The world is split into a pyramid of square tiles, with objects simplified to one of many pre-determined zoom levels. The browser fetches an image or other data tile as the user zooms and pans.| protomaps.com
Update: This post describes the internals of the PMTiles v2 format. Check out the post on PMTiles V3 for the latest! Serverless computing supposedly will let developers run sophisticated applications on the web without wrangling virtual machines or databases. New products like Lambda offer simpler deploys for code; emerging standards like WebAssembly let you host SQLite databases on GitHub pages and make queries all from your browser. These examples rely on developers adopting new workflows o...| protomaps.com
A common user interaction in GIS applications is selecting a bounding box or polygon: Your application may then use this polygon to do things like: Render a high resolution, printable map image. Generate a report of the surface area of buildings. Calculate an isochrone map of distance to transit. Users of your service expect that any action will complete in a reasonable amount of time. It’s smart to build in a limit for the amount of data processed on the server.| protomaps.com
Self-host map APIs on your own cloud account, serverlessly| protomaps.com
Accelerating Protomaps with a CDN for fast and affordable maps| protomaps.com