Skip to content

Tiles & GeoCredits

Interactive maps are never delivered as a single image. That approach would be far too heavy and completely incompatible with smooth navigation on the web. Instead, modern mapping platforms rely on a tile-based model, often referred to as the Slippy Map system.

In this model, the world is projected using Web Mercator (EPSG:3857) and subdivided into a regular grid of small square images. Each image measures 256 × 256 pixels and represents a precise geographic area at a given zoom level. As the zoom level increases, tiles cover smaller areas and visual detail increases accordingly.

This is not specific to NIMBO. It is the same tiling system used by Google Maps, OpenStreetMap, Bing Maps, and virtually all modern web mapping libraries such as MapLibre, Leaflet, and OpenLayers. If you have ever displayed a web map, you are already using this system.

Each visible square corresponds to a real tile image. When a square appears for the first time, the browser has requested a tile from NIMBO, and exactly one GeoCredit has been deducted.

At zoom level 0, the entire world fits into a single tile. At zoom level 1, that tile is divided into four. At each successive zoom level, the number of tiles increases exponentially, forming a pyramid structure.

When a map is displayed, the browser does not download all tiles for a given zoom level. It only requests the tiles needed to fill the visible area of the screen. When the user pans the map, new tiles enter the viewport and are requested. When the user zooms in or out, a different set of tiles is required to match the new zoom level.

This mechanism is the foundation of all interactive web maps and it directly drives how GeoCredits are consumed on NIMBO.

GeoCredits: a one-to-one relationship with tiles

Section titled “GeoCredits: a one-to-one relationship with tiles”

Because NIMBO is entirely tile-based, billing follows the same logic.

Each time a tile image is requested from NIMBO servers, one GeoCredit is consumed. There is no notion of map sessions, user time, or bundled requests. The platform only accounts for what is actually delivered.

If twenty tiles are required to fill the map viewport, twenty GeoCredits are consumed. If the user pans the map and five new tiles enter the screen, five additional GeoCredits are consumed. If the user zooms and an entirely new set of tiles is loaded, those tiles are counted as well.

This direct, one-to-one relationship is intentional. It makes GeoCredit consumption transparent, predictable, and easy to reason about.

ActionGeoCredits used
Load 1 tile1 GC
Pan or zoom (loading 10–20 tiles)≈10–20 GC
Display a small city area≈100 GC
Load a full country view≈1 000 GC

TMS and WMTS: two access methods, same tiles

Section titled “TMS and WMTS: two access methods, same tiles”

TMS and WMTS are often perceived as different data types, but in practice they are simply two different ways of requesting the same tiles.

TMS is a lightweight, URL-based approach where each tile is fetched directly using a {z}/{x}/{y} path. It is commonly used in web applications built with MapLibre, Leaflet, or OpenLayers.

WMTS is an OGC-standardized interface, typically used by desktop GIS software such as QGIS or ArcGIS. It adds a formal service description layer but ultimately resolves to the same individual tile images.

From a data and billing perspective, there is no difference between TMS and WMTS. A tile requested via WMTS is the same tile requested via TMS.


You can track your remaining GeoCredits in your NIMBO dashboard (→ Usage & Balance)

Displayed values include:

  • Remaining credits for the current month
  • Estimated reset date
  • Daily consumption chart

If you exceed your balance, NIMBO will show a “GeoCredit limit reached” message instead of new tiles.

In the response header of the Map stream, you can find X-Kermap-Available-Credits with the remaining credits for the current month.


Q: Does reloading the same area consume credits again?
→ Not if your browser or app caches tiles locally.

Q: Are GeoCredits shared across users in one account?
→ Yes, team members share the same monthly pool.

Q: Do unused credits roll over?
→ No — balances reset monthly at your renewal date.