Dies ist ein Tutorial wie man mit dem QGIS-Desktop-Programm (Open Source) aus Vektordaten einzelne Ausschnitte ausschneiden (cut, clip, extract) kann.

Autoren: Felix Reiniger und Stefan Keller, beide Geometa Lab OST. Dokumenten-Lizenz CC0 1.0. Fragen oder Feedback an Stefan Keller.

Dieses Tutorial richtet sich an Nutzer:innen mit einfachen Kenntnissen über Geodaten und Geoinformations-Technologien.

Wenn Sie an Rasterdaten interessiert sind, dann gibt es dazu folgendes Online-Tutorial “Erstellen von Ausschnitten aus Rasterbildern mit QGIS ("QGIS Raster Cutter" Plugin)

1. Einführung

Dieses Dokument ist wie folgt aufgebaut
  1. (Diese) Einführung

  2. Problem und Lösungsansatz

  3. Technische Information: Vektor-Dateiformate und -Services

  4. Lösungsvariante 1 Vektordaten-Export mit Rechteck

  5. Beispiel von Lösungsvariante 1

  6. Lösungsvariante 2 Vektordaten-Export mit freiem Polygon

  7. Ausblick

Folgende Software muss vorbereitet sein für dieses Tutorial: QGIS 3, ein Webbrowser. Wenn nötig, muss QGIS (aktuell ist Version 3.22, mind. QGIS 3.16 LTR) installiert werden.

Installation von QGIS 3: Öffnen Sie diesen Link qgis.org und wählen Sie das passende Betriebssystem aus (z.B. Windows 64bit). Eine Setup-Datei namens osgeo4w-setup.exe wird heruntergeladen und kann geöffnet werden. Nach dem Ausführen der Datei die Express Installation und QGIS auswählen.

2. Problem und Lösungsvarianten

2.1. Das Problem

Ausgangslage ist, dass Vektordaten existieren. Gesucht davon, wird ein verkleinerter Ausschnitt, wie z.B. ein Industriegebiet, ein Park oder eine Siedlung. Der Ausschnitt soll ebenfalls wieder im Vektordatenformat abgespeichert werden.

2.2. Lösungsansätze

All dies kann in QGIS ohne zusätzliche Plugins getan werden.

Als Ausschnitt kommt entweder ein Rechteck (“Bounding Box”) in Frage (= Variante 1) oder ein Polygon (= Variante 2). Um einen Ausschnitt anhand eines bereits bestehenden Polygons oder einer anderen komplexeren Form auszuschneiden, eignet sie die Variante 2 besser.

2.3. Vorbereitung

  1. QGIS starten und ein neues Projekt eröffnen.

  2. Das QGIS-Projekt auf ein entsprechendes Koordinatenreferenzsytsem umstellen

3. Technische Information: Vektor-Dateiformate und -Services

Beim Umgang mit Vektordaten gibt es einige technische Feinheiten zu beachten. Nicht alle Formate unterstützten Vektordaten, darum ist es wichtig, ein passendes Format zu wählen. Im Folgenden werden mögliche Vektor-Dateiformate vorgestellt.

3.1. GeoPackage

Eines der gängisten und flexibelsten Dateiformate, welches im Gegensatz zu den meisten anderen Datenformaten, sowohl Vektor als auch Rasterdaten speichern kann. Gespeichert werden die Elemente dabei im SQLite DB-Format.

Zudem ist GeoPackage Plattformunabhängig und wird deshalb von den meisten Programmen akzeptiert.

3.2. ESRI Shapefiles

ESRI Shapefile ist ein immer noch weit verbreites Dateiformat in QGIS. Besser wäre die Verwendung von GeoPackage wie im vorherigen Kapitel beschrieben.

Shapefiles kommen mit einigen Einschränkungen, welche andere Datei-Formate (z.B. GeoPackage) nicht haben. Mehr zu den Einschränkungen sind auf der Webseite switchfromshapefile.org beschrieben.
Ein Shapefile besteht im wesentlichen aus den folgenden drei Dateien
  1. .shp Datei - Enthält die Geometrien

  2. .dbf Datei - Enthält die Sachattribute im dBase-Format

  3. .shx Datei - Enthält einen Index

3.3. Delimited Text Files (CSV)

Bei Delimited Text Files handelt es sich um Tabellen im .csv-Format. Diese Files können mit einem einfachen Texteditor geöffnet und bearbeitet werden. Die einzelnen Spalten sind jeweils mit einem definierten Zeichen (z.B. , oder ;) und neue Zeilen, mit einem Zeilenumbruch, voneinander getrennt.

In den Datensätzen sind dann jeweils entweder
  • Punktkoordianten - In getrennten Spalten zur zuordnung des Punkts

  • WKT-Daten - Zur darstellung von Geometrien dargestellt.

QGIS stellt jedoch folgende Anforderungen an Delimited Text Files, damit diese eingelesen werden können
  1. Die Datei muss in der ersten Zeile eine Kopfzeile mit Spaltennamen besitzen.

  2. In der Kopfspalte müssen Felder mit Geometriedefinitionen vorhanden sein.

  3. Wenn die Geodaten in X & Y angegeben werden, müssen diese in Nummern angegeben sein.

Beispiel für eine .csv-Datei
X, Y, Data
-1303400,1233450,13
-632123,1321123,24
1343,1212340,34
Tabelle 1. Und die Tabelle, für die sie steht

X

Y

Data

-1303400

1233450

13

-632123

1321123

24

1343

1212340

34

Wenn die Umlaute nicht richtig dargestellt werden, dann gibt es ein Kodierungs-Problem, beginnend mit der Datei selber bis zum verwendeten Editor und GIS. Als Tipp kann nicht genügend betont werden, dass möglichst durchgehend die sogenannte 'UTF-8'-Kodierung (Kodierung engl. Encoding) eingestellt werden sollte.

3.4. Services - OGC Web Feature Service (WFS)

Web Feature Service (WFS) bezeichnet den Internet-gestützten Zugriff auf Geodaten innerhalb eines verteilten GIS. Der WFS beschränkt sich dabei ausschliesslich auf Vektordaten, wie sie in Datenbanken abgelegt werden können.

Das Hauptproblem einfacher GIS-User ist u.a. die Basis-URL richtig eingeben zu können – was aber geschult werden kann.

Ein Ansatz ist das QMS-Plugin (https://qms.nextgis.com/about) bei dem die WxS-Service-Suche integriert und es nur ein Klick braucht, um den Layer zu laden. Der Nachteil von QMS ist, dass dort die kantonalen und viele GeoAdmin-Services bis auf weiteres fehlen, weil sie dort kaum nachführt werden.

Wenn die zu grosse Datenmenge des WFS bei ausgezoomtem Zustand das Problem ist, dann gibt es folgende Möglichkeiten
  • In der WFS-Konfiguration (auch von QGIS) “Max. no. of features” auf z.B. 100’000 setzen, um ganz grosse Datenmengen zu vermeiden: Beim reinzoomen kommen dann ja alle.

  • In der WFS-Konfiguration (auch von QGIS) das “Enable feature paging” (hier mit Page size 1000) verwenden. Damit kann ich in QGIS wunderbar z.B. alle Shops der Schweiz wählen (bei CH-OSM “magosm:shops_point” genannt) – und es lädt schön immer 1000 für 1000 Feautures nach.

  • Wenn die Menge immer noch ein Problem ist, dann kannst du im WFS-Filter “shop=supermarket” nur Supermärkte auswählen…

4. Lösungsvariante 1 Vektordaten-Export mit Rechteck

  1. Unter Verarbeitung  Werkzeugkiste kann der ‘Werkzeugkasten’ eingeblendet werden.

  2. Im ‘Werkzeugkasten’ kann unter GDAL  Vektorgeoverarbeitung  Vektor auf Ausdehnung zuschneiden aufgerufen werden, welches das Werkzeug ist, welches zum Extrahieren vom Ausschnitt benutzt wird.

  3. Im neuen Fenster muss nun der auszuschneidende Layer ausgewählt werden.

  4. Im Folgenden kann ein Ausschnitt ausgewählt werden. Hierzu kann der Knopf neben dem Feld Clipping extent gedrückt werden.

  5. Nun gibt es verschiedene Möglichkeiten, den Ausschnitt auszuwählen. Im Folgenden werden alle drei Varianten beschrieben.

    • Calculate from Layer: Hier kann ein Layer ausgewählt werden, anhand deren Ausmasse dann der Ausschnitt ausgewählt wird.

    • Use Map Canvas Extent: In dieser Auswahl wird der gesamte Umfang der zur Zeit sichtbaren Karte als Ausschnitt genommen.

    • Draw on Canvas: Mit der Option kann man mit der Maus eine Selektion auf dem Bildschirm machen und so den Ausschnitt auswählen.

  6. Optional: Unter Clipped (extent) kann ein File ausgewählt werden, als welches der neue Ausschnitt gespeichert werden soll. Im Speichermenü kann dann noch das gewünschte Datei-Format ausgewählt werden.

    Es ist wichtig, dass ein Dateiformat gewählt wird, welche Vektordaten unterstützt. Welche Formate das sind, kann im Kapitel Technische Information nachgelesen werden.
  7. Anschliessend kann mit einem Klick auf Run der Prozess gestartet werden.

5. Beispiel von Lösungsvariante 1

Nun wird der Prozess des Ausschneidens noch einmal am Beispiel von Gebäudedaten aufgezeigt. Für den Prozess wird der Layer T48_DKM25_GEBAEUDE aus dem GeoPackage von Swisstopo - Swiss Map Vector 25 genutzt.

  1. QGIS Starten und ein Neues Projekt erstellen.

  2. Die Basiskarte “OpenStreetMap Standard”, subvia Browser-Tab von QGIS unter “XYZ Tiles”, laden.

    Das QGIS-Plugin Quick Map Services bietet eine Vielzahl an Basis-Karten von verschiednenen Anbietern an. Diese können mit nur wenigen Klicks direkt in QGIS geladen werden.
  3. Den Layer T48_DKM25_GEBAEUDE aus den Daten laden.

  4. Im Karten-fenster rechts unten auf das Koordinatensystem (CRS) klicken und im Dialog “EPSG:2056” wählen.

    vektordaten mit einer osm basemap im hintergrund
    Abbildung 1. Vektordaten mit einer OSM-Basemap im Hintergrund
  5. Die Werkzeugkiste aufrufen Verarbeitung  Werkzeugkiste und dort das GDAL Programm starten GDAL  Vektorgeoverarbeitung  Vektor auf Ausdehnung zuschneiden

  6. Nun muss auf der Karte der Ausschnitt markiert werden, welcher Ausgeschnitten werden soll. In diesem Beispiel wird der Ausschnitt direkt auf die Karte gezeichnet. Mit einem Klick auf Starte wird der gewählte Ausschnitt extrahiert.

    eingabefeld des gdal tools
    Abbildung 2. Eingabefeld des GDAL-Tools.
  7. Das fertige Produkt wurde nun in einen neuen Layer geschrieben

    die ausgeschnittenen gebäude der ost
    Abbildung 3. Die ausgeschnittenen Gebäude der Ost

6. Lösungsvariante 2 Vektordaten-Export mit freiem Polygon

Alternativ zur oben genannten Lösung kann man das Problem auch noch auf eine alternative Art und Weise lösen.

Hierzu kommen die Booleschen-Operatoren für Vektor-Daten zur Anwendung.

  1. Als Ausgangslage haben wir eine Sammlung an Vektordaten, aus welchen wir einen Teilbereich ausschneiden wollen.

    ausschnitt zeigt den flugplatz dübendorf im vektorformat
    Abbildung 4. Ausschnitt zeigt den Flugplatz Dübendorf im Vektorformat
  2. Nun kann ein temporärer Layer erstellt werden, welcher den Ausschnitt ausmacht, welchen wir schlussendlich ausschneiden wollen. Via neuer virtueller layer Neuer Virtueller Layer kann ein temporärer Layer erstellt werden.

    Es kann auch ein bereit ersteller Layer mit Polygonen benutzt werden oder ein neuer “permanenter” Layer erstellt werden, in welchen die Daten gespeichert werden. So kann die Maske auch für andere Projekte oder Operationen verwendet werden.
  3. Anschliessend muss dem neuen Layer ein Name gegeben werden und der Geometrie Typ auf Polygon gestellt werden.

    neuer temporärer layer wird erstellt
    Abbildung 5. Neuer temporärer Layer wird erstellt.
  4. Nun kann nach einem Klick auf add polygon Add Polygon angefangen werden der gewünschte Ausschnitt zu markieren.

  5. Nachdem der gewünschte Bereich ausgewählt ist - in diesem Fall die noch erhaltene Lande- und Startbahn - kann die Auswahl mit einem Rechtsklick bestätigt werden.

    die start und landebahn wurde markiert
    Abbildung 6. Die Start- und Landebahn wurde markiert
  6. Nun kann unter Vector  Geoprocessing Tools  Clip…​ das Tool zum ausschneiden aufgerufen werden.

  7. Nun muss oben der Layer mit den Vektordaten und unten der temporär erstellte Layer ausgewählt werden.

    einstellungen für das clipping
    Abbildung 7. Einstellungen für das Clipping
  8. Wenn alles ausgewählt ist, kann via Run der Prozess gestartet werden.

  9. Nun kann der temporäre Layer ausgeschaltet werden. Der neu erstellte Layer sollte dann sichtbar sein.

    die ausgeschnittene start und landebahn
    Abbildung 8. Die ausgeschnittene Start- und Landebahn.

7. Ausblick

In diesem Informationsblatt haben wir gelernt wie man Vektordaten zuschneiden kann. Die Welt der Geodaten besteht jedoch nicht nur aus Vektordaten. Ein weiteres Datenfomat sind Rasterdaten zu welchem wir ebenfalls einen Artikel geschrieben haben. “Erstellen von Ausschnitten aus Rasterbildern mit QGIS”


Noch Fragen? Wende dich an die QGIS-Community!

CC0 (Public Domain) logo Frei verwendbar unter CC0 1.0