[GRASS-de] ArcGIS Funktion "Feature to polygon" ersetzen

Otto Dassau otto.dassau at gmx.de
Mi Okt 15 15:11:25 CEST 2008


Hallo Stefan,

On Wed, 15 Oct 2008 14:33:00 +0200
Stefan Muthers <stefan.muthers at zamg.ac.at> wrote:

> Hallo Otto,
> 
> Otto Dassau schrieb:
> >>>> ich habe ein Shapefile mit Linienobjekten, die Linienzüge sind nicht 
> >>>> unbedingt geschlossen, sie grenzen aber immer an andere Linien an und 
> >>>> grenzen damit Flächen gegeneinander ab.
> >>>>
> >>>> Diese Linien würde ich gerne zu Polygonen machen.
> >>>>
> >>> [...]
> >>>
> >> Wenn ich v.type verwende, werden einfach End- und Anfangspunkt einer 
> >> Linie verbunden. Das ist aber in meinem Fall falsch.
> >> Ein Polygon kann aus mehreren Linien zusammengesetzt sein und eine Linie 
> >> kann Bestandteil mehrere Polygone sein.
> >>
> >> [...]
> > 
> > ich bin nicht ganz sicher, ob ich dein Problem richtig verstehe. Probier
> > doch
> > mal v.clean mit den kombinierten Optionen break,snap und einem
> > entsprechenden
> > (passenden) threshold. Dann sollten zum Schluss drei Bereiche vorhanden
> > sein,
> > die von 4 geschlossenen Linienzügen umgrenzt sind (etwa wie in deinem Bild).
> > 
> > Innerhalb der Umrandungslinien liegen jeweils Punkte, die nach der
> > Verwendung
> > von v.type schliesslich die Boundaries und Centroide darstellen. Ich wuesste
> > nicht, warum das nicht klappen sollte, wenn es so richtig ist, wie ich es
> > verstehe. 
> > 
> > Ansonsten muesstest du mir vielleicht ein paar Daten bereitstellen und/oder
> > Screenshots, mit denen man es noch besser nachvollziehen kann. Das dann aber
> > bitte nicht über die Mailingliste, sondern irgendwo auf einem Server. Ich wü
> > rde
> > es mir dann auf jeden Fall mal anschauen...
> > 
> 
> ok. jetzt hab ich ein einfaches Beispiel-Shape gebaut, die beiden 
> Funktionen nochmal durchgespielt und doch eine threshold Wert gefunden, 
> der das gewünschte Ergebnis liefert.
> 
> Bei meiner Original Datei müsste ich dann aber wieder ganz andere 
> threshold Werte wählen, damit es dort auch funktioniert. Gibt es da 
> irgendeine "goldene Regel". So lässt es sich schwer automatisieren.

nein, leider gibt es da keine "goldene Regel" - soweit ich weiss.

> Jetzt stellt sich außerdem die Frage wie ich Werte aus Punkten, die in 
> den Polygonen liegen den Polygonen zuweisen kann. Ich hab die Grass 
> Toolbox in Qgis durchsucht aber nur das Gegenteil gefunden.
> v.what.vect weist Punkten einen Wert des umliegenden Polygons zu.
> 
> Geht das auch andersrum?

eigentlich wandelst du mit v.type die Linien in Boundaries und die Punkte in
Zentroide um. Dann hast du Flächen mit Labelpunkten und die können dann wieder
mit attributen verknüpft sein.

v.type in=eingabe out=ausgabe type=line,boundary,point,centroid

falls es nicht das ist, was du brauchts und ich es falsch verstehe, könnte
vielleicht auch v.category weiterhelfen. Das kann "attach, delete or report
vector categories to map geometry"

http://grass.osgeo.org/grass64/manuals/html64_user/v.category.html

 Gruesse
  Otto

>    Stefan