next up previous contents index
Next: Automatische Vektorisierung von Rasterdaten Up: Vektordatenverarbeitung Previous: Interpolation von Rasteroberflächen aus   Contents   Index


Direkte Vektordaten-Wandlung zu Rasterdaten

Eine direkte Konvertierung von Vektordaten in das Rasterformat kann für eine Weiterverarbeitung (Verschneidungen im Rastermodell, Kartenalgebra) interessant sein.

Um eine Umwandlung vom Vektor- in das Rasterformat durchführen zu können, müssen die Vektoren jeweils ein Attribut (Label) besitzen. Das ist der Regelfall.

Sind nur die Flächenausdehnungen für die spätere Rasterverarbeitung relevant, nicht aber die Attribute, können alle Vektoren auch automatisiert mit der selben Information belegt werden. Im Modul

$ v.digit

besteht hierfür die Möglichkeit. Der Menüpunkt "`L"' wie "`Label"' ist zu wählen, dann "`B"' wie "`Bulk remaining labels"'. So werden alle Vektoren auf einen definierbaren Einheitswert gesetzt. Sie verändern ihre Farbe im GRASS-Mo"-ni"-tor (zur optischen Kontrolle).

Ein Problem kann auftreten - manchmal lassen sich nicht alle Vektoren automatisch "`labeln"' (erkennbar an der Uneinheitlichkeit der Farben). Dann hilft folgender Trick: Man digitalisiert mit der Maus einen kleinen Linienvektor an eine freie Stelle, führt die Prozedur "`Label"' - "`Bulk remaining labels"' (diesmal erfolgreich) durch und löscht die soeben neu angelegte Linie wieder. Nach Verlassen von v.digit ist

$ v.support

anzuwenden (Option: "`build"'), um die Topologie aufzubauen.

Die Umwandlung in das Rasterformat erfolgt anschließend mit $ v.to.rast, das Modul ist menügesteuert. Das Modul konvertiert nur Vektoren mit Attribut. Da die erzielte Genauigkeit von der Rasterzellenauflösung abhängt, können Sie diese vorher mit

$ g.region

passend wählen, sofern Sie nicht an eine bestimmte Auflösung gebunden sind. Anschließend sollten Sie $ r.support auf die neue erzeugten Rasterdaten anwenden und die Datenstatistik berechnen.

Eine Besonderheit ergibt sich, wenn Sie Flächen vorliegen haben, aber im Vektor- oder Rasterformat nur noch die Grenzlinien bekommen wollen. Hier ist erforderlich, den Vektortyp zu ändern. In GRASS kann die Umwandlung ohne großen Aufwand durchgeführt werden. Zuerst ist die Vektorflächenkarte in das GRASS-ASCII-Vek"-torformat zu exportieren (normalerweise sind Vektoren im GRASS-Binär-Vek"-torformat gespeichert):

$ v.out.ascii

Die Attribute bleiben dabei erhalten, die Exportdatei wird in $LOCATION/dig ascii/ gespeichert. Nun benötigen Sie einen Textedit mit Austauschfunktion ("`Suchen"', "`Ersetzen"') wie z.B. textedit, joe oder einen Office-Editor. In der Datei sind alle Vektoren mit Attribut und Typ anhand ihrer Stützpunkte aufgelistet. Ersetzen Sie alle "`A"' durch "`L"' (großgeschrieben, kleingeschriebene Typbuchstaben markieren einen Vektor als gelöscht). Damit haben Sie den Vektortyp geändert. Mit

$ v.in.ascii

wird die geänderte Karte wieder in das GRASS-Binär-Vek"-torformat importiert. Anschließend ist

$ v.support

anzuwenden (Option: "`build"'), um die Topologie aufzubauen. Um hier keine Warnungen über nicht zuweisbare Attribute zu bekommen, können Sie vorher, sofern nicht benötigt, die Attributtabelle in $LOCATION/dig att/ löschen. Die Attribute lassen sich deshalb nicht korrekt zuweisen, da bei Flächen die attributtragenden Labelpunkte in der Fläche liegen, bei Linienvektoren aber direkt an die Linien gekoppelt sein müssen. Und diese Struktur liegt ja nicht vor. Nun haben Sie eine Karte, die die Flächengrenzen beschreibt.

Wollen Sie diese Grenzen im Rasterformat vorliegen haben, ist in v.digit (s.o.) ein Einheitsattribut vor der Umwandlung mit v.to.rast zu vergeben. Sie können beispielsweise, wenn Sie vor oder nach $ v.in.ascii die Attributtabelle gelöscht haben, das Einheitsattribut "`1"' vergeben, damit alle Rasterlinien später diesen Wert haben. Die Flächeninhalte sind entprechend "`0"', also nicht ausgefüllt.


next up previous contents index
Next: Automatische Vektorisierung von Rasterdaten Up: Vektordatenverarbeitung Previous: Interpolation von Rasteroberflächen aus   Contents   Index
Markus Neteler 2005-04-14