<html>
<head>
<meta name="generator" content="Windows Mail 17.5.9600.20911">
<style data-externalstyle="true"><!--
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph {
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
}
p.MsoNormal, li.MsoNormal, div.MsoNormal {
margin:0in;
margin-bottom:.0001pt;
}
p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst, 
p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle, 
p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast {
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
line-height:115%;
}
--></style></head>
<body dir="ltr">
<div data-externalstyle="false" dir="ltr" style="font-family: 'Calibri', 'Segoe UI', 'Meiryo', 'Microsoft YaHei UI', 'Microsoft JhengHei UI', 'Malgun Gothic', 'sans-serif';font-size:12pt;"><div>Ciao a tutti,</div><div dir="ltr"><div style="color: rgb(0, 0, 0);">mi sono arenato su un problema cui non riesco a trovare una soluzione…</div><div style="color: rgb(0, 0, 0);">Vorrei estrarre alcuni dati da una copertura e passarli ai campi di una tabella puntuale, in base  alla posizione di nuovi punti che inserisco, ossia nel caso specifico passare il codice provincia e comune ai nuovi punti inseriti in una tabella “sito_puntuale”. I dati comune e provincia sono su una tabella spaziale “am_com”. Il tutto è in un database PGsql.</div><div style="color: rgb(0, 0, 0);">Come in precedenza pensavo di risolvere il problema con un trigger, e quindi ho creato la seguente funzione sfruttando ST_Wtithin di postgis:</div><div style="color: rgb(0, 0, 0);"><br></div><div style="color: rgb(0, 0, 0);">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 (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;</div><div style="color: rgb(0, 0, 0);"><br></div><div style="color: rgb(0, 0, 0);">Purtroppo quando però vado a salvare mi viene restituito il seguente messaggio di errore:<br></div><div style="color: rgb(0, 0, 0);" data-signatureblock="true"><div style="color: rgb(0, 0, 0);"><br></div><div style="color: rgb(0, 0, 0);">Could not commit changes to layer Sito_Puntuale
<p style="margin: 0px; text-indent: 0px;">Errors: ERROR: 1 feature(s) not added.</p>
<p style="margin: 0px; text-indent: 0px;">  </p>
<p style="margin: 0px; text-indent: 0px;">  Provider errors:</p>
<p style="margin: 0px; text-indent: 0px;">      PostGIS error while adding features: ERRORE:  la query "SELECT  codcom FROM public.am_com AS c,indagini."Sito_Puntuale" AS s WHERE (ST_Within( $1 ,c.geom))" ha restituito più di una riga</p>
<p style="margin: 0px; text-indent: 0px;">    CONTEXT:  funzione PL/pgSQL "cal_idn" riga 5 a assegnazione</p><p style="margin: 0px; text-indent: 0px;"><br></p><p style="margin: 0px; text-indent: 0px;">Il tutto funziona solo con il 1° punto inserito in una tabella vuota. Mi sembra di aver capito che il problema risieda nel fatto che la funzione ST_Within considera tutte le geometriepresenti nella tabella “Sito_puntuale” e non solo la NEW​….</p><p style="margin: 0px; text-indent: 0px;">Qualche buon anima mi saprebbe aiutare?</p><p style="margin: 0px; text-indent: 0px;">Grazie in anticipo</p><p style="margin: 0px; text-indent: 0px;"><br></p></div><div style="color: rgb(0, 0, 0);">Alessandro Ciali</div><div style="color: rgb(0, 0, 0);"><br></div></div><div style="padding-top: 5px; border-top-color: rgb(229, 229, 229); border-top-width: 1px; border-top-style: solid;"><div><font face=" 'Calibri', 'Segoe UI', 'Meiryo', 'Microsoft YaHei UI', 'Microsoft JhengHei UI', 'Malgun Gothic', 'sans-serif'" style='line-height: 15pt; letter-spacing: 0.02em; font-family: "Calibri", "Segoe UI", "Meiryo", "Microsoft YaHei UI", "Microsoft JhengHei UI", "Malgun Gothic", "sans-serif"; font-size: 12pt;'><b>Da:</b> <a href="mailto:lklanteri@gmail.com" target="_parent">Luca Lanteri</a><br><b>Data invio:</b> ‎lunedì‎ ‎13‎ ‎luglio‎ ‎2015 ‎09‎:‎21<br><b>A:</b> <a href="mailto:alessandro.ciali@gmail.com" target="_parent">Alessandro Ciali</a><br><b>Cc:</b> <a href="mailto:gfoss@lists.gfoss.it" target="_parent">GFOSS.it</a></font></div></div><div><br></div><div dir=""><div dir="ltr"><div><div>CIao Alessandro, <br>grazie mille per la disponibilità.<br><br></div>Non ti preoccupare, tutto quello che vedi è stato fatto da autodidatti con conoscenze minime di programmazione, e proprio per questo che è ancora più importante unire forze e le competenze.<br></div>In Piemonte diversi professionisti hanno iniziato ad utilizzare questi strumenti (mi pare di capire con soddisfazione) per realizzare i propri approfondimenti di microzonazione sismica con QGIS e stanno svolgendo un bel lavoro di testing. <br><div><br>A  disposizione per qualsiasi chiarimento. <br><div><div><div><div><div class="gmail_extra"></div><div class="gmail_extra">a presto<br></div><div class="gmail_extra">Luca<br><br><br></div><div class="gmail_extra"><div class="gmail_quote">Il giorno 11 luglio 2015 17:46, Alessandro Ciali <span dir="ltr"><<a href="mailto:alessandro.ciali@gmail.com" target="_parent">alessandro.ciali@gmail.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;"><div><br><div dir="ltr"><div class="gmail_extra"><br></div></div>Sarei ben lieto di partecipare al miglioramento, a che non sono un genio della programmazione .a piuttosto un autodidatta coatto. Intanto scarichero' il tutto dal sito dell'ARPA per vedere se e come il mio lavoro possa integrare ciò che è stato fatto. Lavorando in parte nel campo della geologia per la pianificazione territoriale, ma lavorando prev. In toscana, ho sviluppato librerie di simboli che si attengono alle specifiche di questa regione; non mi sembra di aver trovato sul sito della RT librerie specifiche per QGIS, io le condividerei volentieri;  anzi visto che alcuni membri di RT partecipa a questa lista, potrebbero, se sono interessati, a darmi informazioni in merito. Per adesso grazie per le dritte, spero di poter contribuire. Saluti a tutti
<span><div><br></div><div><div style="color: rgb(87, 87, 87); font-size: 9px;">Inviato da Samsung Mobile.</div></div><br></span><span></span><div><span></span><br></div></div></blockquote></div><br></div></div></div></div></div></div></div>
</div>


</div></div>
</body>
</html>