Salve,
Ho uno shapefile di tratti lineari, I quali tratti possono essere tra loro in contatto sugli estremi. Sono alla ricerca di un metodo per ricostruire una route non basata sulla aggregazione per attributo, ma bensi' aggregando per "contatto". Ovvero aggregare i tratti che sono in contatto tra di loro. Il problema è che l'aggregazione non è solo di tratti a due a due. Ma bensi' anche in cascata. Ad esempio: se TrattoA è in contatto con TrattoB e TrattoB è in contatto con TrattoC. |----trattoA-----|-----trattoB------|--------trattoC-----|----trattoD---| Il risultato che vorrei ottenere è un nuovo tratto composto di |-----TrattoA + TrattoB + TrattoC + TrattoD -----| Cio' che al masskmo riesco ad ottenre è l'aggregazione di un tratto con il suo contatto immediato ovvero una cosa di questo genere: |----TrattoA+TrattoB----|------TrattoB+TrattoC----|----TrattoC+TrattoD----| Ma non riesco a ricostruire tutta la connessione. Conoscete un software o un plugin che riesca a riprodurre un tale risultato ? Grazie, Andrea. _______________________________________________ [hidden email] 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 |
On Mon, 11 Nov 2013 21:49:49 +0100, aperi2007 wrote:
> Salve, > > 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 -----| > > Conoscete un software o un plugin che riesca a riprodurre un tale > risultato ? > Andrea, questa l'hai provata ? SELECT ST_LineMerge(ST_Collect(geom)) FROM qualche_tavola WHERE qualche_attributo IN ('TrattoA', 'TrattoB', 'TrattoC', 'TrattoD'); ti dovrebbe funzionare tanto con PostGIS come con splite, visto che e' supportata direttamente dalla GEOS. ciao Sandro _______________________________________________ [hidden email] 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 |
Ciao Alessandro,
grazie per il suggerimento, ci avevo pensato, ma la avevo scartata perche' mi genererebbe solo legami a coppie. Io non conosco a priori la lista degli attributi "Tratti" che compongono una route. 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 Andrea. On 11/11/2013 22:01, [hidden email] wrote: > On Mon, 11 Nov 2013 21:49:49 +0100, aperi2007 wrote: >> Salve, >> >> 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 -----| >> >> Conoscete un software o un plugin che riesca a riprodurre un tale >> risultato ? >> > > Andrea, > questa l'hai provata ? > > SELECT ST_LineMerge(ST_Collect(geom)) > FROM qualche_tavola > WHERE qualche_attributo IN ('TrattoA', 'TrattoB', 'TrattoC', 'TrattoD'); > > ti dovrebbe funzionare tanto con PostGIS come con splite, visto che > e' supportata direttamente dalla GEOS. > > ciao Sandro > _______________________________________________ > [hidden email] > 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 _______________________________________________ [hidden email] 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 |
In PostgreSQL potrebbe essere utile una query WITH ricorsiva. Purtroppo non posso testare in questo momento... giovanni Il giorno 11 novembre 2013 22:10, aperi2007 <[hidden email]> ha scritto: Ciao Alessandro, Giovanni Allegri http://about.me/giovanniallegri blog: http://blog.spaziogis.it GEO+ geomatica in Italia http://bit.ly/GEOplus _______________________________________________ [hidden email] 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 |
In reply to this post by Andrea Peri
Andrea,
se non hai problemi di riservatezza, rendici cortesemente disponibile quella shape lineare, che' le diamo un'occhiata, grazie. |
In reply to this post by Andrea Peri
Il giorno Mon, 11 Nov 2013 22:10:22 +0100
aperi2007 <[hidden email]> ha scritto: ciao Andrea; > Ciao Alessandro, > grazie per il suggerimento, > > ci avevo pensato, ma la avevo scartata perche' mi genererebbe solo > legami a coppie. > > Io non conosco a priori ..... a me sembra più vicino ad un problema di grafi, ad es. alla ricerca di un path; in modo brutale potresti partire da un tratto e confrontare gli estremi con tutti gli altri; trovato un tratto nuovo, lo elimini dallo stock, aggiorni gli estremi e riparti, però devi controllare molti casi: a) se parti da un tratto a caso devi controllare tutte e due le estremità; b) potresti avere dei circuiti c) potresti avere delle divaricazioni; ad es. costruendo la struttura topologica (grafi) puoi capire molte cose dal grado dei nodi (nodi di ordine 1 sono dei punti iniziali del percorso, nodi di ordine 3 indicano divaricazioni, ecc.... scusa se ripeto cose ovvie :-); credo dipenda molto dal contesto reale su cui stai operando; perchè non posti uno shape da qualche parte e gli si da un'occhiata (come dice spesso l'amico Novarese :-) > Andrea. ciao, giuliano _______________________________________________ [hidden email] 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 |
>a me sembra più vicino ad un problema di grafi, ad es. alla ricerca di un path; in modo brutale potresti partire da un >tratto e confrontare gli estremi con tutti gli altri; trovato un tratto nuovo, lo elimini dallo stock, aggiorni gli estremi e >riparti, però devi controllare molti casi: a) se parti da un tratto a caso devi controllare tutte e due le estremità; b) potresti >avere dei circuiti c) potresti avere delle divaricazioni; ad es. costruendo la struttura topologica (grafi) puoi capire molte >cose dal grado dei nodi (nodi di ordine 1 sono dei punti iniziali del percorso, nodi di ordine 3 indicano divaricazioni, ecc.... >scusa se ripeto cose ovvie :-); credo dipenda molto dal contesto reale su cui stai operando; perchè non posti uno shape >da qualche parte e gli si da un'occhiata (come dice spesso l'amico Novarese :-) Provo ad allegare allla email uno shapefile esemplificativo molto piccolo. Sono tutti tratti abbastanza brevi, e composti generalmente di 1,2,3, e a volta anche 5 o 6 tratti. Andrea. > ciao, > giuliano > _______________________________________________ > [hidden email] > 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 _______________________________________________ [hidden email] 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 |
In reply to this post by a.furieri
Ciao Alessandro,
ho provato con una variante del tuo suggerimento: usando spatialite ho provato a fondere tutto lo shapefile in un unico elemento multilinestring. con questo comando appunto: create table aggregato_all (pk_uid integer primary key); select AddGeometryColumn('aggregato_all','geometry',3003,'MULTILINESTRING','XY',1); insert into aggregato_all(geometry) select ST_Multi(ST_LineMerge(geometry)) from tabella-dei-tratti; dopodiche' con la elemgeo li ho riscomposti. mi aspettavo che ritornasse le linee aggregate sui tratti in contatto per touch. Invece mi sono rispuntati i tratti originali. :/ Qui forse fraintendo io il significato della LineMerge ? Ho provato anche con la ST_union, ma il risultato è analogo. Andrea. On 11/11/2013 22:01, [hidden email] wrote: > On Mon, 11 Nov 2013 21:49:49 +0100, aperi2007 wrote: >> Salve, >> >> 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 -----| >> >> Conoscete un software o un plugin che riesca a riprodurre un tale >> risultato ? >> > > Andrea, > questa l'hai provata ? > > SELECT ST_LineMerge(ST_Collect(geom)) > FROM qualche_tavola > WHERE qualche_attributo IN ('TrattoA', 'TrattoB', 'TrattoC', 'TrattoD'); > > ti dovrebbe funzionare tanto con PostGIS come con splite, visto che > e' supportata direttamente dalla GEOS. > > ciao Sandro > _______________________________________________ > [hidden email] > 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 _______________________________________________ [hidden email] 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 |
In reply to this post by Novarese
Ne avevo allegato un estratto (per renderlo compatibile con la ML) alla mia precedente risposta: Eccolo qui:http://lists.gfoss.it/pipermail/gfoss/attachments/20131112/289e1861/attachment.obj Tutto lo shapefile è fatto cosi', Ovvero nonè una situazione di un grafo connesso, ma bensi' un grafo disgiunto. In cui ci sono tanti tratti disgiunti, che al messimo si connettono tra di loro a gruppi di 2-3 a volta 3 5-6 massimi. E a volte sono singoli tratti isolati (che quindi ovviamente non si connettono con ninete altro e restano tali. Il giorno 11 novembre 2013 23:02, Novarese <[hidden email]> ha scritto: Andrea, -- ----------------- Andrea Peri . . . . . . . . . qwerty àèìòù ----------------- _______________________________________________ [hidden email] 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 |
In reply to this post by Andrea Peri
On Tue, 12 Nov 2013 01:37:49 +0100, aperi2007 wrote:
> Ciao Alessandro, > > ho provato con una variante del tuo suggerimento: > > usando spatialite ho provato a fondere tutto lo shapefile in un unico > elemento multilinestring. > > con questo comando appunto: > > create table aggregato_all (pk_uid integer primary key); > select > > AddGeometryColumn('aggregato_all','geometry',3003,'MULTILINESTRING','XY',1); > insert into aggregato_all(geometry) select > ST_Multi(ST_LineMerge(geometry)) from tabella-dei-tratti; > > dopodiche' con la elemgeo li ho riscomposti. > mi aspettavo che ritornasse le linee aggregate sui tratti in contatto > per touch. > Invece mi sono rispuntati i tratti originali. :/ > > Qui forse fraintendo io il significato della LineMerge ? > Andrea, io ho provato queste tre (sempliciotte): SELECT ST_AsText(ST_LineMerge(ST_GeomFromText( 'MULTILINESTRING((4 4, 3 3), (2 2, 3 3), (1 1, 2 2))'))); ------ LINESTRING(1 1, 2 2, 3 3, 4 4) SELECT ST_AsText(ST_LineMerge(ST_GeomFromText( 'MULTILINESTRING((4 4, 3 3), (2 2, 3 3), (1 1, 2 2), (10 10, 20 20))'))); ------ MULTILINESTRING((1 1, 2 2, 3 3, 4 4), (10 10, 20 20)) SELECT ST_AsText(ST_LineMerge(ST_GeomFromText( 'MULTILINESTRING((4 4, 3 3), (2 2, 3 3), (1 1, 2 2), (2 2, 2 4))'))); ------ MULTILINESTRING((1 1, 2 2), (2 2, 3 3, 4 4), (2 2, 2 4)) come vedi, fanno sempre esattamente quel che ci si aspetterebbe. poi ho pure provato ad importare ed elaborare il tuo test little_sample_route: CREATE TABLE sample2 AS SELECT ST_LineMerge(ST_Collect(geometry)) FROM little_sample_route; SELECT RecoverGeometryColumn('sample2', 'geom', 0, 'MULTILINESTRING', 'XY'); .elemgeo ottengo 9 linestrings, contro i 24 di partenza; quindi anche in questo caso parrebbe funzionare bene secondo le attese. poi pero' ho provato con un mio dataset ben piu' massiccio e complesso (un pezzo di grafo stradale): e questa volta, proprio come segnali tu, mi sono tornati indietro esattamente tutti i singoli linestring di origine senza alcuna riaggregazione. N.B.: e' tutto gestito internamente dalla GEOSLineMerge, splite passa semplicemente i dati avanti e indietro verso la GEOS. come ipotesi di interpretazione, parrebbe quindi che sia proprio la GEOS che quando la situazione e' troppo complicata (= ci sono troppi case ambigui, tipo biforcazioni e diramazioni, oppure quando si vengono a creare delle maglie chiuse) evita di operare. Viceversa opera correttamente quando scopre che e' possibile riaggregare linee continue "ragionevoli" senza nessuna ambiguita'. e quindi in ultima analisi si torna al problema della ST_Touches() per isolare in via preliminare tutti i tratti adiacenti; una specie di pre-processing. ma questo non e' un task facile da implementare in puro SQL, richiederebbe piuttosto un approccio procedurale ricorsivo ;-) ciao Sandro _______________________________________________ [hidden email] 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 |
In reply to this post by Andrea Peri
Il giorno Tue, 12 Nov 2013 14:35:36 +0100
giulianc51 <[hidden email]> ha scritto: > .... scusa, dimenticavo; una importante semplificazione che puoi fare (affidandoti ad un approccio graph-like) è quello di eliminare i vertici di grado 2, dove entra un arco e ne esce un altro (sono quelli che ho chiamato "insigificanti" prima), fondendo i due archi in uno solo; trasformerebbe la tua geometria nello schema da me descritto a parole con notevole alleggerimento del problema ciao, giuliano _______________________________________________ [hidden email] 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 |
In reply to this post by Novarese
E' proprio quella che cercavo di ottenere. Una riaggregazione da nodo a nodo.Il giorno 12 novembre 2013 08:15, Novarese <[hidden email]> ha scritto: Guarda se ho capito bene la tua esigenza: -- ----------------- Andrea Peri . . . . . . . . . qwerty àèìòù ----------------- _______________________________________________ [hidden email] 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 |
In reply to this post by Giuliano Curti
In effetti hai ragione. Pero' anche in questo modo, mi resta il problema che lavorando su shapefile o su db riesco a aggregarli solo a coppie di due.Il risultato lo otterrei anche aggregando i tratti che hanno in comune uno pseudo-nodo. Il giorno 12 novembre 2013 14:45, giulianc51 <[hidden email]> ha scritto: Il giorno Tue, 12 Nov 2013 14:35:36 +0100 -- ----------------- Andrea Peri . . . . . . . . . qwerty àèìòù ----------------- _______________________________________________ [hidden email] 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 |
Il giorno Tue, 12 Nov 2013 17:22:40 +0100
Andrea Peri <[hidden email]> ha scritto: > In effetti hai ragione. > ........ > Pero' anche in questo modo, mi resta il problema che lavorando su > shapefile o su db riesco a aggregarli solo a coppie di due. > > Ma forse sto sbagliando qualcosa... ..o forse io :-) ho ripreso la tua prima mail e vedo: > ..... > Ovvero aggregare i tratti che sono in contatto tra di loro. > Il problema è che l'aggregazione non è solo di tratti a due a due. > Ma bensi' anche in cascata. quindi il tuo è un problema di "semplificazione"? capisco bene? nel caso, cosa vuoi ottenere per la linestring in alto a sinistra, quella con le diramazioni: ridurla a 5 linestring come ha fatto Novarese? ridurla a 3 linestring? ciao, giuliano _______________________________________________ [hidden email] 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 |
On 12/11/2013 18:05, giulianc51 wrote:
> quindi il tuo è un problema di "semplificazione"? capisco bene? > nel caso, cosa vuoi ottenere per la linestring in alto a > sinistra, quella con le diramazioni: ridurla a 5 linestring come ha > fatto Novarese? ridurla a 3 linestring? Si, semplificazione, intesa come riduzione di records. L'obiettivo era arrivare alla diramazione a 5 linestring. Andrea. _______________________________________________ [hidden email] 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 |
Signori, vi dico come ho fatto io, poi vedete eventualmente se esistano strumenti alternativi per arrivare allo stesso risultato.
In ambiente Cad cartografico (aziendale), mi sono creato una topologia di tipo 'network', ottenendo all'istante 9 tronchi contigui, che poi ho esportato come nuovo shapefile. In una topologia lineare, segmenti adiacenti vengono concatenati in automatico fino al prossimo incrocio, ovvero dove in uno stesso punto insistono almeno 3 segmenti. |
In reply to this post by Andrea Peri
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 -----| [hidden email] 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 |
Infatti. Indubbiamente la Touch non va bene , almeno non applicata in tale modo. Ma non vedo neanche con quale altro modo posso evitare che mi crei delle geometrie multiparte aggregandomi anche linee disgiunte. Il suggerimento iniziale si basava sul conoscere a priori quali fossero le linee che si voleva fondere assieme. Il problema è che non sono note a priori. O meglio, la regola è che si vuole fondere le linee che rappresentano un continuum La relazione di continuita' tra due linee è data dalla relazione di Touch, ma come dicevo da sola non basta perche' funziona solo per aggregare due linee. On 12/11/2013 23:33, Sandro Santilli wrote: > 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 -----| _______________________________________________ [hidden email] 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 |
On Wed, Nov 13, 2013 at 12:26:18AM +0100, aperi2007 wrote:
> > Infatti. > Indubbiamente la Touch non va bene , almeno non applicata in tale modo. > Ma non vedo neanche con quale altro modo posso evitare che mi crei > delle geometrie multiparte > aggregandomi anche linee disgiunte. Le aggrega come MULTILINE, puoi fare un ST_Dump a posteriori. --strk; _______________________________________________ [hidden email] 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 |
Free forum by Nabble | Edit this page |