Tile cache 101
GeoWebCache är tile-cachen som sitter nära GeoServer. Den lagrar kartbilder som små tiles så att klienten (Origo) får snabba svar vid pan/zoom.
Hur GeoWebCache hänger ihop med GeoServer
- GeoServer renderar kartan.
- GeoWebCache sparar resultatet som tiles.
- Klienten hämtar tiles i stället för att rendera om varje gång.
Begrepp (enkelt)
- Gridset / tiling scheme: hur tiles delas upp (t.ex. 256x256).
- Seed: förgenerera tiles i förväg.
- Metatiles: större tile-bitar för effektiv rendering.
- Truncate: rensa cache för ett lager eller område.
- Bypass: kringgå cache vid felsökning.
Seed / Truncate / Bypass: skillnaden
- Seed: bygger nya tiles (snabbare första visning).
- Truncate: tar bort gamla tiles (kräver ny rendering).
- Bypass: går förbi cache för att se “live” rendering.
Vanligt misstag
Att seeda allt på alla zoomnivåer. Välj hellre relevant område och nivåer för att undvika
långa körningar.
CRS & gridsets
Gridset måste matcha kartans CRS. Om gridset/CRS inte stämmer får du fel placering eller tomma tiles. Vår vanligaste CRS är EPSG:3008.
Tänk så här: CRS styr hur världen delas upp i zoomnivåer. Gridset och resolutions måste därför hänga ihop med samma projektion och samma extent.
Grid misalignment
- Symptom: tiles hamnar fel, skuggförskjutning, tomma rutor vid vissa zoom.
- Orsak: fel gridset, fel tile size eller blandade CRS.
- Åtgärd: verifiera gridset/matrixset, matcha resolutions och seed om.
Gridset, origin och matrixset
- Origin påverkar tile-alignment. Fel origin ger offset.
- Kontrollera att matrixset matchar gridset och CRS.
- Verifiera att samma gridset används i klient och cache.
Seeding och REST-anrop
- Seed kan misslyckas om REST-payload är felaktig.
- Testa seeding med små BBOX och få zoomnivåer.
- Kommunikationsfel syns ofta i GeoServer-loggar.
Seed‑strategi
- Seed per område och per zoomintervall, inte allt samtidigt.
- Använd metatiles för jämnare rendering.
- Börja med lägre zoomnivåer och bygg ut stegvis.
Cacheability och parametrar
- Filter och viewparams gör att cache inte kan återanvändas.
- Undvik dynamiska parametrar för lager som ska cacheas.
- Testa samma request utan filter för att jämföra.
Metastore och disk quota
- Disk quota kan stoppa seeding om cache-disken är full.
- Rensa endast cache-kataloger, inte konfig.
- Metastore går ofta att återskapa om cache rensas korrekt.
Praktisk checklista
- Använd cache för publika bakgrundskartor och statiska lager.
- Seeda bara de zoom-nivåer som faktiskt används.
- Rensa cache när stilen eller datan ändras.
- Rensa inte cache i onödan. Det är dyrt.
- Seeda hellre smala områden än hela världen.
- Testa alltid visuellt i Origo efter ändring.
Stale tiles
Om du ser gamla kartbilder, rensa cache eller ändra tile-URL för cache-busting.
Vanliga misstag
- Rensa cache i live utan plan.
- Seeda för många zoom‑nivåer samtidigt.
- Fel gridset för CRS.
Felsökningsflöde
- Gamla tiles: truncate cache och testa ny seed.
- Tomma tiles: kontrollera bbox/extent och att lagret är publicerat.
- Tung rendering: minska zoomintervall och seeda mindre område.
- Extern WMS långsam: testa bypass och seeda bara nödvändigt.
- Fel zoomnivå: kontrollera resolutions och gridset.
Klientperspektiv (Origo + browser)
- Kontrollera Network-fliken: ser du tiles (.png/.jpeg)?
- Granska cache headers (t.ex.
Cache-Control). - Hård reload (Ctrl/Cmd + Shift + R) för att kringgå lokal cache.
# exempel: cache-busting
https://geoserver.example.com/geoserver/gwc/service/wms?layer=workspace:layer&v=2026-01-25