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

Otto Dassau otto.dassau at gmx.de
Di Okt 14 15:30:15 CEST 2008


Hallo Stefan,

On Tue, 14 Oct 2008 14:49:47 +0200
Stefan Muthers <stefan.muthers at zamg.ac.at> wrote:

> Hallo,
> 
> 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.
> >>
> >> Zusätzlich habe ich Punkte, die in den Polygonen liegen (pro Polygon 
> >> durchaus mehrere Punkte).  Diese Punkte haben ein Attribut, dass an das 
> >> Polygon in dem sie liegen übertragen werden.
> > 
> > das Modul v.clean kann man verwenden, um z.B. nicht geschlossene Linien zu
> > vereinen. Das Umwandeln von Linien und Punkten in Boundaries und Centroide
> > (Flächen) geht mit dem Modul v.type.
> > 
> 
> 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.
> 
> Mal so dargestellt (4 verschiedene Linien - 3 Polygone)
> 
>    :::::::::::::::
>    :             :
>    -------------::
>    +    +     .
>    +   +     .
>    .+  +    .
>    .  +     .
>    ..........
> 
> 
> Das mag ein komisches Format sein, ist aber leider so. Die Linien sind 
> Grenzflächen an deinen eine Eigenschaft wechselt.
> 
> Ich habe nicht herausgefunden, mit welchem tool-Parameter v.clean 3 
> eigenständige Polygone aus dem obigen Bsp. macht. Geht das überhaupt?

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...

 Gruesse
  Otto

> gruß
>    stefan
> 
> _______________________________________________
> grass-de mailing list
> grass-de at grass-verein.de
> https://grass-verein.de/mailman/listinfo/grass-de