ST_Collect e GROUP BY (era DB e creazione multipolygons)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

ST_Collect e GROUP BY (era DB e creazione multipolygons)

Marco Li Volsi
Buona Sera a Voi.
Nel tentativo di rispondere ad un post in questa ml mi sono imbattuto in un inghippo, e non so se è dovuto ad una mia svista o ad un bug.
ho ricostruito una situazione oggetto del precedente post creando le 3 tabelle di seguito
https://drive.google.com/file/d/0B2u1rxxWNuNVUTBMa2xfTEsyZkE/view?usp=sharing
poi ho scritto la definizione di una vista che, effettuando due join creasse i MultiPolygon utilizzando la funzione ST_Collect, così come di seguito
CREATE OR REPLACE VIEW v_progetti AS
 SELECT p.id,
    p.aree,
    st_multi(st_collect(a.geom)) AS geom
   FROM tab_progetti p
     JOIN rlt_progetti_aree pa ON p.id = pa.id_progetti
     JOIN tab_aree a ON pa.id_aree = a.id
  GROUP BY p.id
  ORDER BY p.id;

La vista, una volta caricata in QGis, mostra una anomalia, in quanto alcuni record della tabella tab_aree dovrebbero essere utilizzati più volte per la creazione dei MultiPolygon (in particolare "orazio" e "pluto"), ma vengono inclusi solo una volta in un solo MultiPolygon
https://drive.google.com/file/d/0B2u1rxxWNuNVdjMta1lMRlVNWk0/view?usp=sharing
Ravvisate qualche errore nella query?
Sono su Win7, con QGis 2.4.0 ,POSTGIS="2.1.3 r12547" GEOS="3.4.2-CAPI-1.8.2 r3924" PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL 1.10.0, released 2013/04/24" LIBXML="2.7.8" LIBJSON="UNKNOWN" RASTER e PostgreSQL 9.3.5, compiled by Visual C++ build 1600, 64-bit

_______________________________________________
[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+40 iscritti al 5.6.2014