Blog

Hier findet ihr unterschiedliche Themen in kurzen Artikeln und Anleitungen aufgearbeitet, über die ich in meinem Alltag mit QGIS gestolpert bin und interessant finde.
 CAD Daten in QGIS - Import

CAD Daten in QGIS - Import

Mittwoch, 19 Februar 2025 QGIS DWG DXF CAD Import

Die Kombination von GIS und lagebezogenen CAD-Daten scheint in vielen Branchen eine Herausforderung zu sein und immer wieder begegnen mir Menschen, die gezwungen sind diese zwei Programmwelten überein zu bringen.
Im Folgenden möchte ich versuchen, zumindest die Probleme bei der Verarbeitung von DWG und DXF in QGIS ein wenig zu beleuchten, die mir in den letzten Jahren über den Weg gelaufen sind.

***

Vorweg zu bedenken:
Ein CAD-Projekt kann zwar aus mehreren Layern zusammengestellt werden, diese Layeraufteilung unterliegt allerdings keinen festen Zwängen. Unterschiedliche Geometriearten und Texte können gemeinsam auf dem gleichen Layer liegen.
QGIS braucht aber zwingend eine Aufteilung der Geometrietypen und baut sich diese beim Import der CAD-Daten.

Eine DWG/DXF bringt in der Regel keine Attribute mit. Die Attributtabelle, die in QGIS geöffnet werden kann, beinhaltet grafische Informationen, die sich auf die Darstellung der CAD-Objekte beziehen. Thematischen Informationen, die das Dargestellte weiter definieren, fehlen.

CAD-Datensätze bringen keine von QGIS lesbare Information über das Koordinatensystem mit, in dem sie ggf. gespeichert wurden. Diese Information ist extern einzuholen.
ACHTUNG: die Position der Zeichnung bezieht sich häufig nicht auf ein geographisches Koordinatensystem, sonder auf ein einfaches Kartengitter mit dem Ursprung 0/0.
Hier ein einige generelle Infos von Autodesk zu dem Thema:
GIS-Koordinatensysteme

DXG/DXF-Layer sind in QGIS nicht editierbar.

Seitenlayoutelemente sind Teil der CAD-Zeichnung, während sie in QGIS getrennt in einem Drucklayout abgespeichert werden. Wundert euch also nicht, wenn plötzlich Textboxen oder Nordpfeile in eurem Kartenfenster auftauchen, die ggf. nicht im Bereich der eigentlichen Projektfläche, sondern bei der Koordinate 0/0 liegen.

***

Zunächst müssen wir uns diese Frage stellen:
Will ich die Daten weiter verarbeiten können, oder nur anschauen?
Brauche ich die Layeraufteilung des CAD-Projektes und die Gestaltung? Und Habe ich es mit einer .dwg oder einer .dxf Datei zu tun.

Eine DXF kann, wenn man sie nur als "Hintergrundlayer" sehen will, einfach via drag&drop in ein bestehendes Projekt geladen werden.
Vorausgesetzt die Zeichnung wurde koordiniert erstellt und für das QGIS-Projekt ist das selbe KBS gewählt, wird sie an die richtige Stelle projiziert.
QGIS wird zwar ein Fragezeichen hinter den Layernamen ("...- entities") setzen, die Objekte aber dank der mitgespeicherten Ausdehnung richtig platzieren.
Das Fragezeichen bezieht sich auf das nicht gesetzte Koordinatenbezugssystem der DXF.

Mittlerweile (QGIS Version 3.40) kann QGIS eingebettete Stile lesen und wiedergeben und zeigt euch dadurch die Inhalte selbst bei einem einfachen Einfügen ohne Import (dazu gleich mehr) recht CAD-nah an.
Nur die Texte, falls vorhanden, werden euch in eurer QGIS-Oberfläche als einfache Punkte angezeigt. Die Punkte stellen dabei den jeweiligen Einfügepunkt dar, die eigentlichen Texte stehen in der Attributtabelle, sind also in QGIS mit ein paar Klicks in der Layergestaltung einfach einbaubar.

***


Wollt ihr aber die DXF-Zeichnung inklusive der CAD-Projektstruktur sehen oder eine DWG nutzen, dann muss ein Import ausgeführt werden.
Unter dem Reiter Projekt  findet ihr den Arbeitsschritt Import/ Export.

QGIS; DWG/ DXF Import


Der Unterpunkt Layer aus DWG/DXF importieren bring euch dann zu einer Maske, in der ihr die Parameter für euren Import definieren könnt.


Wenn ihr eure Eingaben mit dem OK-Knopf bestätigt, passiert etwas spannendes:
QGIS liest die Informationen der DXF/DWG und speichert sie in einer eigenen, nach Geometriearten gelayerten Geopackage ab.

QGIS; DWG/ DXF Import

Nun werden die Information über die Layer, auf denen die Objekte im CAD-Projekt eigentlich liegen, aus den Attributen der neuen GPKG-Layer abgelesen und die Objekte darin dann entsprechend gruppiert und gefiltert(!).
In eurem QGIS-Projekt erscheint die Struktur des CAD-Projektes.

WICHTIG: Speichert bitte das Projekt ab, damit euch dieser Projektaufbau in QGIS erhalten bleibt.

Hier das Kapitel des QGIS-Benutzerhandbuches zum Öffnen von CAD-Daten:
importing a dwg or dxf file

***

Wenn es nun noch darum gehen soll, diese neu in QGIS importierten Daten weiter zu nutzen, steht noch ein wenig Arbeit an:
Um sinnvoll mit den Daten arbeiten zu können, sollten thematisch zusammengehörige Objekte auch gemeinsam auf Layern abgelegt und mit Attributen versehen werden.

Nun heißt es also: gefilterte Layer durchgehen und das exportieren, was zur weiteren Verarbeitung benötigt wird.
Alternativ könnt ihr euch auch die ungefilterten "hatches", "lines" und "polylines" aus der Import-GPKG laden, diese nach Layer kategorisieren und dann exportieren, was euch relevant erscheint.

Dabei ist zu bedenken, dass sich thematisch zusammengehörige Objekte auf unterschiedlichen Importlayern befinden können!
Abhängig davon, wie diese Objekte im CAD gezeichnet wurden, werden sie gegebenenfalls von QGIS als Polygon, Linie (=zwei Stützpunkte) oder Polylinie (=mehrere Stützpunkte möglich) definiert. Die Geometrieart muss beim Export also mit beachtet werden.

Die Art, Objekte in einem CAD-Programm zu zeichnen beschäftigt uns auch noch auf eine zweite Weise: augenscheinlich zusammenhängende Linien entpuppen sich gegebenenfalls als einzelne Objekte, die man zunächst zusammenfassen muss, um GIS-konforme Geometrien zu bekommen.

QGIS; DWG/ DXF Import; unzusammenhängende Objekte

Eine Topologie- oder Geometrieprüfung kann helfen, diese Objekte zu identifizieren.

***

Wenn alle Objekte in die richtige Geometrieart überführt, zusammengefasst und neu gespeichert sind, folgt das Hinzufügen von Attributen.

In den meisten CAD-Datensätzen sind wichtige Informationen, beispielsweise Straßennamen oder Höhenangaben, als Text an die Zeichnung geschrieben. Diese Texte befinden sich nun losgelöst von unseren Objekten auf einem Punktelayer.

Um diese Textinformationen möglichst automatisiert als Attribut an die Objekte zu speichern, kann mit lagebezogenen Verknüpfungsalgorithmen gearbeitet werden.

QGIS; Attribute nach Position verknüpfen; Attribute nach nächstem verknüpfen; spatial join
***

Ich habe versucht die einfachsten Methoden des Importes von DWG und DXF in QGIS kurz anzureißen. Es sind jedoch nicht die einzigen Wege, um in QGIS mit CAD-Daten zu arbeiten. Ihr kennt das, in QGIS führen viele Wege nach Rom ;)

Wer ein ggf. "hübscheres" Ergebnis seiner importierten DXF möchte und diese nicht als .gpkg sondern als .shp ausgeben will, sollte sich die Erweiterung AnotherDXFImporter anschauen, mit der ich auch schon gute Ergebnisse erzielt habe. Hier können Datensätze auch direkt Transformiert werden.

Zu den Limitationen von CAD-Datensätzen im Bezug auf Geodaten und das Zusammenspiel von raumbezogenen DWG/DXF und GIS kann man sich übrigens beim Forschungsdatenzentrum Archäologie & Altertumswissenschaften weiter informieren:
Unterschiede von CAD & GIS

Das war ein kleiner Einblick in das Arbeiten mit CAD-Daten in eurem QGIS Umfeld. Meldet euch gern bei mir, falls ich ganz spezielle Fragen zu dem Thema habt oder Unterstützung beim Kombinieren eurer Datensätze mit QGIS braucht.

Zu diesem Artikel gibt es noch keine Kommentare
Suchen