<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body ><div><br></div><div>Si, ma una query di update non mi permette di Popolare i campi via via che creo dei siti puntuali. Dovrei prima inserire i punti, salvare la tabella e poi far girare la query, che inoltre dovrebbe essere lanciata ogni volta cche finisce la fase di editing, mentre un trigger parte tutte le volte che una riga viene salvata</div><div><br></div><div><div style="font-size:9px;color:#575757">Inviato da Samsung Mobile.</div></div><br><br><div>-------- Messaggio originale --------</div><div>Da: Andrea Peri <aperi2007@gmail.com> </div><div>Data:19/07/2015  18:49  (GMT+01:00) </div><div>A: alessandro.ciali@gmail.com </div><div>Cc: Luca Lanteri <lklanteri@gmail.com>, "GFOSS.it" <gfoss@lists.gfoss.it> </div><div>Oggetto: Re: [Gfoss] Un'altra questione su PG </div><div><br></div>Per quale ragioni fai uso di un trigger anziche' una query di update ?<br><br><br>Il 19 luglio 2015 18:02,  <alessandro.ciali@gmail.com> ha scritto:<br>> Ciao a tutti,<br>> mi sono arenato su un problema cui non riesco a trovare una soluzione…<br>> Vorrei estrarre alcuni dati da una copertura e passarli ai campi di una<br>> tabella puntuale, in base  alla posizione di nuovi punti che inserisco,<br>> ossia nel caso specifico passare il codice provincia e comune ai nuovi punti<br>> inseriti in una tabella “sito_puntuale”. I dati comune e provincia sono su<br>> una tabella spaziale “am_com”. Il tutto è in un database PGsql.<br>> Come in precedenza pensavo di risolvere il problema con un trigger, e quindi<br>> ho creato la seguente funzione sfruttando ST_Wtithin di postgis:<br>><br>> CREATE OR REPLACE FUNCTION indagini.cal_idn()<br>>   RETURNS trigger AS<br>> $BODY$DECLARE<br>>         cod          character(6);<br>> BEGIN<br>>         -- codcom da public.am_com<br>>  cod = codcom FROM public.am_com AS c,indagini."Sito_Puntuale" AS s WHERE<br>> (ST_Within(NEW.the_geom,c.geom));<br>>  -- calcola ubicazione_prov e ubicazione_com<br>>         NEW.ubicazione_prov = substr(cod, 1, 3);<br>>         NEW.ubicazione_com = substr(cod, 4, 3);<br>>         RETURN NEW;<br>> END;<br>> $BODY$<br>>   LANGUAGE plpgsql VOLATILE<br>>   COST 100;<br>> ALTER FUNCTION indagini.cal_idn()<br>>   OWNER TO postgres;<br>> GRANT EXECUTE ON FUNCTION indagini.cal_idn() TO public;<br>> GRANT EXECUTE ON FUNCTION indagini.cal_idn() TO postgres;<br>><br>> Purtroppo quando però vado a salvare mi viene restituito il seguente<br>> messaggio di errore:<br>><br>> Could not commit changes to layer Sito_Puntuale<br>><br>> Errors: ERROR: 1 feature(s) not added.<br>><br>> Provider errors:<br>><br>> PostGIS error while adding features: ERRORE: la query "SELECT codcom FROM<br>> public.am_com AS c,indagini."Sito_Puntuale" AS s WHERE (ST_Within( $1<br>> ,c.geom))" ha restituito più di una riga<br>><br>> CONTEXT: funzione PL/pgSQL "cal_idn" riga 5 a assegnazione<br>><br>><br>> Il tutto funziona solo con il 1° punto inserito in una tabella vuota. Mi<br>> sembra di aver capito che il problema risieda nel fatto che la funzione<br>> ST_Within considera tutte le geometriepresenti nella tabella “Sito_puntuale”<br>> e non solo la NEW….<br>><br>> Qualche buon anima mi saprebbe aiutare?<br>><br>> Grazie in anticipo<br>><br>><br>> Alessandro Ciali<br>><br>> Da: Luca Lanteri<br>> Data invio: ‎lunedì‎ ‎13‎ ‎luglio‎ ‎2015 ‎09‎:‎21<br>> A: Alessandro Ciali<br>> Cc: GFOSS.it<br>><br>> CIao Alessandro,<br>> grazie mille per la disponibilità.<br>><br>> Non ti preoccupare, tutto quello che vedi è stato fatto da autodidatti con<br>> conoscenze minime di programmazione, e proprio per questo che è ancora più<br>> importante unire forze e le competenze.<br>> In Piemonte diversi professionisti hanno iniziato ad utilizzare questi<br>> strumenti (mi pare di capire con soddisfazione) per realizzare i propri<br>> approfondimenti di microzonazione sismica con QGIS e stanno svolgendo un bel<br>> lavoro di testing.<br>><br>> A  disposizione per qualsiasi chiarimento.<br>> a presto<br>> Luca<br>><br>><br>> Il giorno 11 luglio 2015 17:46, Alessandro Ciali<br>> <alessandro.ciali@gmail.com> ha scritto:<br>>><br>>><br>>><br>>> Sarei ben lieto di partecipare al miglioramento, a che non sono un genio<br>>> della programmazione .a piuttosto un autodidatta coatto. Intanto scarichero'<br>>> il tutto dal sito dell'ARPA per vedere se e come il mio lavoro possa<br>>> integrare ciò che è stato fatto. Lavorando in parte nel campo della geologia<br>>> per la pianificazione territoriale, ma lavorando prev. In toscana, ho<br>>> sviluppato librerie di simboli che si attengono alle specifiche di questa<br>>> regione; non mi sembra di aver trovato sul sito della RT librerie specifiche<br>>> per QGIS, io le condividerei volentieri;  anzi visto che alcuni membri di RT<br>>> partecipa a questa lista, potrebbero, se sono interessati, a darmi<br>>> informazioni in merito. Per adesso grazie per le dritte, spero di poter<br>>> contribuire. Saluti a tutti<br>>><br>>> Inviato da Samsung Mobile.<br>>><br>>><br>><br>><br>> _______________________________________________<br>> Gfoss@lists.gfoss.it<br>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss<br>> Questa e' una lista di discussione pubblica aperta a tutti.<br>> I messaggi di questa lista non hanno relazione diretta con le posizioni<br>> dell'Associazione GFOSS.it.<br>> 750 iscritti al 18.3.2015<br><br><br><br>-- <br>-----------------<br>Andrea Peri<br>. . . . . . . . .<br>qwerty àèìòù<br>-----------------<br></body>