SWEREF 99 TM, RT 90 och Web Mercator — en praktisk guide

·Av OrbGIS-teamet

Varför data hamnar på fel plats, varför en yta uppmätt i en webbkarta blir flera gånger för stor, och hur du väljer rätt koordinatsystem för svensk geodata — med EPSG-koderna som faktiskt spelar roll.

Alla som arbetar med GIS har varit med om det. Du öppnar ett dataset du precis fått levererat, kartan zoomar ut, och kommunens ledningsnät ligger i Atlanten utanför Ghanas kust. Eller det subtilare fallet: allt ser rätt ut, men en kollegas lager ligger fyra meter från ditt, konsekvent, överallt. Eller det allra subtilaste: ingenting ser fel ut alls, och ytan du precis redovisade är fyra gånger för stor.

Alla tre är samma problem. Koordinater är bara tal, och tal betyder ingenting förrän man talar om vilket system de hör hemma i. Det systemet — koordinatsystemet — är den enskilt viktigaste uppgiften i all geodata, och också den som oftast saknas, är felaktig eller har ändrats någonstans på vägen till dig.

Det här är en praktisk genomgång av de koordinatsystem som betyder något i Sverige och Norden: vad de är, när du ska använda vilket, och hur du känner igen varje fel på symptomet.

Vad ett koordinatsystem faktiskt talar om#

Ett koordinatsystem svarar på tre frågor, och det är just att förväxla vilken av dem som är fel som gör de här buggarna så sega att jaga.

  1. Vilken modell av jorden? Datumet — referensellipsoiden och hur den är förankrad i marken. SWEREF 99 och ETRS89 är en förankring, WGS 84 en annan, och RT 90 vilar på Bessels ellipsoid från 1841. Blir det här fel förskjuts allting med ett litet, envist och konstant belopp.
  2. Hur plattas den runda jorden ut? Projektionen och dess parametrar: medelmeridian, skalfaktor och tillägg i öst. Blir det här fel flyttar sig data kilometer, eller hundratals kilometer.
  3. Vilken enhet? Meter eller grader. Blir det här fel lämnar datan planeten.

En EPSG-kod är ett kort namn på en bestämd kombination av alla tre. EPSG:3006 är SWEREF 99 TM och ingenting annat. Det är därför de flesta som arbetar med geodata anger EPSG-koder i stället för namn — ”SWEREF 99” i sig räcker inte, eftersom det finns tretton olika projektioner med det namnet.

Sveriges tre generationer#

RT 90 (EPSG:3021 med släktingar)#

Det gamla rikssystemet, som användes under större delen av 1900-talet. Den variant du möter i praktiken är EPSG:3021, RT 90 2,5 gon V: en transversal Mercator på Bessels ellipsoid från 1841, med medelmeridianen runt 15°48′ öst och tillägget 1 500 000 meter i öst.

Mängder av arkiv, äldre leveranser och kommunala system ligger fortfarande i RT 90, och det kommer att dyka upp i många år till. Det är inte fel att förvara data i RT 90. Det är däremot mycket illa att märka upp den fel — mer om det strax.

SWEREF 99 TM (EPSG:3006)#

Dagens rikssystem, och standardsvaret för allt som täcker Sverige. EPSG:3006 är en transversal Mercator på datumet SWEREF 99 (Sveriges realisering av ETRS89), med medelmeridianen 15° öst, skalfaktorn 0,9996 och tillägget 500 000 meter i öst. Lantmäteriets egna produkter publiceras i det, och kommunernas övergång från RT 90 pågick under 2000- och 2010-talen.

Ska datan täcka landet eller en region, ligga i en databas, eller levereras till någon vars system du inte känner till — välj SWEREF 99 TM.

De tolv lokala SWEREF 99-zonerna (EPSG:3007–3018)#

SWEREF 99 12 00, SWEREF 99 13 30 och så vidare upp till SWEREF 99 23 15. Varje zon är en smal transversal Mercator med egen medelmeridian, skalfaktorn 1,0 och tillägget 150 000 meter i öst, upplagd så att skalfelet blir försumbart inom zonen. Det är precis vad mätning och detaljplanering i kommunal skala behöver.

De flesta svenska kommuner arbetar i sin lokala zon. Det är rätt val för mätning, förrättning och projektering, och fel val så snart något ska korsa en kommungräns. En vanlig och sund ordning är att arbeta lokalt och publicera rikstäckande i SWEREF 99 TM.

Viktigt

Eftersom de tolv zonerna skiljer sig åt just i medelmeridianen hamnar ett lager som märkts med fel zon flera mil åt öster eller väster — ofta fortfarande på land, fortfarande som helt vanlig data att se på, bara stillsamt placerat i grannkommunen.

Därför hamnar RT 90 märkt som SWEREF 99 TM i Baltikum#

Jämför tilläggen i öst ovan: 1 500 000 meter för RT 90 och 500 000 för SWEREF 99 TM. Talar du om för programvaran att en uppsättning RT 90-koordinater är SWEREF 99 TM gör den precis som den blir tillsagd och placerar datan ungefär en miljon meter för långt österut — någonstans över Estland och Ryssland. Det här är den absolut vanligaste orsaken till att data hamnar i fel land, och det är ett märkningsfel, inte ett omräkningsfel.

Att räkna om ordentligt är däremot ett löst problem. Lantmäteriet publicerar officiella transformationssamband mellan RT 90 och SWEREF 99, och GDAL, QGIS och PostGIS kan dem allihop. Snickra aldrig ihop en egen förskjutning utifrån ett par kända punkter.

WGS 84 är inte riktigt SWEREF 99 — och skillnaden växer#

EPSG:4326, alltså WGS 84 med latitud och longitud, är vad GPS-mottagare, telefoner och GeoJSON talar. Det är frestande att behandla det som utbytbart mot SWEREF 99. Det är nästan det, och sättet det inte är på är faktiskt intressant.

SWEREF 99 är en realisering av ETRS89, som är fastlåst i den eurasiska kontinentalplattan. En punkt i svenskt berg behåller alltså samma ETRS89-koordinater år efter år, vilket är precis vad ett nationellt referenssystem måste göra. WGS 84 följer i stället det globala referensramverket och ligger stilla i förhållande till jordens mitt, medan Eurasien glider undan med ungefär 2,5 cm om året.

De två ramverken låg i linje 1989. Det är över trettiofem år sedan, så skillnaden är i dag i storleksordningen en meter, och den växer varje år. Det spelar ingen roll för en webbkarta med busshållplatser. Det spelar desto större roll för fastighetsgränser, ledningsnät och maskinstyrning.

Web Mercator, och vad det kostar#

EPSG:3857, Web Mercator, är projektionen som varje webbkarta med panorering och zoom vilar på: Google, OpenStreetMap och i praktiken alla kartrutor på internet. Den vann av goda tekniska skäl. Den är konform, så former stämmer lokalt i varje zoomnivå, den lägger världen i ett rent rutnät som halveras för varje nivå, och den ser likadan ut överallt, vilket är vad en global kartcache behöver.

Två saker glöms regelbundet bort.

Den överdriver ytor kraftigt på nordliga breddgrader. Mercators skalfaktor växer som 1/cos(latitud), och ytfelet är den kvadraten. Vid Stockholms 59° nord är avstånd utdragna ungefär 1,9 gånger och ytor ungefär 3,8 gånger. Vid polcirkeln handlar det om cirka 2,5 respektive 6,3 gånger. Att Grönland ser ut som Afrika är det berömda exemplet, men den praktiska varianten är en hektarsiffra i ett planeringsunderlag som är nästan fyra gånger för stor därför att någon mätte ytor direkt i kartbilden. Verktyg som räknar ytor och avstånd korrekt gör det på ellipsoiden, inte i skärmprojektionen — och vet du inte vilket ditt verktyg gör är det värt tio minuter att ta reda på.

Det är inget system att mäta i. Web Mercator behandlar WGS 84-ellipsoiden som ett klot, en medveten förenkling för att kartrutorna ska bli enkla att räkna på, och skälet till att den har en egen EPSG-kod skild från den ”riktiga” Mercatorprojektionen. Ingen mäter in i den, ingen arkiverar i den, och polerna får inte plats alls — den slutar vid ungefär ±85°.

Web Mercator är en utmärkt projektion att visa en allmän webbkarta i. Den är en dålig projektion att arbeta i med nordisk data — och i decennier innebar steget in i webbläsaren att man fick acceptera den ändå.

Känn igen felet på symptomet#

Det du serNästan alltid
Data utanför Västafrikas kust, vid 0°, 0°Inget koordinatsystem alls — en .prj-fil som saknas, eller koordinater som lästs som nollor. Platsen kallas Null Island.
Data ungefär en miljon meter för långt österut, i Baltikum eller RysslandRT 90-koordinater märkta som SWEREF 99 TM. Åt andra hållet hamnar du i Nordsjön.
Punkter som förkastas helt, eller kastas någonstans omöjligtProjicerade meter tolkade som grader — en CSV där kolumnerna med nord och öst lästes som latitud och longitud. Grader slutar vid ±180, så värden i hundratusental är helt enkelt ogiltiga.
Två lager förskjutna flera mil i öst–västlig ledTvå olika lokala SWEREF 99-zoner, eller en lokal zon blandad med SWEREF 99 TM.
En förskjutning på några meter som ingen omprojicering rår påFel datum — RT 90 flyttat till SWEREF 99 utan de officiella parametrarna, eller WGS 84 mot ETRS89 och kontinentaldriften.
Allt hoptryckt eller utdraget i nord–sydlig ledLatitud och longitud har bytt plats — axelordningen, den klassiska fällan i WMS och GML.
Positionerna stämmer, men ytor och längder är orimligaMätningen görs i Web Mercator i stället för på ellipsoiden.

Mönstret är värt att lägga på minnet: stora fel är projektionsfel, små envisa fel är datumfel, och rena orimligheter är enhetsfel.

Vilket ska du välja?#

  • Sverige, rikstäckande eller regionalt → SWEREF 99 TM (3006).
  • En enskild kommun, mätning och projektering → er lokala SWEREF 99-zon (30073018).
  • Finland → ETRS-TM35FIN (3067). Norge → ETRS89 / UTM 33N (25833), eller 32N (25832) i söder. Danmark → UTM 32N (25832). Tyskland → UTM 32N i väster och 33N i öster.
  • Europeisk statistik, rutnät och ytjämförelser → ETRS89-LAEA Europa (3035), som är ytriktig. Det är hela poängen när regioner ska jämföras med varandra.
  • En publik webbkarta med vanliga bakgrundskartor → Web Mercator (3857) fungerar fint, så länge mätvärdena inte räknas fram i den.
  • Data som lämnar organisationen som GeoJSON → WGS 84 (4326), eftersom standarden säger så.

Och i samtliga fall: ange koordinatsystemet uttryckligen, både i filen och i metadatan. Hälften av de här problemen är inte misslyckade omräkningar. De är någon som antog.

Vad det betyder i ett webbGIS#

Här satt förr den tråkiga kompromissen. I ett skrivbords-GIS har du alltid kunnat arbeta i det koordinatsystem din organisation faktiskt använder. I webbGIS har du historiskt inte kunnat det: data gick in, Web Mercator kom ut, och det system ni av goda skäl hade standardiserat på fick ni lämna i dörren.

Det är det antagandet vi byggde OrbGIS emot, så det är värt att vara konkret om vad plattformen gör:

  • Filens eget koordinatsystem läses in och behålls. Laddar du upp en GeoPackage i SWEREF 99 TM lagras den som SWEREF 99 TM i PostGIS. Det finns ingen projektionsväljare i uppladdningsdialogen, helt enkelt för att det inte finns något val att göra — och ingen tyst omräkning till Web Mercator.
  • Varje karta har sin egen projektion, som du väljer under Egenskaper: Web Mercator (3857), SWEREF 99 TM (3006), ETRS89-LAEA Europa (3035), ETRS-TM35FIN (3067), UTM 32N (25832) eller UTM 33N (25833). Alla sex har fullt stöd hela vägen — egna vektortiles, egna bakgrundskartor och korrekta exporter — och det är just därför listan är sex lång i stället för sextio.
  • Vektortiles skapas direkt i kartans eget rutnät. När kartans och lagrets koordinatsystem är detsamma levereras rutorna i det nationella rutnätet utan någon omräkning alls: Lantmäteriets matris för 3006, JHS-matrisen från finska Lantmäteriverket för 3067, Kartverkets för 25832 och 25833 och GISCO-matrisen från Eurostat för 3035. Behövs en omräkning ändå sker den en gång per ruta när den läses in, inte i varje bildruta, och kedjan testas mot PostGIS som facit med mindre än två bildpunkters avvikelse.
  • Bakgrundskartorna följer samma regel. Lantmäteriet renderas i 3006, Kartverket i 25833 och GISCO i 3035. Galleriet visar bara de bakgrundskartor som fungerar i kartans koordinatsystem, så du får aldrig en tyst förvrängd raster under korrekt data.
  • Äldre system fungerar precis som vanligt. RT 90, de tolv lokala SWEREF 99-zonerna, WGS 84, brittiska National Grid och ETRS89 / Poland CS92 finns kvar, och kartor som redan är sparade i dem renderas som de ska. De erbjuds bara inte när du skapar en ny karta.
  • CSV-filer kontrolleras i stället för att gissas. Koordinatkolumnerna tolkas som latitud och longitud i WGS 84, med en rimlighetskontroll som stoppar projicerade meter i stället för att glatt placera kommunen i Guineabukten.
  • Vägen till skrivbordet är ärlig. Hämtar du ett lager genom QGIS-pluginet kommer det i sitt eget koordinatsystem — SWEREF 99 in, SWEREF 99 ut — och ändringar du gör i QGIS skrivs tillbaka direkt.
  • Skalan betyder det den säger. Kartvyn visar muspekarens koordinater i DD, DMS, UTM eller MGRS tillsammans med en verklig skala, och i Utskrifter håller varje kartram en exakt skala som 1:25 000, med rutnät om kartan behöver ett.

Valet av koordinatsystem borde inte vara en eftergift du gör för att programvaran bara klarar en enda sak ordentligt. Det borde vara ett beslut du fattar om din data.

Vanliga frågor#

Vad är SWEREF 99 TM, och vilken EPSG-kod har det?#

SWEREF 99 TM är Sveriges nationella projicerade koordinatsystem: en transversal Mercator med medelmeridianen 15° öst, skalfaktorn 0,9996 och tillägget 500 000 meter i öst, på datumet SWEREF 99 (Sveriges realisering av ETRS89). EPSG-koden är 3006. Det täcker hela landet i en enda zon, och det är i det Lantmäteriet publicerar rikstäckande data.

Vad skiljer SWEREF 99 TM från de lokala SWEREF 99-zonerna?#

SWEREF 99 TM (EPSG:3006) är en zon som täcker hela Sverige, med ett litet skalfel som saknar betydelse i rikstäckande och regional skala. De tolv lokala zonerna (EPSG:3007–3018, till exempel SWEREF 99 13 30) är smala zoner med skalfaktorn 1,0, konstruerade så att skalfelet blir försumbart för mätning och detaljplanering inom en kommun. Använd en lokal zon för mätning och projektering, och SWEREF 99 TM för allt som korsar kommungränser.

Är SWEREF 99 samma sak som WGS 84?#

Inte riktigt. SWEREF 99 är en realisering av ETRS89, som är fastlåst i den eurasiska kontinentalplattan, medan WGS 84 följer det globala referensramverket. De låg i linje 1989 och har sedan dess glidit isär med ungefär 2,5 cm om året, alltså omkring en meter i dag. Försumbart i en allmän webbkarta, men betydelsefullt för fastighets-, lednings- och maskinstyrningsdata.

Hur räknar jag om RT 90 till SWEREF 99 TM?#

Använd Lantmäteriets officiella transformationssamband. GDAL, QGIS och PostGIS har dem inbyggda, så i praktiken anger du EPSG:3021 som källa och EPSG:3006 som mål och låter biblioteket sköta resten. Räkna inte fram en egen förskjutning från ett par kända punkter: skillnaden mellan systemen består av både ett annat datum och andra projektionsparametrar, och en anpassning på två punkter döljer datumfelet i stället för att ta bort det.

Varför hamnar min data en miljon meter fel när jag byter koordinatsystem?#

Det är den klassiska förväxlingen mellan RT 90 och SWEREF 99 TM. RT 90 2,5 gon V har tillägget 1 500 000 meter i öst, SWEREF 99 TM har 500 000. Är filen märkt som det ena men innehåller det andra flyttar programvaran datan med mellanskillnaden, alltså ungefär en miljon meter åt öster eller väster. Lösningen är att rätta det angivna koordinatsystemet, inte att projicera om en gång till.

Varför blir ytorna fel när jag mäter i en webbkarta?#

Därför att Web Mercator (EPSG:3857) överdriver ytor, och överdriften växer med breddgraden: ungefär 3,8 gånger vid Stockholms latitud och 6,3 gånger vid polcirkeln. Räknar mätverktyget i skärmprojektionen i stället för på ellipsoiden blir alla ytor och avstånd i norra Europa avsevärt för stora. Mät på ellipsoiden, eller arbeta i ett ytriktigt system som ETRS89-LAEA (EPSG:3035).

Vilket koordinatsystem ska en webbkarta över Sverige ha?#

SWEREF 99 TM (EPSG:3006) om kartan är ett arbetsverktyg för svensk data — det matchar både Lantmäteriets bakgrundskartor och era egna dataset, så ingenting behöver räknas om för att ritas ut. Web Mercator (EPSG:3857) är ett rimligt val för en publik karta byggd på vanliga bakgrundskartor, så länge mätvärden inte räknas fram i den.

Min data ligger utanför Afrikas kust. Vad har hänt?#

Du har hittat Null Island: punkten 0°, 0° i Guineabukten dit koordinater hamnar när de saknas eller lästs som nollor. Oftast är det en shapefil som levererats utan sin .prj-fil, eller en CSV där koordinatkolumnerna inte gick att tolka. Rätta det angivna koordinatsystemet vid källan — att projicera om från ett felaktigt system flyttar bara felet någon annanstans.

Arbeta i det koordinatsystem ni faktiskt använder#

Har er organisation standardiserat på SWEREF 99, och lämnar ert webbGIS ändå tillbaka datan i Web Mercator, är det ingen naturlag — det är ett designbeslut som någon annan har fattat åt er. Testa OrbGIS gratis: ladda upp ett dataset, ställ kartan i SWEREF 99 TM och se den ritas ut i Lantmäteriets eget rutnät. Eller hör av dig om ni vill resonera kring en övergång från RT 90 eller en lokal zon.

← Alla artiklar

Få nya artiklar direkt till din inkorg

Vi hör av oss när vi publicerar något nytt — inget annat.