[Gfoss] Digest di Gfoss, Volume 133, Numero 12

Lorenzo Luisi xlorenzoluisi a gmail.com
Dom 17 Lug 2016 20:31:53 CEST


Grazie Gabriela,
con il tuo consiglio ho sistemato tutto.
Un'unica curiosità: ho visto gli orari di invio delle nostre mail e ho
notato che tu mi hai risposto ... prima che io inviassi la richiesta :-)
Mia mail > Date: Sat, 16 Jul 2016 20:03:55 +0200
Tua mail > Date: Sat, 16 Jul 2016 19:01:27 +0000 (UTC)
Potenza del fuso orario !
Ma, se è lecito saperlo, da dove hai risposto?
Ciao,
Lorenzo


Il giorno 17 luglio 2016 12:00, <gfoss-request a lists.gfoss.it> ha scritto:

> Invia le richieste di iscrizione alla lista Gfoss all'indirizzo
>         gfoss a lists.gfoss.it
>
> Per iscriverti o cancellarti attraverso il web, visita
>         http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> oppure, via email, manda un messaggio con oggetto `help' all'indirizzo
>         gfoss-request a lists.gfoss.it
>
> Puoi contattare la persona che gestisce la lista all'indirizzo
>         gfoss-owner a lists.gfoss.it
>
> Se rispondi a questo messaggio, per favore edita la linea dell'oggetto
> in modo che sia più utile di un semplice "Re: Contenuti del digest
> della lista Gfoss..."
>
>
> Argomenti del Giorno:
>
>    1. Postgis, modalità di creazione di RULE on INSERT con
>       RETURNING su viste con join spaziale: considerazioni e problemi
>       riscontrati (francesco marucci)
>    2. Etichettatura in QGIS (Lorenzo Luisi)
>    3. Re: Etichettatura in QGIS (Gabriela Osaci Costache)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sat, 16 Jul 2016 12:29:03 +0200
> From: francesco marucci <francesco.marucci a gmail.com>
> To: "GFOSS.it" <gfoss a lists.gfoss.it>
> Subject: [Gfoss] Postgis, modalità di creazione di RULE on INSERT con
>         RETURNING su viste con join spaziale: considerazioni e problemi
>         riscontrati
> Message-ID:
>         <CAJ4j-F4bbagrj92+8sAGdHJoQYxNn=
> HUHSf9bZo68tn24CzRAg a mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> gentile lista,
> ho notato (correggetemi se sbaglio) che dalla fiammante nuova versione di
> qGis 2.16, le insert su un layer postgis vengono inviate ora con il
> parametro RETURNING, e quindi nel caso di viste editabili è necessario
> creare il RULE ON INSERT (che dirottino i dati, compreso il geom, sulla
> tabella corrispondente) con la corretta clausola RETURNING, che fino alla
> versione 2.14 non era necessaria.
>
> immagino (e spero) che questa modifica sia stata effettuata per risolvere
> l'annoso problema nelle viste editabili che in qGis non "sentono" (ad
> esempio non sono snappabili) le nuove geometrie appena aggiunte (dopo
> appunto l'insert relativo) finché non si ricarichi la vista o non si creino
> ulteriori nuove geometrie, oppure finché non si applichi lo "splendido"
> workaround di fare finta di muovere l'elemento, cliccando sulla mappa con
> lo strumento "muovi".
>
> in ogni modo, sono riuscito a creare il RULE ON INSERT che mi restituisca
> correttamente i valori nel RETURNING anche nel caso in cui la vista sia
> basata su una relazione spaziale.
>
> giusto per riassumere i passi che ho fatto per arrivarci (che spero possano
> essere utili anche ad altri), nel caso "geografico" abbiamo banalmente una
> tabella di punti e una di poligoni (in cui i punti ricadono
> geometricamente)
>
> la mia vista semplicemente assegna ad ogni punto il poligono in cui ricade:
>
> CREATE OR REPLACE VIEW punti_edit AS
>  SELECT punti.gid,
>     punti.geom,
>     poligoni.gid as id_poligono
>    FROM punti
>      LEFT JOIN poligoni ON st_intersects(poligoni.geom, punti.geom);
>
> ho quindi creato un RULE che sia in grado di restituirmi (RETURNING) anche
> l'id del poligono in cui ricade, leggo da qui:
> https://www.postgresql.org/docs/current/static/rules-update.html
>
> "If you want to support RETURNING queries on the view, you need to make the
> rules include RETURNING clauses that compute the view rows. This is usually
> pretty trivial for views on a single table, but it's a bit tedious for join
> views such as..."
>
> seguendo l'esempio faccio:
>
> CREATE OR REPLACE RULE punti_edit_insert AS
>     ON INSERT TO punti_edit DO INSTEAD ( INSERT INTO punti (geom)
>   VALUES (new.geom)
>   RETURNING punti.*,
>    (
>   select poligoni.gid
>   from poligoni
>   where st_intersects(poligoni.geom, punti.geom)
>    );
> );
>
> uso il "where st_intersects" dal momento che la mia unica relazione tra le
> due tabelle è puramente spaziale e non ho altre chiavi che relazionino le
> due tabelle, come invece immagino lo siano nell'esempio indicato.
>
> quando eseguo il "create rule" va tutto liscio.
>
> se faccio il mio insert del tipo:
> insert into punti_edit (geom) values ("POINT( etc...") returning
> id_poligono;
>
> mi fa l'insert e mi restituisce subito anche il valore del poligono in cui
> il punto ricade.
> bellissimo.
>
> quello che quindi io mi aspettavo è che nel RULE io potessi raccogliere
> quello stesso valore in un oggetto del tipo "NEW.id_poligono", da usare per
> lanciare la mia procedura successiva direttamente da dentro il RULE
> passandogli come parametro appunto l'id del poligono.
>
> invece sembra proprio dalle mille prove che ho fatto che NEW.id_poligono
> all'interno del RULE non contenga nulla.
>
> avete qualche suggerimento ?
> sto interpretando male il concetto dei valori RETURNING di un insert?
> non hanno nulla a che vedere con l'oggetto NEW di un RULE?
> oppure è forse sbagliato come ho creato i valori RETURNING nel RULE?
>
> attendo vostro prezioso contributo.
>
> grazie.
>
> saluti,
> francesco
>
> ------------------------------
>
> Message: 2
> Date: Sat, 16 Jul 2016 20:03:55 +0200
> From: Lorenzo Luisi <xlorenzoluisi a gmail.com>
> To: GFOSS <gfoss a lists.gfoss.it>
> Subject: [Gfoss] Etichettatura in QGIS
> Message-ID:
>         <CAC5BcaQ5iK8itETmbg=ix+MF0cm5B9LxHKMf=cb=
> 6-76c2HoXg a mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Buonasera a tutti,
> ho creato un layer puntuale in QGIS con tre campi a cui poi ne ho aggiunto
> altri due che ho fatto valorizzare con le coordinate X e Y.
> Vorrei far apparire in etichetta le due coordinate e almeno un altro campo;
> è possibile? come?
> Grazie1000,
> Lorenzo Luisi
>
> P.S. Ho dato un occhiato sul web, ma non riesco a eseguire i suggerimenti.
>
> --
> *Lorenzo Luisi* [Cartografia - Stereoscopia - Fotointerpretazione -
> SIT/GIS]
> +39360405135 www.spaziocartograficopugliese.it
> https://it.linkedin.com/in/lorenzolusispazcartpugliese
>
> ------------------------------
>
> Message: 3
> Date: Sat, 16 Jul 2016 19:01:27 +0000 (UTC)
> From: Gabriela Osaci Costache <gabrielacatalinaosaci a yahoo.it>
> To: GFOSS <gfoss a lists.gfoss.it>,       "qgis-it-user a lists.osgeo.org"
>         <qgis-it-user a lists.osgeo.org>
> Subject: Re: [Gfoss] Etichettatura in QGIS
> Message-ID:
>         <1852968056.450297.1468695687988.JavaMail.yahoo a mail.yahoo.com>
> Content-Type: text/plain; charset="utf-8"
>
> Ciao, Lorenzo!
> Sì, è possibile :-)). Invece di selezionare il campo da visualizzare puoi
> scegliere un'espressione che renda visibili gli attributi da più campi.
> Funziona benissimo. Vedi qui "Definisci le etichette usando
> un’espressione":
> http://docs.qgis.org/2.2/it/docs/user_manual/working_with_vector/vector_properties.html
> C'è una lista degli utenti italiani di QGIS: qgis-it-user a lists.osgeo.org
>
> Saluti,Gabriela
>
>
>       Da: Lorenzo Luisi <xlorenzoluisi a gmail.com>
>  A: GFOSS <gfoss a lists.gfoss.it>
>  Inviato: Sabato 16 Luglio 2016 21:03
>  Oggetto: [Gfoss] Etichettatura in QGIS
>
> Buonasera a tutti,
> ho creato un layer puntuale in QGIS con tre campi a cui poi ne ho aggiunto
> altri due che ho fatto valorizzare con le coordinate X e Y.
> Vorrei far apparire in etichetta le due coordinate e almeno un altro campo;
> è possibile? come?
> Grazie1000,
> Lorenzo Luisi
>
> P.S. Ho dato un occhiato sul web, ma non riesco a eseguire i suggerimenti.
>
> --
> *Lorenzo Luisi* [Cartografia - Stereoscopia - Fotointerpretazione -
> SIT/GIS]
> +39360405135 www.spaziocartograficopugliese.it
> https://it.linkedin.com/in/lorenzolusispazcartpugliese
> _______________________________________________
> Gfoss a lists.gfoss.it
> 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.
> 807 iscritti al 31/03/2016
>
>
>
> ------------------------------
>
> _______________________________________________
> Gfoss mailing list
> Gfoss a lists.gfoss.it
> 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 rispecchiano necessariamente
> le posizioni dell'Associazione GFOSS.it.
> 802 iscritti al 30.11.2015
>
> Fine di Digest di Gfoss, Volume 133, Numero 12
> **********************************************
>



-- 
*Lorenzo Luisi* [Cartografia - Stereoscopia - Fotointerpretazione - SIT/GIS]
+39360405135 www.spaziocartograficopugliese.it
https://it.linkedin.com/in/lorenzolusispazcartpugliese


Maggiori informazioni sulla lista Gfoss