On Mon, Nov 11, 2013 at 10:10:22PM +0100, aperi2007 wrote: > Ciao Alessandro, > grazie per il suggerimento, > > ci avevo pensato, ma la avevo scartata perche' mi genererebbe solo > legami a coppie.
Non mi risulta: strk=# select ST_AsText(ST_LineMerge(ST_Collect(g))) FROM ( VALUES ('LINESTRING(0 0, 10 0)'), -- trattoA ('LINESTRING(10 0, 20 0)'), -- trattoB ('LINESTRING(20 0, 30 0)'), -- trattoC ('LINESTRING(30 0, 40 0)') -- trattoD ) f(g); st_astext -------------------------------- LINESTRING(0 0,10 0,20 0,30 0,40 0) (1 row) > e se faccio una cosa del tipo: > > SELECT > ST_LineMerge(ST_Collect(geom)) > FROM > qualche_tavola as a > WHERE > qualche_attributo IN (select b.qualche-attributo from qualche > tavola as b where ST_Touch(a.geom,b.geom)=1); > > avrei ottenuto appunto una aggregazione a coppie. > > Ovvero otterrei come tratti separati: > trattoA+trattoB e trattoB+trattoC Certo se limiti con ST_Touch sei tu a chiedere le coppie. --strk; > >On Mon, 11 Nov 2013 21:49:49 +0100, aperi2007 wrote: > >>Ho uno shapefile di tratti lineari, > >> > >>I quali tratti possono essere tra loro in contatto sugli estremi. > >> > >>Ad esempio: > >> > >> > >>|----trattoA-----|-----trattoB------|--------trattoC-----|----trattoD---| > >> > >> > >>Il risultato che vorrei ottenere รจ > >>un nuovo tratto composto di > >> > >>|-----TrattoA + TrattoB + TrattoC + TrattoD -----| _______________________________________________ Gfoss@lists.gfoss.it http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 666 iscritti al 22.7.2013