[Gfoss] QGis e vista PostGIS

Marco Li Volsi marco.livolsi a gmail.com
Lun 3 Feb 2014 19:54:28 CET


Ciao Andrea.
Provato come dici tu... ma continua a dare errore.

Il 03/02/2014 00:32, Andrea Peri ha scritto:
> Su db-manager non so che dirti.
>
> Pero' puoi fare una controprova.
>
> definisci sulla tabella principale un campo di tipo "serial" il quale 
> si auto-riempira' con dei progressivi.
>
> alter table tabella1 add column id_2 serial;
>
> definisci su tale colonna un indice unique:
>
> create unique index idx-1 on tabella1(id_2);
>
> Poi ridefinisci la vista aggiungendovi tale campo nuovo.
>
> E infine prova a riaggiungere la vista a qgis.
> A quel punto qgis trova il campo di tipo int4 che cercava con tantodi 
> indice unique e se accetta di aggiungerla alla canvas, almeno
> hai trovato dove sta' il problema.
> Altrimenti è da una altra parte.
>
> A.
>
>
>
> Il giorno 03 febbraio 2014 00:10, Marco Li Volsi 
> <marco.livolsi a gmail.com <mailto:marco.livolsi a gmail.com>> ha scritto:
>
>     Il campo PRIMARY KEY (... quello bigint per intenderci) è presente
>     sulla vista, purtroppo ho proprio bisogno di un bigint... mi sono
>     arrivati questi id interi composti da 14 cifre. La tua risposta è
>     coerente... rimane il dubbio del perchè funzioni con DB Manager ?:-)
>
>     Il 03/02/2014 00:00, Andrea Peri ha scritto:
>>     A quello che ricordo, la regola di qgis è un campo di tipo int4 e
>>     bigint non gli va bene.
>>     Inoltre il campo deve essere presente tra quelli esposti nella
>>     vista, probabilmente lo è, ma dalla tua risposta sembrerebbe che
>>     esso è presente nella tabella LEFT non è in output sulla vista.
>>     :)
>>
>>     In ogni caso almeno fino a qgis 1.8 sicuramente un campo bigint
>>     non gli sarebbe andato bene.
>>     Non so se con qgis 2 è cambiato qualcosa, ma non credo..
>>
>>     qgis vuole tra i campi esposti in output nella vista un campo di
>>     tipo int4 con valori univoci e un indice unique (una pk va benissimo)
>>
>>     A.
>>
>>
>>
>>     Il giorno 02 febbraio 2014 23:47, Marco Li Volsi
>>     <marco.livolsi a gmail.com <mailto:marco.livolsi a gmail.com>> ha
>>     scritto:
>>
>>         Ciao Ragà.
>>         La tabella "LEFT" ha un campo id numerico di tipo bigint ed
>>         ha una constraint di PRIMARY KEY.
>>         Per quanto riguarda le varie LEFT JOIN, non fanno altro che
>>         collegare chiavi primarie delle tabelle "RIGHT" con le chiavi
>>         esterne nella tabella "LEFT".
>>         Ho fatto eseguire sulla vista la seguente query e non ha dato
>>         conteggi maggiori di 1.
>>         SELECT id, COUNT(id)
>>           FROM v_poi_airport
>>          GROUP BY id
>>         ORDER BY COUNT(id) DESC;
>>
>>         Il 02/02/2014 23:14, Luca Mandolesi ha scritto:
>>>         Mi ha battuto sul tempo Andrea... io nelle mie view setto
>>>         sempre la query con Join per evitare tale problema. Se ad un
>>>         punto corrispondo più record della tabella alfanumerica,
>>>         puoi provare a dare dentro al provider di postgis come id
>>>         singolo la chiave primaria e quindi unica della tabella 2.
>>>
>>>
>>>         2014-02-02 Andrea Peri <aperi2007 a gmail.com
>>>         <mailto:aperi2007 a gmail.com>>:
>>>
>>>             ok.
>>>
>>>             Un altro suggerimento:
>>>
>>>             qgis per il postgres vole disporre di un campo che sia
>>>             di tipo intero e con una primary-key.
>>>             Oppure con un indice di tipo unique.
>>>             Verifica che questa condizione sia verificata su uno dei
>>>             campi che definisci nella vista.
>>>             Stai attento che la condizione LEFTJOIN potrebbe falsare
>>>             questa consizione provocando la ripetizione di records.
>>>
>>>
>>>
>>>
>>>             Il giorno 02 febbraio 2014 22:58, Marco Li Volsi
>>>             <marco.livolsi a gmail.com
>>>             <mailto:marco.livolsi a gmail.com>> ha scritto:
>>>
>>>                 Grazie Andrea... ho provato ma non funge :-(
>>>
>>>                 Il 02/02/2014 22:43, Andrea Peri ha scritto:
>>>>                 Prova a modificare la view definendo la geometria
>>>>                 in quesot modo:
>>>>
>>>>                 .., tabella1.campogeometrico::geometry(Geometry,
>>>>                 3003) As geom
>>>>
>>>>                 Io ho scritto 3003 ipotizzando che il dato sia in
>>>>                 GaussBoaga, se è utm usa 25832 o altro codice epsg.
>>>>
>>>>
>>>>
>>>>
>>>>                 Il giorno 02 febbraio 2014 21:47, Marco Li Volsi
>>>>                 <marco.livolsi a gmail.com
>>>>                 <mailto:marco.livolsi a gmail.com>> ha scritto:
>>>>
>>>>                     Buona sera a tutti Voi.
>>>>                     Ho un comportamento molto strano riguardo al
>>>>                     caricamento di una vista geografica su PostGIS.
>>>>                     Ho creato una vista su PostGIS del tipo
>>>>                     CREATE OR REPLACE VIEW vista1
>>>>                         SELECT tabella1.campo1,
>>>>                     tabella2.campo2,tabella1.campo2,...,
>>>>                     tabella1.campogeometrico
>>>>                         FROM tabella1
>>>>                         LEFT JOIN tabella2 ON ...
>>>>                         WHERE tabella1.campo2 = valore;
>>>>                     La vista viene correttamente trovata nella
>>>>                     vista geometry_columns.
>>>>                     Ho provato a caricare questo layer dal tasto
>>>>                     "Aggiungi vettore PostGIS" e mi viene
>>>>                     restituito un messaggio di alert. Verificando
>>>>                     il registro degli eventi il layer risulta non
>>>>                     valido. Se provo a caricare il layer dal DB
>>>>                     Manager tutto va come deve andare.
>>>>                     Il sistema in questione è QGIS 2.0.1-Dufour e
>>>>                     POSTGIS="2.0.1 r9979" GEOS="3.3.3-CAPI-1.7.4"
>>>>                     PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL
>>>>                     1.9.2, released 2012/10/08" LIBXML="2.7.8" RASTER.
>>>>                     Qualcuno saprebbe dirmi se sbaglio qualcosa?
>>>>
>>>>                     _______________________________________________
>>>>                     Gfoss a lists.gfoss.it <mailto: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.
>>>>                     666 iscritti al 22.7.2013
>>>>
>>>>
>>>>
>>>>
>>>>                 -- 
>>>>                 -----------------
>>>>                 Andrea Peri
>>>>                 . . . . . . . . .
>>>>                 qwerty àèìòù
>>>>                 -----------------
>>>
>>>
>>>                 _______________________________________________
>>>                 Gfoss a lists.gfoss.it <mailto: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.
>>>                 666 iscritti al 22.7.2013
>>>
>>>
>>>
>>>
>>>             -- 
>>>             -----------------
>>>             Andrea Peri
>>>             . . . . . . . . .
>>>             qwerty àèìòù
>>>             -----------------
>>>
>>>             _______________________________________________
>>>             Gfoss a lists.gfoss.it <mailto: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.
>>>             666 iscritti al 22.7.2013
>>>
>>>
>>
>>
>>         _______________________________________________
>>         Gfoss a lists.gfoss.it <mailto: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.
>>         666 iscritti al 22.7.2013
>>
>>
>>
>>
>>     -- 
>>     -----------------
>>     Andrea Peri
>>     . . . . . . . . .
>>     qwerty àèìòù
>>     -----------------
>
>
>     _______________________________________________
>     Gfoss a lists.gfoss.it <mailto: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.
>     666 iscritti al 22.7.2013
>
>
>
>
> -- 
> -----------------
> Andrea Peri
> . . . . . . . . .
> qwerty àèìòù
> -----------------

-------------- parte successiva --------------
Un allegato HTML ? stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20140203/d4e1d94f/attachment-0001.html>


Maggiori informazioni sulla lista Gfoss