Sitemap
Chris Bailey

Chris Bailey

NatureQuant CTO/Co-founder. Unridden founder. HotelTonight Co-founder. Cyclist, trail runner, skier, espresso & coffee lover, geek, traveler, foodie.

Member-only story

How to Create an XYZ Tile Map Server Using AWS S3

6 min readJun 16, 2025

Create an XYZ map tile server using S3 and CloudFront for your raster map data. This is a followup to my article Creating Very Large GeoTIFFs and WMS from Sparse Data CSV.

Press enter or click to view image in full size
Portland area NatureQuant data

XYZ Tile Map Service

Here I’m creating an XYZ tiled WMS.

Picking up where I left off in my previous article Creating Very Large GeoTIFFs and WMS from Sparse Data CSV, we have a GeoTIFF that is a raster data source of map data. These GeoTIFFs can be very large, depending on the area you’re mapping, so having a browser load that as a map source isn’t ideal. This service provides tiles of raster data at multiple zoom levels. This allows much faster map rendering of large data like this. For example, the GeoTIFF used as the source image for the map image above (which is all of the US) is 105MB compressed (and was sourced from a 2.5GB XYZ file).

These can be utilized in many GIS platforms, such as Felt maps (our choice), as well as use in web pages with libraries like Leaflet. In general, once you’ve created a tile map server, these systems then just need the URL to it to use it. The URL is typically in the form:

https://example.com/{z}/{x}/{y}.png

You’ll obviously swap out the host for your host, but the zxy bit is the actual syntax you use.

--

--

Chris Bailey
Chris Bailey

Written by Chris Bailey

NatureQuant CTO/Co-founder. Unridden founder. HotelTonight Co-founder. Cyclist, trail runner, skier, espresso & coffee lover, geek, traveler, foodie.