Loading...

Enhance Azure Maps with Overture Maps Data using PMTiles!

Enhance Azure Maps with Overture Maps Data using PMTiles!

 

Supercharge Azure Maps with Overture Maps Data using PMTiles!

We’ve got some exciting news. Azure Maps now supports PMTiles! This means you can overlay massive geospatial datasets on Azure Maps with incredible efficiency and ease. PMTiles lets your data-intensive mapping applications access large datasets seamlessly, without the need to load the entire dataset on the client side. The result? Faster performance and more powerful, responsive mapping applications on Azure Maps.

What exactly are PMTiles?

Think of PMTiles as a supercharged ZIP file for tiled data. It’s a single-file archive format that consolidates numerous individual tiles into one neat package. This makes storage a breeze and managing your data way simpler compared to juggling thousands of small files.

 

PMTiles are perfect for cloud-native deployments and can be hosted on Azure Blob Storage. This means you can build low-cost, serverless map applications without needing a custom backend or third-party tile provider. With PMTiles, you can directly request data from the file over HTTP, accessing specific map tiles without any intermediaries. Whether you’re dealing with vector data, raster data, or terrain mesh data, PMTiles has got you covered.

 

image.png

How to create PMTiles

If you’re looking to create PMTiles for vector data, Tippecanoe is your go-to tool. It produces optimized vector tiles for visualization, simplifying or removing small features at low zoom levels to keep the tiles compact and manageable. This ensures a smooth user experience on the client side.

Displaying and Using PMTiles on Azure Maps

Azure Maps now supports custom protocols like pmtiles:// for referencing PMTiles archives. By using this custom protocol, Azure Maps can access tiles within a PMTiles archive using HTTP range requests, fetching only the data you need when you need it. To get started with PMTiles, the Azure Maps Web SDK offers the addProtocol function. This registers a callback that intercepts and modifies requests, allowing PMTiles data to be processed dynamically for rendering on the map.

 

Here’s a quick guide to setting up PMTiles support:

 

  1. Reference the PMTiles Library:

    <script src="https://unpkg.com/[email protected]/dist/pmtiles.js"></script>
    
  2. Initialize the PMTiles Protocol:

    const protocol = new pmtiles.Protocol();
    atlas.addProtocol("pmtiles", (request) => {
        return new Promise((resolve, reject) => {
            protocol.tile(request, (err, data) => {
                if (err) reject(err);
                else resolve({ data });
            });
        });
    });
    

    This setup registers the pmtiles:// schema, enabling Azure Maps to process requests specifically for PMTiles sources.

  3. Add and Configure PMTiles Data Source: Use the following example to overlay Overture Maps’ building data on top of the Azure Maps basemap:

    const PMTILES_URL = "https://overturemaps-tiles-us-west-2-beta.s3.amazonaws.com/2024-07-22/buildings.pmtiles";
    protocol.add(new pmtiles.PMTiles(PMTILES_URL));
    
    map.sources.add(new atlas.source.VectorTileSource("pmtiles", {
        type: "vector",
        url: `pmtiles://${PMTILES_URL}`,
    }));
    

    This code defines a vector tile source that uses the PMTiles URL. The map then dynamically fetches only the tiles that the user’s view requires, improving both performance and data usage.

What is Overture Maps?

Overture Maps is an open data project launched in 2022 by a coalition led by the Linux Foundation. Supported by Meta, Microsoft, AWS, and TomTom, this initiative aims to provide reliable, interoperable geospatial data for the public. The Overture Maps Foundation aggregates open and commercial datasets, offering a unified schema that makes it easier to work with geospatial data across different platforms and applications.

 

Each dataset in Overture Maps is organized by themes that classify different types of geospatial information, like building footprints, roads, water bodies, and points of interest. This thematic organization ensures a structured approach to incorporating diverse types of location data, making it accessible for developers across various projects.

 

pmtiles-building.png

 

With PMTiles support in Azure Maps, we can’t wait to see how you’ll use this capability to power dynamic and data-rich applications. Stay tuned for more updates, and start integrating PMTiles into your Azure Maps applications to unlock new potential with Overture Maps data today!

Published on:

Learn more
Azure Maps articles
Azure Maps articles

Azure Maps articles

Share post:

Related posts

Azure Toolkit for IntelliJ: Introducing the enhanced Java Code Quality Analyzer!

Discover the latest updates to the Azure Toolkit for IntelliJ, featuring an enhanced Java Code Quality Analyzer to help you write cleaner, saf...

6 hours ago

Azure Boards + GitHub: Recent Updates

Over the past several months, we’ve delivered a series of improvements to the Azure Boards + GitHub integration. Whether you’re tracking...

9 hours ago

Introducing the Azure MCP Server

This post introduces the Azure MCP Server, bringing the power of the cloud to your AI agents. The post Introducing the Azure MCP Server appear...

1 day ago

Azure OpenAI Service now authorized for all U.S. Government data classification levels

In the coming years, artificial intelligence will continue to be foundational to technical innovations for national security missions. Already...

2 days ago

GPT-4.1 is now available at Azure AI Foundry

Azure AI Foundry and AOAI (Azure OpenAI Services) keeps on getting better all the time! The latest addition in Azure AI Foundry (as of April 1...

3 days ago

Introducing Region Selection in Azure Cosmos DB Data Explorer for NoSQL Accounts

You asked—we delivered! Users can now manually select the region Data Explorer sends requests to! When you use Entra Authentication with NoSQL...

4 days ago

Microsoft Attempts to Fix Microsoft Graph PowerShell SDK Problem with Azure Automation

V2.26 and V2.26.1 of the Microsoft Graph PowerShell SDK were low-quality, buggy disasters. Microsoft aims to fix the problem in the next versi...

4 days ago
Stay up to date with latest Microsoft Dynamics 365 and Power Platform news!
* Yes, I agree to the privacy policy