Ciao a tutti,
per chi interessa, condivido un trigger per snappare i vertici delle linee ai punti e successivamente calcolo delle lunghezze. Caso tipico di un impianto civile...
Avendo due tabelle geometriche, tubi(linestring) e pozzetti(point).
create trigger insert_snap_and_calc_length after insert on tubi
begin
update tubi
set
geom= st_snap(tubi.geom, (select st_collect(geom) as geom from pozzetti), 0.3),
lunghezza= st_length(geom)
where rowid=new.rowid;
end;
create trigger update_snap_and_calc_length after update of geom on tubi
begin
update tubi
set
geom= st_snap(tubi.geom, (select st_collect(geom) as geom from pozzetti), 0.3),
lunghezza= st_length(geom)
where rowid=new.rowid;
end;
un approccio interessante che consente di ottenere un livello
topologicamente corretto, come mi piacerebbe che lavorassero così
tutti coloro che si occupano di sottoservizi!
Amedeo
Il 1 giugno 2018 11:28, <falcerisimone@inwind.it> ha scritto:
Ciao a tutti,
per chi interessa, condivido un trigger per snappare i vertici delle linee ai punti e successivamente calcolo delle lunghezze. Caso tipico di un impianto civile...
Avendo due tabelle geometriche, tubi(linestring) e pozzetti(point).
create trigger insert_snap_and_calc_length after insert on tubi
begin
update tubi
set
geom= st_snap(tubi.geom, (select st_collect(geom) as geom from pozzetti), 0.3),
lunghezza= st_length(geom)
where rowid=new.rowid;
end;
create trigger update_snap_and_calc_length after update of geom on tubi
begin
update tubi
set
geom= st_snap(tubi.geom, (select st_collect(geom) as geom from pozzetti), 0.3),
lunghezza= st_length(geom)
where rowid=new.rowid;
end;
_______________________________________________
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.
796 iscritti al 28/12/2017