[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