[Gfoss] Problema: da linee a poligoni

GUIDUCCI Marco marco.guiducci a regione.toscana.it
Ven 5 Feb 2016 10:08:13 CET



----- Messaggio originale -----
Da: "stefano campus" <skampus a gmail.com>
A: gfoss a lists.gfoss.it
Inviato: Martedì, 2 febbraio 2016 0:13:03
Oggetto: Re: [Gfoss] Problema: da linee a poligoni

prima di lanciare le funzioni nei vari software, avevo verificato in qgis che
non ci fossero problemi nel file di input;  il "check geometry validity" non
aveva rilevato alcun errore.

dopo il post di totò,  ho provato con v.clean (cleaning tool: snap) se ci
fossero dei problemi ed in effetti ne ha rilevato un po'. in pratica i
segmenti di input non erano effettivamente tutti connessi, anche se ad
occhio nudo io non sono riuscito a vedere le discontinuità.

comunque, questa maledetta estensione di arcview è di bocca buona e risolve
anche i problemi di connessione.

su... c'è qualche ex "avenuista" provetto, oggi pythonista convinto, magari
torinese, magari di un ente pubblico che protegge l'ambiente, che ha voglia
di guardare lo script e provare a tradurlo in un linguaggio più gradito a
tutti?  
pago in birrette!

;-)

s.

ps: ogni riferimento a persone è propriamente voluto :-D


Ciao,
mastico ancora avenue.
guardando lo script l'unico comando "interessante" (gli altri sono lettura dei record, esplosione in segmenti flip e ricomposizione, insomma cose necessarie) è proprio una "clean".

shpin.Clean riga 161 

insomma viene appplicata una clean sulla polyline.
riporto dal manuale di Avenue.

Clean:
Returns aPolyLine cleaned by applying Connect request. A clean PolyLine contains no nodes where only two parts meet - these nodes are removed in the cleaning process to connect the parts.

Syntax
aPolyLine.Clean 

Returns
PolyLine


Il Connet request:

Returns aPolyLine, with optimized number of parts. If end points of parts in a PolyLine are considered nodes in a graph, the resulting PolyLine has no nodes of valence two. This means that if two parts of aPolyLine share a particular node, these two parts will be merged into one part. If three parts of aPolyLine share a particular node, these three parts will remain as separate parts.

Syntax
aPolyLine.Connect 

Returns
PolyLine

Saluti
marco


Maggiori informazioni sulla lista Gfoss