Download Kuwait map in Terrain RGB format
A map built from OpenStreetMap data, ready to download
Customize the map
Open this place's area in the constructor and adjust everything to your needs
Open in constructor →Map passport
What this map contains by default
This is how the map is built as-is — every setting can be changed in the constructor.
About Terrain RGB
Map of Kuwait in Terrain RGB — an export of real OpenStreetMap data for the selected area.
Terrain-RGB is the Mapbox/MapLibre elevation tile format: each pixel's colour encodes the real height in metres as height = -10000 + (R·256² + G·256 + B)·0.1. Heights come from a global elevation model (Copernicus DEM 30 m, SRTM where it is missing). You get a ZIP of z/x/y PNG tiles plus metadata.json; up to 256 tiles per order, the zoom is picked to fit your area. Load it in MapLibre GL as a raster-dem source with encoding: "mapbox" for 3D terrain and hillshading. Where there is no elevation data (open sea) a pixel is 0 m. Accuracy is that of the source model: visualisation and pre-design, not surveying.
Which layers are in the file
This file for the selected area contains:
- Roads
- Water
- Greenery
Coordinate systems
WGS 84 (EPSG:4326), selectable in the wizard
Units
Meters (projected in the chosen coordinate system)
| Category | GIS |
| File extension | .png |
| Tier | Open Beta |
How to use Terrain RGB for Kuwait
- MapLibre GL — unpack the archive on your server, add it as a raster-dem source with encoding: "mapbox" and call map.setTerrain — the relief appears in the style.
- Mapbox GL and deck.gl — the same set works as a terrain source or a TerrainLayer with the same decoding formula.
- rio-mbtiles or mb-util — pack the z/x/y folder into a single MBTiles if your tile server prefers one file.
Programs that open Terrain RGB
FAQ: Terrain RGB for Kuwait
How do I use it in MapLibre?
Unpack the archive on your server and add a source with type: "raster-dem", encoding: "mapbox", tiles: ["https://…/{z}/{x}/{y}.png"], then call map.setTerrain({source: …}).
How do I read a height from a pixel?
height = -10000 + (R·65536 + G·256 + B)·0.1 metres.
What about areas without data?
Where the elevation model has no coverage (open sea) a pixel encodes 0 m. If the whole area has no heights the order is refused honestly instead of shipping flat tiles.
Where do the heights come from?
From the global Copernicus DEM elevation model at 30 m, and SRTM where it is missing. OpenStreetMap has no elevation, so the map data is not used here.
How do I load the tiles in MapLibre?
Add a source with type: "raster-dem", encoding: "mapbox", tiles: ["https://your-server/{z}/{x}/{y}.png"] and call map.setTerrain with that source.
