[icon name=“glyphicon blicon-warning“ size=“md“] Erstellt mit QGIS 2.14
In diesem Tutorial zeige ich euch, wie ihr im kostenlosen GIS-Programm QGIS Daten vektorisieren könnt. „Vektorisieren“ bezeichnet den Vorgang, Informationen in einem geografischen Raum zu visualisieren und damit eine Kartierung zu erstellen. Diese Informationen können beispielsweise Landmarken wie alte Straßen sein, die man nach dem Georeferenzieren aus einer historischen Karte übertragen möchte, oder archäologische Fundpunkte, oder einfach nur wichtige Markierungen in der Landschaft – das ist ganz egal.
[toc]
Einleitung und Video
Vektorisieren hat den Hintergrund, einer Karte Markierungen hinzuzufügen, um einen bestimmten Sachverhalt darzustellen. Selbstverständlich könnt ihr auch einen Screenshot einer Karte erstellen und dort mit Paint wichtige Punkte markieren, Straßen einzeichnen, usw. Aber das vergesst mal schnell wieder, das ist eine Müll-Methode :D
Diese vektorisierten Daten könnt ihr beliebig visualisieren, anordnen, manipulieren und vor allem dadurch weiterverwenden.
- Z.B. benötigt ihr gar keine historische Karte mehr, wenn ihr deren Daten vektorisiert habt.
- Oder ihr ladet die Vektordaten in eine Google Map, die ihr z.B. teilen oder auf Webseiten einbinden könnt.
- Oder ihr nutzt sie, um im Gelände vor Ort auch den richtigen Punkt zu finden.
- Oder ihr erstellt aus euren Vektordaten eine eigene vollwertige Karte und exportiert sie als Grafik
Für das Vektorisieren brauchst du grundsätzlich erstmal nur die GIS-Software QGIS (Link zum Download, hier: QGIS 2.14). Wenn du Informationen aus einer historischen Karte übertragen möchtest, musst du diese erst georeferenzieren (georeferenzieren – so geht’s..!).
Wenn du möchtest, kannst du mir im untenstehenden Video-Tutorial Schritt für Schritt folgen. Die wichtigsten Punkte fasse ich aber darunter nochmal zusammen.
Video-Tutorial: Vektorisieren mithilfe von QGIS
Inhalte des Video-Tutorials
1:17 Wozu vektorisieren?
2:20 Unterschied zwischen Vektorgrafik und Rastergrafik
4:25 Shapedatei-Layer erstellen & Datenbank-Spalte anlegen
5:58 Relevante Punkte und Linien in Shapedatei-Layers setzen
9:15 Layerstil: Punkte und Linien anpassen
9:47 Erklärung zu leichten Abweichungen der historischen Infos
10:49 Layerbeschriftungen hinzufügen
11:14 Blick in die Tabelle der Datenbank
11:36 Knotenwerkzeug: Punkte nachträglich verschieben
Der Unterschied zwischen Rasterdaten und Vektordaten
Bilder, wie z.B. jpg, gif, png usw. sind Rasterdateien. Sie eignen sich super für Fotos oder sonstige Bilder mit vielen Farben und Farbabstufungen. Auch eingescannte Karten liegen erstmal als Bild vor. Aber leider kann man damit nicht sehr viel anfangen. Bilder bestehen aus vielen Pixeln, die jeweils nur eine einige Information enthalten: ihren Farbwert. Millionen Pixel ergeben zwar ein buntes Kunstwerk, aber sie eignen sich nicht, um weitere Informationen zu transportieren. Um die enthaltenen Informationen herauszuholen, bedarf es eines Auges, das die Info sieht und sie weiterverarbeitet.
Für interaktive Karten eignen sich daher Vektordaten viel besser. Geht mal in Google Maps und schaltet die Satellitenansicht an. Die Satellitenbilder sind als Fotos natürlich Rasterdaten. Wenn ihr tief hineinscrollt, dann wird das Bild verpixelt, denn ihr kommt damit den einzelnen Pixeln mit ihren Farbwerten so nahe, dass sie immer unschärfer werden. Wenn ihr aber in die normale Kartenansicht geht, dann bleibt alles scharf, egal, wie tief ihr zoomt.
Vektordaten arbeiten nicht mit Pixeln, sondern mit Koordinaten. Setzt ihr einen Punkt, werden seine Koordinaten, also seine exakte Position, in einer Datenbank gespeichert. Dazu kann man noch weitere Infos hinterlegen, zB.
- für was dieser Punkt steht (ein Fundplatz? Ein Schlachtfeld? Eine wichtige Kreuzung?)
- wie er dargestellt werden soll (Kreis? Dreieck? Symbol für einen Aussichtspunkt?)
Es können beliebig viele weitere Infos dazu angegeben werden, etwa
- die Anzahl der Bewohner der Stadt,
- ihre Höhe,
- die Zahl ihrer Sehenswürdigkeiten, …
Neben einzelnen Punkten könnt ihr auch Linien zeichnen, die etwa für Verkehrswege, Wasserläufe oder Grenzen dienen können, sowie Polygone, die als geschlossene Formen Seen sein können, oder auch Territorien, oder Sumpflandschaften. Mit Polygonen ist es aber auch möglich, einen individuellen topographischen Kartenhintergrund anzufertigen und so eine komplett eigene Karte zu erstellen.
Shapedatei-Layer anlegen
Die Vektordaten werden, wie erwähnt, in einer Tabelle gespeichert, also außerhalb deines QGIS-Projektes. Diese speziellen Dateien nennt man Shapedatei, da die Vektordaten Shapes sind, also Formen. Eine Shapedatei kann immer nur entweder (!) Punkte, Linien oder Polygone enthalten, nicht alle zusammen. Du musst also für alle Punkte, die du setzen möchtest, alle Linien und alle Polygone mindestens je eine separate Shapedatei anlegen.
Je nachdem, was ihr vorhabt, ist eine Hintergrundkarte in QGIS, zB. Google Maps, sinnvoll. Du bekommst sie mit dem OpenLayers Plugin (siehe im Georeferenzieren-Tutorial). Gehe nun auf Layer > Layer erstellen > Shapedatei-Layer anlegen… Es öffnet sich nun folgendes Fenster:
Oben gibst du an, ob die Shapedatei Punkte, Linien oder Polygone enthalten soll. Unter Kodierung sollte UTF-8 stehen, das gewählte KBS sollte deinem Projekt-KBS entsprechen.
Tipp: QGIS kann manchmal sehr unglücklich abstürzen. Dabei ist bei mir einmal eine Shapedatei (teilweise) kaputt gegangen und konnte nicht mehr eingelesen werden. Mir hat das kostenlose Mini-Tool ShapeFile-Fixer dabei geholfen, die Ebene wieder zu reparieren. Katastrophe, wenn so eine Datei kaputt geht!
Der rot umrahmte Bereich betrifft die Tabelle, die QGIS anlegt. Das ist nicht ganz unwichtig, deshalb erkläre ich es kurz noch. Wie erwähnt, kannst du jeder Form beliebig viele weitere Infos hinzufügen, um so später zB. die Symbole deiner Orte entsprechend der Bevölkerungsanzahl automatisch darstellen zu lassen.
Du solltest dir also überlegen, welche Informationen du für welche Form aufnehmen möchtest und so im Kopf schon mal eine Tabelle aufbauen, die zB. für die Aufnahme von Orten folgendermaßen aussehen könnte.
Die Arbeit mit Tabellen und SQL in QGIS
Und genau diese Tabelle legst du im obigen Shapedatei-Layer-Fenster an. Etwas irreführenderweise werden Spalten hier nicht wie üblich als Spalten, sondern als Felder bezeichnet. Ein ID-Feld ist schon im voraus angelegt. Hier könntest du später beim Anlegen deiner Vektordaten eine einzigartige ID eintragen (ich lasse das meistens, so groß sind unsere Tabellen nicht).
Für jede Information, die du aufnehmen möchtest, brauchst du also ein weiteres Feld. In meinem Beispiel hier musst du oben bei „Neues Feld – Name“ also nacheinander die Spaltennamen eingeben: Name, Funktion, Bevölkerung, Fläche_ha. Danach musst du jeweils auf „Zur Feldliste hinzufügen“ klicken. Auf diese Weise legst du also sozusagen eine leere Tabelle mit diversen Spalten an, die du dann beim Vektorisieren befüllen kannst.
Weiterführender Tipp: Legst du beim Vektorisieren viele Elemente an, die zumindest teilweise immer wieder gleiche Werte bekommen – z.B. „archäologischer Fundort“, dann kannst du bei der Dateneingabe dafür ein Dropdown-Menü zur Auswahl erstellen. Das spart enorm viel Zeit und beugt Schreibfehlern bei der Dateneingabe vor.
Was jeder Ort auf jeden Fall bekommen sollte, wäre ein Name. Den kannst du nachher als Beschriftung deines Ortes anzeigen lassen. Am Ende klickst du auf OK, wählst einen Speicherort für deine Shapedatei aus und hast dann eine neue Ebene in deinem Ebenenfenster.
Durch die angelegte Tabelle haben wir ziemlich viele Möglichkeiten, verschiedene Dinge dazustellen. Mithilfe von einfachen SQL-Abfragen können wir etwa aus einer Tabelle völlig unterschiedliche Darstellungen erzeugen: Zeige alle Elemente, die im Feld X einen Wert von > 100 haben, in Feld Y den Wert = wie-auch-immer stehen haben und in Feld Z NICHT >= 600 sind.
Da muss man sich ein bisschen einlernen, es ist aber nicht schwer und QGIS hilft auch bei der Semantik. Aber auf SQL-Abfragen gehe ich hier nun nicht mehr ein, das führt zu weit.
Vektorisieren am Beispiel einer historischen Karte
Nehmen wir an, wir haben eine Punkt-Shapedatei erstellt und möchten nun Landmarken aus einer historischen Karte übernehmen. Die historische Karte zeigt den Standort von Sandgruben und Kiesgruben im Jahr 1841 an und du willst festhalten, wo diese Gruben heute wären.
Du hast die Karte bereits georeferenziert und eingeblendet. Also klickst du nun auf deine frisch erstellte Punkt-Shapedatei und danach dann oben in der Werkzeugleiste auf den gelben Stift („Bearbeitungsmodus umschalten“). Nun kannst du diese Ebene bearbeiten. Dann rechts daneben auf „Objekt hinzufügen“.
Mit diesem Werkzeug kannst du jetzt im Kartenfenster beliebig Punkte setzen. Nach dem Klick auf eine Stelle geht ein Fenster auf, in dem du die Tabellenspalten ausfüllen kannst, in diesem Fall also zB. nur Kiesgrube. Nach dem Klick auf OK ist der Punkt dann angelegt.
Im Bild siehst du, dass ich mal drei Punkte vektorisiert habe: Eine Sandgrube, eine Kiesgrube und einen Brunnen. Rechts unten befindet sich die entsprechende Tabelle. Die Tabelle kannst du aufrufen unter Layer > Attributtabelle öffnen. Im Bearbeitungsmodus kannst du hier auch zusätzliche Spalten einfügen, Spalten löschen, eingetragene Infos ändern usw.
Wenn du nun die historische Karte ausblendest, siehst du die gesetzten Punkte dort, wo die Gruben und der Brunnen sich heute befinden würden – mitten im Wohngebiet.
Auf genau die gleiche Weise kannst du nun Linien und Polygone setzen: Entsprechende Shapedatei-Layers anlegen und schließlich die Formen einfügen.
Im Video ein kleiner zusätzlicher Tipp für das Setzen von Punkten, Linien und Polygonen: Wenn du hier immer wieder die gleichen Daten einträgst, z.B. „Frühmittelalterlich genutzte villa rustica“, dann kannst du dir viel Zeit sparen. Nutze einfach ein Auswahlmenü, dann kannst du den einzutragenden Wert einfach per Dropdown-Menü auswählen!
Layerstile – Symbole, Linien und Farben!
Wenn du willst, kannst du diesen Punkten nun ein anderes Symbol festlegen. Standardmäßig sind Punkte einfach ausgefüllte Kreise, in meinem Screenshot siehst du, dass stattdessen ein roter Stern zu sehen ist. Selbstverständlich ist es auch möglich, alle Shapes zu beschriften. Beides ist grundsätzlich einfach, kann aber auch komplizierter werden, je komplexer die Tabellen werden :D
Man kann Punkten diverse Zeichen zuweisen:
- einfache oder verschachtelte geometrische Formen
- verbreitete Piktogramme für z.B. Parkplatz, Sehenswürdigkeit oder Wald
- selbst erstellte Symbole (Vektorgrafiken im SVG-Format)
Auch Linien können unterschiedlich dargestellt werden, etwa als gepunktete Linie, als mehrspurige Straße, als Schraffur… Gleiches gilt natürlich für Polygone, die Schraffuren und Farb- oder Musterfüllungen in unterschiedlichen Transparenzgraden zeigen können.
Einen Layerstil festlegen
Die Einstellung des Stils ist sehr einfach: Doppelklicke auf den Shapedatei-Layer, wechsle im Fenster auf Stil und probiere einfach herum. Auf den ersten Blick findest du verschiedene vorgefertigte Stile, wie z.B. den roten Stern. Klickst du nun aber auf „Einfache Markierung“ (in der nachfolgenden Abbildung links markiert), kannst du weitere Parameter einstellen, darunter
- Farbe für Füllung und Umrandung
- Art der Umrandung
- Breite der Umrandung
- Winkel (das Symbol kann auch gedreht werden)
Insgesamt kann man im Layerstil-Fenster ziemlich viel anstellen. Das hier sind nur absolute Grundlagen. Hilfreich ist noch dieser Tipp: „Einfache Markierung“ bedeutet, dass du hier die Auswahl aus verschiedenen einfachen vorgefertigten Symbolen hast (die auch miteinander kombinierbar sind). Klickst du jedoch oben rechts (ebenfalls markiert) auf das Dropdown-Menü, dann kannst du dort noch „SVG-Markierung“ auswählen und hast hier Zugriff auf verbreitete Symbole, die man auf Karten finden kann. Außerdem kannst du hier eigene SVG-Symbole hochladen und auswählen.
Weiterführende Tipps für Stile
Dieser hier nun ausgewählte Stil wird auf alle Punkte (bzw. Linie oder Polygon) eines Layers angewendet. Es handelt sich um sogenannte „Einzelsymbole“ (Dropdown ganz oben links), d.h. jeder Punkt = gleiches Symbol. Wenn man aber nicht für jedes unterschiedliche Element, wie z.B. Kiesgrube, Sandgrube und Brunnen, eine eigene Ebene anlegen möchte, um unterschiedliche Stile verwenden zu können, kann man statt Einzelsymbolen beispielsweise auch kategorisierte Layerstile verwenden.
Der Größenassistent dagegen hilft weiter, wenn Punkte eines Layers je nach Kategorie anders aussehen und außerdem nach einer weiteren Kategorie verschiedene Größen haben sollen.
Gelegentlich kann es vorkommen, dass sich auf engem Raum viele Vektorelemente konzentrieren. Mit der Symbolebenen-Einstellung kannst du die „Stapelreihenfolge“ innerhalb eines Layers festlegen.
Gefällt dir mein Beitrag?
Mit einem Kaffee würdest du mich sehr glücklich machen! :D
Beschriftungen – Die Karte sprechen lassen
Eine Kartierung ist natürlich nichts ohne Beschriftungen (englisch: Labels) der Symbole, die man sieht. Hier greift QGIS wieder auf die angelegte Tabelle zurück – in der einfachsten Version ist eine Beschriftungen in Sekunden eingerichtet. Voraussetzung ist, dass du in der Tabelle eine Spalte/Feld angelegt hast, die den Beschriftungstext enthält, z.B. „Name“ oder „Label“ (extra für Beschriftungen) und diese natürlich auch befüllt hast.
Wechselt per Doppelklick auf die Ebene in die Layereigenschaften und klickt auf den Reiter „Beschriftungen“.
Hier musst du nun zwei Dinge einrichten, um Beschriftungen anzuzeigen:
- Wählt im Dropdown ganz oben (markiert) „Diesen Layer beschriften“
- Wählt im Dropdown darunter das Feld in eurer Tabelle, mit dem ihr die Elemente beschriften wollt, standardmäßig also irgendein Name
Gerade Zweiteres vergesse auch ich immer wieder und wundere mich dann, dass keine Beschriftung angezeigt wird. Solange du QGIS nicht gesagt hast, mit welchen Werten es die Elemente beschriften soll, wird es keine Labels anzeigen.
Beschriftungen können unabhängig von den Stilen agieren – so kannst du völlig wild Elemente in einer einzigen Shapedatei mit unterschiedlichen Symbolen und Labels anzeigen. So können z.B. die Punkte der Kiesgrube und der Sandgrube unterschiedliche Symbole bekommen, während die Kiesgrube mit „Grube“ beschriftet wird und die Sandgrube gar kein Label erhält.
Sie könnte stattdessen in der Kartenlegende als Sandgrube ausgewiesen werden. Oder die Sandgruben erhalten einen fetten Schriftzug und die Sandgruben einen kursiven. Dafür musst du statt „Diesen Layer beschriften“ im Dropdown „Regelbasierte Beschriftung“ auswählen und die entsprechenden SQL-Regeln erstellen.
Weiterführende Literatur
Leider gibt es keine deutschsprachige Literatur zu QGIS, daher kann ich hier nur englische Bücher vorstellen.
Dieser externe Inhalt ist aufgrund deiner Datenschutzeinstellungen gesperrt. Klicke auf den Button, um den Inhalt von ws-eu.amazon-adsystem.com zu laden.
Dieser externe Inhalt ist aufgrund deiner Datenschutzeinstellungen gesperrt. Klicke auf den Button, um den Inhalt von ws-eu.amazon-adsystem.com zu laden.
Dieser externe Inhalt ist aufgrund deiner Datenschutzeinstellungen gesperrt. Klicke auf den Button, um den Inhalt von ws-eu.amazon-adsystem.com zu laden.
Diese Bücher sind nicht für blutige GIS-Anfänger gedacht. Sie vermitteln tiefgreifende Kenntnisse jenseits der Basics (die vorausgesetzt werden). Wer sich also fortbilden und QGIS wirklich „meistern“ möchte, findet hier passendes Material.
Anmerkungen zu dieser Auswahl: Ich habe diese Bücher nicht alle gelesen, aber manche hatte ich in der Hand und kann sie beurteilen.
Learning QGIS: Richtet sich an Nutzer, die das Kernkonzept von GIS-Software schon kennen, aber eben QGIS noch nicht. Das Buch erklärt kein grundlegendes Vokabular, sondern zeigt, wo man in QGIS was findet und wie alles funktioniert. Enthält ein ganzes Kapitel „Creating great maps“.
Schreibe einen Kommentar