Provo a splittare l'argomento:<div><meta charset="utf-8">---------</div><div>archeologia</div><div><br></div><div>i reperti non sono posizionati x,y per motivi di praticità (anche se in alcune branche si fa o per casi eccezionali), ma sono semplicemente legati per identificatore di unità stratigrafica al poligono che la rappresenta.</div>
<div><br></div><div>In archeologia la regola sarebbe che 1 US -> 1 poligono. </div><div><br></div><div>Tuttavia per praticità se una fossa è stata divisa in 2 dal passaggio al cento di un muro, al riempimento della fossa viene dato il medesimo numero di US che però saranno 2 poligoni distinti, divisi dal muro.</div>
<div><br></div><div>Il modo corretto sarebbe quello di dare 2 numeri differenti al riempimento della fossa e poi uguagliarli a livello di singola scheda US, così avremmo sempre N reperti x 1 poligono.</div><div><br></div>
<div>---------</div><div>dal punto di vista postgres</div><div><br></div><div>Sono arrivato ad usare 2 serie parallele di identificatori, semplicemente perchè quando arrivo allo step in cui raggruppo le geometrie in base all'id_reperto [0], se inserisco nel select anche gli altri campi appartenenti alle us e ai reperti che mi servono per le ricerche che avevo già inserito nelle view precedenti, lui mi obbliga ad inserire tutti i campi nel Group by e quindi ritorno ad avere il problema iniziale.</div>
<div><br></div><div>Mi sorge un dubbio, non si può fare una query così?</div><div><br></div><div><meta charset="utf-8"><div>CREATE OR REPLACE VIEW view1 AS </div><div> SELECT id_reperti AS new_id_reperti, st_union(the_geom) AS new_geom, campo1, campo2, campo3, campo4</div>
<div>   FROM reperti_e_us_e_poligoni_view</div><div>  GROUP BY new_id_reperti</div><div><br></div><div>Perchè si è costretti a inserire nel group by tutti i campi? Secondo me è qui che sbaglio...</div><div><br></div><div>
Che ne dite?</div><meta charset="utf-8"></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>[0]</div><div><div>CREATE OR REPLACE VIEW view1 AS </div><div> SELECT reperti_e_us_e_poligoni_view.id_reperti AS new_id_reperti, st_union(reperti_e_us_e_poligoni_view.the_geom) AS new_geom</div>
<div>   FROM reperti_e_us_e_poligoni_view</div><div>  GROUP BY reperti_e_us_e_poligoni_view.id_reperti;</div><div><br></div><div><br></div></div><div><br></div><div><br></div><div><br></div><div><br></div>