======Vektor-Raster Beziehungen*====== ....in Arbeit Eine häufige Aufgabe ist es, **Rasterdaten in Vektordaten** zu wandeln (vektorisieren) oder andersrum: **Vektordaten in Rasterdaten** (rastern). Wir wissen, dass wir bei letzterem immer mit **Informations- und Qualitätsverlusten** rechnen müssen, da ein Vektor //unendlich// präzise sein kann und keine festgelegte Auflösung wie ein Raster besitzt. Ein Raster kann außerdem nur **einen einzigen Wert pro Pixel** abspeichern, während Vektoren hunderte Werte in hunderten Attributen haben können. Dennoch: Es gibt viele Aufgaben die das Rastern (Vektor in Raster wandeln) erforderlich machen. Neben dem Wandeln der Speicherformate gibt es auch die Möglichkeit, aus beiden Formaten **Werte in einem Format zusammen zu fassen (Werteabbildung)**. =====Beispielanwendungen===== ^ Wandlung: Rasterize ^ Wandlung: Vectorize ^ Wertabbilung: Vektor -> Raster ^ Wertabbilung: Raster -> Vector ^ | Vereinfachung von Vektordaten (Bereinigen von Topologiefehlern) | Höhenlinien oder -Schichten aus DGM | Gebäudehöhendaten in DGM einpflegen -> DOM | Lärmpegel in Gebäudepolygon schreiben | | DGM erstellen aus GPS-Tracks oder -Punkten | Hangneigungspolygone aus //Slope// als Gefahrenzonen ausgeben |   | Durchschnittshöhen in Fluren schreiben | =====Wertabbilung: Raster -> Vektor===== Ein gutes Beispiel hierfür ist eine **Lärmkartierung**. Bei einer Lärmkartierung wird mit diversen Messverfahren und Methoden, der durchschnittliche örtliche [[wpde>Schalldruckpegel]] ermittelt. Da dies vor allem in größeren Gebieten (Städte) nicht flächendeckend möglich ist, wird an repräsentativen Orten in einem **Raster (z.B. 50m x 50m)** der Schalldruck gemessen und die Zwischenwerte **interpoliert**. Es entsteht eine Rasterkarte, bei welcher **jeder Pixel einen Schalldruckpegel-Wert (dB)** erhält. Möchte man diese Ergebnisse nun auf Vektoren z.B. Hausfassaden übertragen, so geht das in QGIS u. A. mit dem Standard-Werkzeug **Zonenstatistik**. Wir benötigen eine Schalldruck-Rasterkarte und einen Polygonlayer mit Hausumringen (Polygonen). Einen Beispieldatensatz (Lärmkarte von Berlin) finden Sie hier: {{:qgis:advanced:dataset:datensatz-laerminberlin.zip|Lärm in Berlin}}. ====Screencast: Rasterwerte in Vektor schreiben (Zonenstatistik)==== {{ :qgis:advanced:video:zonalstatistic.mp4?400x300|}} Das **Zonenstatistik-Werkzeug** ist weder im Raster- noch im Vektormenü zu finden. Wir müssen es entweder über die **Werkzeugkiste** ''Verarbeitung -> Werkzeugkiste'' suchen oder verwenden die neue QGIS3-Indexfuktion, unten links in der Statuszeile. Hier geben wir //Zonenstatistk// ein und der Verarbeitungsalgorythmus taucht auf. Die Eingabeparameter sind selbsterklärend. Wir haben die Möglichkeit, verschiedene Statistiken zu wählen. Man beachte, dass i.d.R. mehrere Pixel unter einem Polygon liegen und deshalb nur deren statistischer oder min-max Wert in das Polygon geschrieben werden kann. Anders als 95% der anderen Werkzeuge in QGIS, wird **kein neuer Layer erstellt**, sondern der Vektor-Layer beschrieben. Dafür muss noch nicht einmal der Bearbeitungsmodus aktiv sein! Mit der ''Abgestuften Darstellung'' und dem Modus ''Quantil'' können wir unser Gebäudepolygonlayer aussagekräftig visualisieren.   Eine neue Funktion ab QGIS 3.4 ermöglicht es die Attributtabelle eines Vektorlayers (P,L,F), **direkt** mit den Werten eines Raster zu füllen. Der Befehl dazu lautet ''raster_value'' und kann z.B. über den Feldrechner angewendet werden: ''raster_value('DEM',1, $geometry)'' So könnte man Vektoren direkt mit Rasterwerten beschriften oder damit deren Attributtabelle füllen.  ====Wertabbilung: Vektor -> Raster==== fehlt...  ====Rasterize / Rastern==== Den Vorgang, Vektordaten (P,L,F) in Rasterdaten zu wandeln, nennt man **Rastern** oder **rasterize**. Im folgenden Beispiel werden wir eine Landnutzungsklassifikation (Polygone mit Inseln und Topologiefehlern) in ein Raster wandeln und dann wieder zurück in einen Polygonvektor. {{ :qgis:advanced:video:vector-raster.mp4?400x300|}} Die Funktion, welche wir suchen finden wir unter ''Raster -> Konvertierung -> Raster (Vektor nach Raster)...'' oder einfach über die Suchfunktion (welche uns gleich mehrere Ergebnisse der unterschiedlichen Provider liefert (SAGA, GDAL, GRASS...)). Wir müssen mehrere Parameter angeben: **Einzubrennendes Feld**- zwar steht //optional// dahinter, wenn wir hier aber kein Attribut aus dem Vektorlayer angeben, werden unserem Raster keine Werte in die Pixel geschrieben - es wird einfarbig ohne Information. Hier zeigt sich, dass unter Umständen Vorarbeit am Vektorlayer nötig ist, denn in ein **Raster können nur Zahlenwerte (Ganzzahl) geschrieben werden**. Attribute mit Text oder Dezimalzahl stehen zum "einbrennen" nicht zur Auswahl! Weiter geben wir die Rasterauflösung (Höhe/Breite) an. Entweder in Pixel oder Karteneinheiten - sofern wir ein metrisches KBS verwenden, entspricht eine Karteneinheit einem Meter. Die Bezeichnung "Höhe/Vertikale Auflösung" ist verwirrend - ein Raster ist immer zweidimensional. Mit Höhe ist hier eine der beiden Kantenlängen gemeint. Bei ''Ausgabegröße'' geben wir die Ausdehnung unseres zu erzeugenden Rasters an - wir können frei wählen oder übernehmen die Ausmaße unseres Vektorlayers. Unter ''Gerastert'' ist die Ausgabedatei gemeint - wir können einen Ort und Namen angeben oder einen Temporären Layer anlegen (Standart) - wie im Screencast.   ====Vectorize / Vektorisieren==== Die im vorhergehenenden Schritt erzeugte Rasterdatei wird nun wieder in eine Polygonvektor zurück gewandelt.  {{ :qgis:advanced:video:raster-vector.mp4?400x300|}} Das GDAL-Werkzeug zum Vektorisieren finden wir unter ''Raster -> Konvertierung -> Vektorisieren (Raster nach Vektor)... '' oder wir verwenden die QGIS-Suche: da finden sich weitere Provider wie GRASS oder SAGA. Im Beispiel verwenden wir aber GDAL - hier gibt es wenige Parameter und die Vektorisierung erfolgt selbsterklärend. Als Ergebnis erhalten wir einen **neuen Vektorlayer**, welcher nach der einen im Raster vorkommenden Klasse erstellt wurde. Alle **Überschneidungen, Inseln, Multipolygone und Topologiefehler** aus dem ursprünglichen Vektor-Datensatz sind **gelöscht bzw. bereinigt**. Das kann für manche Aufgabenstellungen durchaus wünschenswert sein! Der Unterschied zwischen Orginal-Vektor und zurückgewandeltem Vektor wird am Ende des Screencast's verdeutlicht. Beide Layer werden mit den gleichen Stil-Einstellungen dargestellt (Copy and Paste).