[GRASS-de] Kreuzungspunkte

Markus Neteler neteler at itc.it
Di Mai 27 17:33:07 CEST 2003


On Tue, May 27, 2003 at 01:05:06PM +0200, Schramm, Torsten wrote:
> Hallo,
> 
> ist stehe vor einem Anwendungsproblem.
> Ist es möglich Kreuzungspunkte aus zwei Vector-Themen zu ermitteln.
> Ich habe ein Vector Map mit einem Gewässernetz und eine Vector Map mit
> einem Straßenetz. 
> Ich möchte die Themen überlagern und die Kreuzungspunkte ermitteln (Brücken, Verrohungen, Durchlässe, etc.)
> Gibt es hier Möglichkeiten in Grass ?


Hallo Torsten,

in GRASS 5.1 kann man das machen (GRASS 5.1 = experimentell, es funkioniert
noch nicht 100%ig):

v.info strassen
  Number of points:       0               Number of areas:      0
  Number of lines:        12323           Number of islands:    0
  Number of boundaries:   0               Number of faces:      0
  Number of centroids:    0               Number of kernels:    0

v.clean input=strassen output=strassen_bruecken tool=break -x
d.vect strassen_bruecken
d.vect strassen_bruecken ty=point col=red icon="basic/box"

v.info strassen_bruecken
  Number of points:       161             Number of areas:      0
  Number of lines:        12164           Number of islands:    0
  Number of boundaries:   0               Number of faces:      0
  Number of centroids:    0               Number of kernels:    0

-> 161 Bruecken

Bug: Die Linien, die Bruecken enthalten, werden nicht in die Ausgangskarte
geschrieben. Radim wird das demnaechst reparieren, so dass nur noch
die Bruecken in der Ergebniskarte sind.

Als temporaere Loesung: Jetzt kann man mit 'v.extract' die Punkte
rausziehen. Dazu muss aber erst eine 'cat' (ID) Spalte eingefuegt werden:

v.category strassen_bruecken type=point option=print
#->cat 0 ueberall
v.category strassen_bruecken type=point option=del out=strassen_bruecken_tmp
v.category strassen_bruecken_tmp type=point option=add step=0 cat=1 \
   out=strassen_bruecken_cat
v.category strassen_bruecken_cat type=point option=print
#->nun cat 1 ueberall

#damit brummt nun auch v.extract:
v.extract strassen_bruecken_cat type=point out=bruecken where="cat > 0"
d.vect bruecken col=green icon="basic/circle"
d.what.vect bruecken

#dran denken, dass beim Loeschen von 'bruecken' auch die Tabelle, die an
#bruecken 'gelinkt' wurde, mitgeloescht wird (also die Tabelle zu strassen).
#Daher ist es besser, mit db.copy eine Kopie der 'strassen'-Attributtabelle
#fuer 'bruecken' zu machen.

Viel Spass beim Spielen mit 5.1,

ciao

 Markus