[email protected] wrote > Ciao a tutti, > gentilmente volevo chiedervi dove sbaglio, ho due tabelle Spatialite: > -tubi (linestring) > -osm_roads (linestring) > > In osm_roads, nel campo "name" sono ivi gli indirizzi. > Volevo popolare in una colonna "indirizzo" della tabella tubi, gli > indirizzi civici delle polilinee di openstreetmap: > > (select r.name > from osm_roads r, tubi t > where st_intersects(t.geom, st_buffer(r.geom, 20))=1) as indirizzo, > > (select r.name > from tubi t, (select name, st_buffer(geom, 20) as geom from osm_roads) r > where st_intersects(t.geom, r.geom)) as indirizzo2 > > Il problema è che non funzionano bene le formule in spatialite... > > Avete gentilmente idee migliori? > Grazie
Ciao, personalmente proverei cosi: update tubi set indirizzo = (select r.name from osm_roads r, tubi t where st_intersects (r.geom, st_buffer (t.geom, 8 ))= 1 AND tubi.pk = t.pk); ma è uno script poco efficiente, in caso di molte linee durerebbe tanto; per ovviare basterebbe utilizzare le virtualKNN introdotte da Furieri a partire da spatialite 4.4. qui un esempio: https://pigrecoinfinito.wordpress.com/2018/01/04/spatialite-e-virtualknn/ saluti ----- https://pigrecoinfinito.wordpress.com/ -- Sent from: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/ _______________________________________________ [email protected] 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
