[Gfoss] QGis e vista PostGIS

Andrea Peri aperi2007 a gmail.com
Lun 3 Feb 2014 00:32:52 CET


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>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>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>:
>>
>>>  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> 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> 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
>>>>> 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
>>>> 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
>>> 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
>> 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
> 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/96aa6cee/attachment-0001.html>


Maggiori informazioni sulla lista Gfoss