Hur får man in CAD-data i QGIS?
Ritningar på byggnader och kartor över den kända världen är något människan har sysslat med ett bra tag. Du kanske redan visste att de äldsta kända (åtminstone för skrivande stund!) planritningarna beskriver jaktfällor i Jordanien och Saudiarabien och ristades i sten ungefär 7 000 f Kr. Den äldsta kända topografiska kartan är betydligt yngre men även den har några år på nacken. Nästa gång du besöker Turin vill du kanske kasta ett öga på en egyptisk karta från ca 1 200 f Kr i stadens egyptiska museet och därför känd som Turin papyruskartan.
De flesta av oss har slutat rista i sten. Många har även slutat med papper och penna och börjat med verktyg som CAD, BIM och GIS. Men har de grundläggande behoven ändrats så mycket egentligen? Vi vill ju fortfarande bygga nytt, bygga om och utforska områden både nära och fjärran och dokumentera det vi har gjort.
I den fysiska verkligheten ligger kantiga byggnader och böljande terräng tätt intill varandra. I den digitala världen möter de inte alltid varandra lika sömlöst. I detta blogginlägg ger vi lite tips till dig som vill använda QGIS och kommunicera med kollegor som arbetar CAD och BIM. Vi kommer nog inte att slippa varandra i fortsättningen om vi sysslar med fysisk planering, kommunal planläggning, samhällsbyggnad och miljökonsekvenser. Så vad sägs om lite samarbete?
Det kan vara nyttigt i sådana här tvärvetenskapliga sammanhang att ta upp några begrepp och lite generell filosofi. Och sedan fördjupar vi oss i konkreta tips på hur programvaran QGIS hanterar data CAD- och BIM-format.
För enkelhetens skull används framöver begreppet “CAD-data” för att generellt beskriva data sparade i filformat .DGN, .DWG, .RVT och .DXF.

Vad är CAD?
Begreppet CAD är en akronym (Computer Aided Design/Computer Assisted Design). CAD-program används typiskt av arkitekter och ingenjörer som ritar och modellerar komplexa objekt så som byggnader, anläggningar och infrastruktur, både 2D och 3D. Resultatet blir digitala dokument med antal ritningslager som kan tändas och släckas. Dessa digitala ‘CAD-ritningar’ kan skrivas ut på papper eller som .pdf för att sedan användas av en bred krets specialister i syfte att förverkliga de ritade objekten i den fysiska världen.
Vissa problem uppstår dock ofta för att den klassiska ritningen, vare sig analog eller digital, är ganska statisk i sin natur. Ju längre projektet pågår och ju fler discipliner som är inblandade, desto mer utmanande versionshanteringen blir.
I CAD-världen kan man jobba man ofta med ett eget koordinatsystem där den lokala nollpunkten (origo) som man mäter avstånd ifrån ligger till exempel vid byggnadens eller tomtens hörn. Detta fungerar bra så länge man inte behöver hämta in geografisk information om omgivningen som finns lagrad i allmänna koordinatsystem i externa källor.
Vad är BIM?
Många professionella inom bygg- och anläggningsbranschen håller på att gå över från CAD till BIM (Building Information Modelling). Då strävar man efter en gemensam digital modell i 3D som ska bli en virtuell samlingsplats för alla som arbetar i projektet. Modellen kan användas under projektets olika faser, dvs under projektering, i byggskede samt under förvaltning och avveckling.
Utöver den visuella utformningen kan andra egenskaper lagras i modellen, t. ex olika komponenternas tekniska livslängd. Om man behöver generera “2D- eller 3D-ritningar” ur modellen är de alltid aktuella.
Begreppet “digital tvilling” dyker ofta upp när man beskriver nyttan med BIM-arbetssätt. Då strävar man efter en dynamisk koppling mellan fysisk verklighet (“fysisk tvilling”) och en virtuell modell (“digital tvilling”) som ska vara synkroniserad under anläggningens livscykel.
Också i BIM-världen kan man jobba med ett eget, lokalt koordinatsystem vilket då begränsar möjligheterna att enkelt hämta in geografisk information om den omgivande miljön från externa källor.
Hur skiljer sig GIS från CAD och BIM?
GIS (Geographical Information System) härstammar också från statiska papperskartor som en gång var själva slutprodukten. De digitala verktygen välkomnades dock relativt tidigt av klassiska kartritare eftersom världen ständigt ändras och kartorna måste uppdateras. Man behöver fundera en hel del på hur man kan lagra informationen, både de geografiska objekten (den grafiska formen) och deras egenskaper (vad formen föreställer) så smart som möjligt. Man vill gärna “tänka efter före” för att underlätta de kommande uppdateringarna av kartorna.
I både CAD och GIS ritar man de grafiska kartobjekten (punkterna, linjerna, ytorna) på olika ritningslager som har beskrivande namn. Det är ju en mycket bra början och oftast kommer man långt med det. I GIS-program har man även en möjlighet att lagra stora mängder attributinformation per varje enskilt grafiskt kartobjekt genom att koppla det ritade objektet till en rad (post) i en tabell. Alla egenskaper i attributtabellen kan inte samtidigt visualiseras på en enda kartillustration men tanken är att ur samma GIS-skikt kan man vid behov generera många olika kartillustrationer.
Man kan t ex ha ett skikt som heter “Träd” och visas som punkter på kartan. Till varje punkt kan sedan kopplas information om id, art, ålder, status, inventeringsdatum, underhållsåtgärd, punktens koordinater mm. Linje- och ytobjekt har kan även ha längd respektive areal som attribut. Uppgifterna kan sedan uppdateras i tabellen när det grafiska objektet på kartan ändras. Logiken i GIS, där visuella grafiska objekt är dynamiskt kopplade till tabellinformation, är mycket lik BIM-logiken.
GIS-tänket skiljer sig från CAD- och BIM-tänk när det gäller koordinatsystem. I GIS är kända koordinater något man inte vill leva utan. Man vill skapa kartobjekt i kända koordinatsystem för att sedan kunna kombinera egna kartobjekt med övrig information från olika källor, t ex höjddata, ortofoton, miljöobservationer, fastighetsgränser, byggnader och historiska kartor som kan vara skapade i andra koordinatsystem. Alla kartskikt kommer dock överensstämma automatiskt om kartskikten är sparade i kända, universella koordinatsystem.
Filformat
QGIS stödjer hundratals dataformat, dvs. alla som ingår i GDAL/OGR-bibliotek. Som en kollega brukar säga: QGIS kan öppna allt förutom mormors syltburk och slutna format. En del av CAD-format är just sådana slutna format. Deras licensvillkor och sluten källkod hindrar utvecklingen av kompatibla lösningar med programvaror som bygger på öppen källkod som t ex QGIS.
Format | Beskrivning |
.DXF (“Drawing Exchange Format”) | Ett format utvecklat av Autodesk Inc i syfte att underlätta överföring av data mellan AutoCAD och andra programvaror.Detta format brukar fungera bäst när man behöver överföra CAD-data till QGIS. |
.DWG (”Drawing”) | Ursprungsformatet i AutoCAD (AutoDesk Inc). Vissa versioner av DWG-filer går att importera till QGIS. De senaste versionerna (2018, 2019, 2020) kan inte överföras till QGIS. |
.RVT(“Revit”) | Ursprungsformatet i Autodesk Revit (AutoDesk Inc).Formatet är slutet och därför går det inte att öppna i QGIS. Man behöver spara om data som .DXF. |
.DGN (”Design”) | Ursprungsformatet i Microstation (Bentley Inc). Data som är sparade som DGN-fil i version 7 eller tidigare kan importeras in i QGIS. Problem uppstår dock med versioner 8 och därefter. |
Allt kokar ned till ett het tips: alltid om möjligt begära att få data som .DXF. Du kan också själv konvertera indata i DWG till DXF. På webben hittar man ett antal konverteringsprogram med en enkel sökning med valfri sökmotor.
Och nu börjar det praktiska – i fyra steg!
1/4 Hur får man in CAD-data i QGIS?
Eftersom CAD- BIM-programvarorna har var sin egen logik, inbyggda tankesätt och egna dataformat kan man inte bara öppna ett CAD/BIM-dataset i QGIS och direkt börja använda data. Man behöver importera data och då finns det alltid en risk att något går förlorat. De olika filformaten och deras olika versioner bidrar till att livet blir extra spännande.
Verktyget Import hittar man på Huvudmeny > Projekt > Importera/ exportera > Importera lager från DWG/DXF). Man får möjlighet att ställa in koordinatsystemet och välja vilka ritningslager som ska tas med. Data sparas sedan i det öppna dataformatet GeoPackage (.gpkg).


2/4 Hur ställer man in rätt koordinatsystem i QGIS?
När man tar in CAD-data i QGIS, behöver man känna till CAD-filens koordinatsystem och ange det i QGIS. Den som har skapat CAD-filen borde känna till vilket koordinatsystem som har använts och meddela det när filen skickas vidare. Om du är osäker på koordinatsystem, fråga hellre än att gissa.
Koordinatsystemet för ett enskilt kartlager ställs in med hjälp av alternativen som finns i rullgardinsmenyn. Det är alltid en bra idé att ställa in ett koordinatsystem för hela QGIS-projektet (Projekt > Egenskaper > Koodinatsystem).
Om CAD-filen inte är skapad i något generellt känt koordinatsystem utan har en lokal nollpunkt, t ex “nedersta vänstra hörnet” får vi problem och hamnar oftast mitt i någon ocean eller främmande kontinent. För att få CAD-filen att landa rätt på jorden är då att försöka hitta kända referenspunkter och använda verktygen Georeferera som numera hanterar både raster- och vektordata.

3/4 Datastruktur i CAD-fil
Om datastrukturen är genomtänkt, är det ganska lätt att överföra CAD-data till QGIS. När CAD-filen har ett begränsat antal ritningslager med informativa namn kan det rätt så smidigt. Man får dock alltid även i bästa fallet räkna med lite finslipning.
Om det även finns attributinformation direkt kopplad till ritade objekt i CAD-filen känner man sig lyckligt lottad. Men oftast finns det inte. Det är ganska vanligt att ritningslagrets namn (t ex “Träd”, “Vägar”, “Befintliga Byggnader” mm) är ett gemensamt attribut för alla objekt i det lagret.
Det händer att man har ett separat punktlager som endast innehåller sk. annotationer. Ett sådant lager innehåller en beskrivande text (etikett) som är, knuten till en insättningspunkt och placerad i närheten av det grafiska objektet (trädarten namn, vägnummer, fastighetsbeteckning). Textens placering är vald så att den inte överlappar med andra objekt och texter och att en mänsklig betraktare skulle kunna intuitivt tolka ritningen korrekt.
Då blir det dock en hel del handpålägg innan man kan föra över informationen från annotationslagret (t ex fastighetsbeteckningen) till den attributtabell som i GIS ska vara kopplad till polygonlagret fastighetsytor. Extra mycket handpålägg blir det om alla annotationer (trädarterna, vägnumren, fastighetsbeteckningarna mm) ligger på ett och samma ritlager.
4/4 Geometri och topologi
Innan vi är färdiga, måste vi hantera en till fråga: är kartobjekten korrekt ritade eller räcker det att de ser bra ut i utskrift?
Vilken ledande fråga. Så klart räcker det inte med objekt som bara ser bra ut. Men vad menas med korrekt ritade objekt egentligen? Nu kommer vi in på ett ämne som heter topologi, en fascinerande gren inom matematik och något som inte ska förväxlas med topografi. I GIS pratar vi en hel del om sk. topologiska regler för vad som anses vara korrekt ritade objekt.
Det händer att ritade objekt i en CAD-fil kan se “korrekta” ut vid första ögonkast men inzoomning avslöjar topologiska fel. Dessa kommer orsaka problem när man senare vill bearbeta objekten i QGIS. Topologiska regler är viktiga för att man ska kunna använda kartobjekt i geografiska analyser, t ex räkna arealer, längder på router, klippa alternativt slå ihop objekt och skapa buffertar.
Några konkreta exempel om topologisk korrekt geometri i GIS och typiska fel och bilden kommer att klarna:
- En väglinje ser ut att vara en sammanhängande linje men består istället av flera korta, separat segment med små mellanrum
- En väglinje korsar sig själv som siffra 8
- En byggnad eller ett parkområde ser ut som en yta men kan istället vara ritad med ett linjeverktyg i CAD med skraffering som fyllnad men visar sig vara en sluten ringformad linje
- En yta (en fastighet) överlappar grannfastigheten alt. ett mellanrum uppstått mellan två fastigheter som ska ligga alldeles intill varandra.
Upptäcker man topologiska fel i CAD-filen kan det återigen behövas en hel handpålägg innan data kan användas i QGIS. Som tur är finns det flera verktyg för automatisk och halvautomatisk topologikontroll i QGIS för att åtgärda problem. Dessutom har ritverktygen i QGIS utvecklats en hel del de senaste åren så att man kan vidare bearbeta objekten med avancerade redigeringsverktyg i QGIS som har CAD-liknande egenskaper. Även tilläggsprogrammet QAD Tools är tillgängligt och underlättar för användare som är vana vid AutoCAD.
Ska vi kavla upp ärmarna och sätta igång?
Även om det här inlägget är väldigt problemorienterat är det grundläggande budskapet ändå positivt: det mesta går att lösa, särskilt om CAD- och GIS-användare pratar med varandra och försöker förstå varandras logik och behov.
En kort kom-ihåg-lista:
- Se till att du har koll på koordinatsystem
- Tänk på korrekt geometri och topologi
- Koppla egenskaper (attribut) till ritade objekt istället för annotationer
Behöver man hjälp så finns det hjälp att få. Vi på Gispo ordnar kurser i avancerad redigering med QGIS. Vi utvecklar också anpassade QGIS-verktyg för specialister som arbetar med fastighetsbildning, samhällsbyggnad och kommunal planläggning.