Scopes list
A scope defines the geographic area and feature layer rendered by maproll. Every request must specify a scope via the scope parameter. The available scopes are loaded from the geo asset manifest at server boot.
Shipped scopes
| Scope ID | Layer | Detail level | File size | Default? |
|---|---|---|---|---|
world | countries | low | ~264 KB | Yes (default level) |
world | countries | medium | ~804 KB | |
world | countries | high | ~2.7 MB | |
RO | regions | low | ~52 KB | |
RO | regions | medium | ~180 KB | Yes (default level) |
RO | regions | high | ~484 KB |
Per-scope defaults
| Scope ID | Default detail level | Default projection |
|---|---|---|
world | low | naturalEarth1 |
RO | medium | conicConformal |
Omitting the level parameter uses the default for that scope. Omitting projection uses the scope's default projection.
Detail levels
low— optimised for small embeds and thumbnails. Fewest vertices; smallest file transferred per request.medium— general-purpose. Good balance of quality and file size for most use cases.high— maximum detail. Use for large print outputs or zoomed insets. Adds visible render latency on first call (not yet cached).
Adding new scopes
Scopes are not self-service today. Adding a new geography requires:
- Sourcing and downloading the OSM-exported GeoJSON for the country or region.
- Running the build pipeline (
npm run build:geo) to produce low/medium/high TopoJSON assets. - Registering the scope in
src/geo/scopes.tsand rebuilding the manifest.
Reach out if you need a scope that isn't listed here.
Related
- Projections — full list of supported projections and when to use each.
GET /map.{svg,png}—scopeandlevelquery parameters.- POST /render/map —
scopein the JSON body.