Skip to content
StoryUse case

Make a 3D map

A 3D map turns a value into height. Extrude polygons so each area rises by a number, tilt the camera to a pitch, and rotate the bearing so the tall features read against the horizon. It is the right move when the value has a large range and a flat choropleth flattens the extremes: population by district, emissions by country, building height by parcel.

In Spatly you set extrusion on a polygon layer, bind the height to a field with a multiplier, and pitch the camera as part of the map beat. Terrain can be turned on so real elevation lifts the basemap under your data. Because the pitch and bearing live in the beat, a scroll story can rotate a city as the reader moves, and a slide can hold a single dramatic angle. The scene below is a real published Spatly surface that extrudes country polygons into 3D.

Publish the 3D scene as a link or an embed, or use the pitched beat as one chapter among flat ones so the height lands as a reveal.

Live on this page
/embed/dVdGXT779Y
Scroll to load the live embed
/embed/dVdGXT779Ylazy

A century of great earthquakes with a chapter that raises magnitude into a pitched 3D scene. This is a real published Spatly surface, not a screenshot.

HowThree steps in Spatly

How to make a 3D map

  1. Step 1

    Add a polygon layer

    Upload polygons, or derive footprints from your data. Turn on terrain if you want real elevation under the basemap.

  2. Step 2

    Extrude by a value

    Set fill-extrusion on the layer and bind the height to a field with a multiplier. Colour by the same or another field.

  3. Step 3

    Pitch the beat and publish

    Tilt and rotate the camera into the beat, save it, and publish or embed. Reuse the pitched beat in a story or a slide.

DataFormats it reads

Bring the data you already have

Spatly ingests it into PostGIS, samples the fields for ramps and categories, and serves GeoJSON or vector tiles depending on size. Every source keeps its refresh policy, cache and health.

GeoJSON polygonsPMTilesTerrain (raster DEM)Vector tiles
EmbedShips as one line

Embed this exact surface

Paste one script tag into any page. The map mounts where the tag sits, resizes to its content, and needs no build step.

one script tag
<script src="https://spatly.io/embed.js" data-spatly="dVdGXT779Y" data-height="640"></script>

Posts spatly:ready, spatly:resize, spatly:expand and spatly:select. Embed docs

FAQQuestions

Good to know

How do I make a 3D map?
Set fill-extrusion on a polygon layer, bind the height to a field, and pitch the camera in the map beat. Terrain can lift the basemap under the data.
Can the camera tilt in a story?
Yes. Pitch and bearing are part of the beat, so a scroll story can rotate and tilt the scene as the reader moves through chapters.

Make a 3D map in Spatly.

Start from a basemap and a file, or open a template and take it apart. Every plan includes Spatly embeds, the REST API and the MCP server.

41.0082°N 28.9784°E · z 11.3 · ⟂ 0°