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@lists.gfoss.it> ha scritto:
Invia le richieste di iscrizione alla lista Gfoss all'indirizzo
gfoss@lists.gfoss.itPer 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@lists.gfoss.itPuoi contattare la persona che gestisce la lista all'indirizzo
gfoss-owner@lists.gfoss.itSe 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@gmail.com>
To: "GFOSS.it" <gfoss@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@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@gmail.com>
To: GFOSS <gfoss@lists.gfoss.it>
Subject: [Gfoss] Etichettatura in QGIS
Message-ID:
<CAC5BcaQ5iK8itETmbg=ix+MF0cm5B9LxHKMf=cb=
6-76c2HoXg@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 LuisiP.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@yahoo.it>
To: GFOSS <gfoss@lists.gfoss.it>, "qgis-it-user@lists.osgeo.org"
<qgis-it-user@lists.osgeo.org>
Subject: Re: [Gfoss] Etichettatura in QGIS
Message-ID:
<1852968056.450297.1468695687988.JavaMail.yahoo@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@lists.osgeo.orgSaluti,Gabriela
Da: Lorenzo Luisi <xlorenzoluisi@gmail.com>
A: GFOSS <gfoss@lists.gfoss.it>
Inviato: Sabato 16 Luglio 2016 21:03
Oggetto: [Gfoss] Etichettatura in QGISBuonasera 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 LuisiP.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@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@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.2015Fine 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