QGis e vista PostGIS

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
38 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Andrea Peri

Prova a usare la versione dev.

Il 04/feb/2014 10:31 "Marco Li Volsi" <[hidden email]> ha scritto:
Ciao.
Ho fatto la prova di eseguire la seguente query:
SELECT id, COUNT(id)
  FROM v_poi_airport
 GROUP BY id
ORDER BY COUNT(id) DESC;

Ma non ho avuto risultati maggiori di 1.
A questo punto penso di avere qualche problema sulla mia installazione :-(

Il 04/02/2014 08:12, francesco marucci ha scritto:
ciao,
adesso non so se sia il tuo caso, ma spesso questo problema è dato dal fatto che il campo chiave della vista geometrica risultante non è univoco.

prova a fare:
select gid, count(*) from tabella1 group by gid having count(*) >1;

dove gid per me è il campo chiave della tabella che contiene le geometrie.

qGis ha bisogno che questo campo sia univoco e come dice giustamente Andrea,
un LEFT JOIN (in funzione dei dati) non mantiene (giustamente) l'univocità.
ad esempio, mapserver non ha questo "limite", e puo' mostrare un layer da una vista senza avere una chiave primaria univoca.
ma per qGis è ben diverso perche' per aprire la tabella degli attributi ha bisogno di riferirsi ai singoli record e questo è dato solamente dalla presenza di un campo i cui valori indentifichino univocamente i singoli record.

in questi casi io risolvo creando questo campo univoco per la vista risultante, semplicemente con il numero del record:

select row_number() OVER ()::integer AS gid, etc...

ovviamente se ti puoi permettere il lusso di non avere nella vista risultante il campo gid originario della tabella geometrica.

spero di essere stato utile (e chiaro).

saluti,
francesco











Il giorno 04 febbraio 2014 00:43, Andrea Peri <[hidden email]> ha scritto:
In effetti dice veramente poco.
A lume di naso, direi che probabilmente hai qualcosa di malfunzionante sul tuo qgis, ma dire cosa e come risolvere è difficile.
Prova a sentire sulla ML di qgis se sanno darti qualche maggiore informazione.
E' veramente curioso questo fatto che con DB-Manager non dia problemi mentre con il provider di qgis li dia.

spiacente di non esserti di maggiore aiuto.

A.



Il giorno 03 febbraio 2014 22:39, Marco Li Volsi <[hidden email]> ha scritto:

Il log non è molto parlante
dbname='miodb' host=192.168.1.4 port=5432 user='postgres' password='xxxx' sslmode=disable key='addrpid' srid=4326 type=POINT table="public"."v_poi_airport" (geom) sql= è un layer non valido; non caricato

Il 03/02/2014 20:30, Andrea Peri ha scritto:
puoi postare l'errore che ti da' ?


Il giorno 03 febbraio 2014 19:54, Marco Li Volsi <[hidden email]> ha scritto:
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]>:
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 <[hidden email]> 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 <[hidden email]> 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?

_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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 àèìòù
-----------------

_______________________________________________
[hidden email]
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



_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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 àèìòù
-----------------

_______________________________________________
[hidden email]
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



_______________________________________________
[hidden email]
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


_______________________________________________
[hidden email]
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

_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Andrea Peri
In reply to this post by francesco marucci-2

La ragione di questa differenza di comportamento tra mapserver e qgis è legata alla esigenza di supportare l'editing della feature. Mapserver ha la getfeatureinfo. Il fatto che voglia un intero, ancora me lo domando perché ciò.
Noi usiamo quasi sempre pk alfanumeriche perché più comode nei dati GIS.
Forse una scarsa analisi iniziale.

Per fortuna ogr aggiunge automaticamente un gid e si può usare quello come pk.

Il 04/feb/2014 08:12 "francesco marucci" <[hidden email]> ha scritto:
ciao,
adesso non so se sia il tuo caso, ma spesso questo problema è dato dal fatto che il campo chiave della vista geometrica risultante non è univoco.

prova a fare:
select gid, count(*) from tabella1 group by gid having count(*) >1;

dove gid per me è il campo chiave della tabella che contiene le geometrie.

qGis ha bisogno che questo campo sia univoco e come dice giustamente Andrea,
un LEFT JOIN (in funzione dei dati) non mantiene (giustamente) l'univocità.
ad esempio, mapserver non ha questo "limite", e puo' mostrare un layer da una vista senza avere una chiave primaria univoca.
ma per qGis è ben diverso perche' per aprire la tabella degli attributi ha bisogno di riferirsi ai singoli record e questo è dato solamente dalla presenza di un campo i cui valori indentifichino univocamente i singoli record.

in questi casi io risolvo creando questo campo univoco per la vista risultante, semplicemente con il numero del record:

select row_number() OVER ()::integer AS gid, etc...

ovviamente se ti puoi permettere il lusso di non avere nella vista risultante il campo gid originario della tabella geometrica.

spero di essere stato utile (e chiaro).

saluti,
francesco











Il giorno 04 febbraio 2014 00:43, Andrea Peri <[hidden email]> ha scritto:
In effetti dice veramente poco.
A lume di naso, direi che probabilmente hai qualcosa di malfunzionante sul tuo qgis, ma dire cosa e come risolvere è difficile.
Prova a sentire sulla ML di qgis se sanno darti qualche maggiore informazione.
E' veramente curioso questo fatto che con DB-Manager non dia problemi mentre con il provider di qgis li dia.

spiacente di non esserti di maggiore aiuto.

A.



Il giorno 03 febbraio 2014 22:39, Marco Li Volsi <[hidden email]> ha scritto:

Il log non è molto parlante
dbname='miodb' host=192.168.1.4 port=5432 user='postgres' password='xxxx' sslmode=disable key='addrpid' srid=4326 type=POINT table="public"."v_poi_airport" (geom) sql= è un layer non valido; non caricato

Il 03/02/2014 20:30, Andrea Peri ha scritto:
puoi postare l'errore che ti da' ?


Il giorno 03 febbraio 2014 19:54, Marco Li Volsi <[hidden email]> ha scritto:
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]>:
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 <[hidden email]> 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 <[hidden email]> 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?

_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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 àèìòù
-----------------

_______________________________________________
[hidden email]
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



_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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 àèìòù
-----------------

_______________________________________________
[hidden email]
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


_______________________________________________
[hidden email]
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

_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

enzo ciarmoli
In reply to this post by Marco Li Volsi
my 2 cents:
se non l'hai già fatto
- verificherei che il nome della geometry_column sia indicato in public.geometry_columns (dal messaggio di errore sembrerebbe si chiami "geom")
- provare a caricare il layer dalla console python indicando esplicitamente tutti i parametri compresa geometry column
( cfr. http://www.qgis.org/it/docs/pyqgis_developer_cookbook/loadlayer.html?highlight=qgsdatasourceuri )
 
non si tratta di cose risolutive ma da eventuali messaggi forse si riesce a comprendere meglio il problema...
 
saluti,
 

 Enzo Ciarmoli

 CSI Piemonte - Direzione Sviluppo e Gestione

 www.csipiemonte.it


>Ciao.
>Ho fatto la prova di eseguire la seguente query:
>SELECT id, COUNT(id)
>   FROM v_poi_airport
>  GROUP BY id
>ORDER BY COUNT(id) DESC;
>Ma non ho avuto risultati maggiori di 1.
>A questo punto penso di avere qualche problema sulla mia installazione :-( 
 
 

_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Marco Li Volsi
In reply to this post by Paolo Corti
Ciao Paolo.
Di seguito l'output di ogrinfo:
INFO: Open of `PG:dbname='miodb' host='192.168.1.4' user='postgres' password='xxxx''
      using driver `PostgreSQL' successful.

Layer name: v_poi_airport
Geometry: Point
Feature Count: 849
Extent: (-27.075851, 27.814005) - (135.171327, 78.246444)
Layer SRS WKT:
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
            AUTHORITY["EPSG","7030"]],
        AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0,
        AUTHORITY["EPSG","8901"]],
    UNIT["degree",0.0174532925199433,
        AUTHORITY["EPSG","9122"]],
    AUTHORITY["EPSG","4326"]]
Geometry Column = geom
id: Integer (0.0)
poi_name: String (0.0)
service_group: String (0.0)
sub_category: String (0.0)
importance: String (0.0)
name: String (0.0)
stname: String (0.0)
hsnum: String (0.0)
postcode: String (0.0)
locname: String (0.0)
lancd: String (0.0)
telnum: String (0.0)
tel_num_type: String (0.0)
faxnum: String (0.0)
email: String (0.0)
http: String (0.0)
brandname: String (0.0)
compname: String (0.0)
cltrpelid: Integer (0.0)
relpos: Real (0.0)
extpoiid: String (0.0)
addrpid: Integer (0.0)
posaccur: Integer (0.0)
gal: Integer (0.0)
content_source: String (0.0)
content_modification: String (0.0)

Saluti.

Il 04/02/2014 09:22, Paolo Corti ha scritto:
2014-02-03 Marco Li Volsi [hidden email]:
Il log non è molto parlante
dbname='miodb' host=192.168.1.4 port=5432 user='postgres' password='xxxx'
sslmode=disable key='addrpid' srid=4326 type=POINT
table="public"."v_poi_airport" (geom) sql= è un layer non valido; non
caricato

ciao Marco
cosa ti restituisce ogrinfo?

$ ogrinfo PG:"dbname='miodb' host='192.168.1.4' user='postgres'
password='xxxx'" v_poi_airport -so

p



_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Paolo Corti
On Tue, Feb 4, 2014 at 9:20 PM, Marco Li Volsi <[hidden email]> wrote:

> Ciao Paolo.
> Di seguito l'output di ogrinfo:
> INFO: Open of `PG:dbname='miodb' host='192.168.1.4' user='postgres'
> password='xxxx''
>       using driver `PostgreSQL' successful.
>
> Layer name: v_poi_airport
> Geometry: Point
> Feature Count: 849
> Extent: (-27.075851, 27.814005) - (135.171327, 78.246444)
> Layer SRS WKT:
> GEOGCS["WGS 84",
>     DATUM["WGS_1984",
>         SPHEROID["WGS 84",6378137,298.257223563,
>             AUTHORITY["EPSG","7030"]],
>         AUTHORITY["EPSG","6326"]],
>     PRIMEM["Greenwich",0,
>         AUTHORITY["EPSG","8901"]],
>     UNIT["degree",0.0174532925199433,
>         AUTHORITY["EPSG","9122"]],
>     AUTHORITY["EPSG","4326"]]
> Geometry Column = geom
> id: Integer (0.0)
> poi_name: String (0.0)
> service_group: String (0.0)
> sub_category: String (0.0)
> importance: String (0.0)
> name: String (0.0)
> stname: String (0.0)
> hsnum: String (0.0)
> postcode: String (0.0)
> locname: String (0.0)
> lancd: String (0.0)
> telnum: String (0.0)

La vista è correttamente interpretata da GDAL.
Leggo poi solo ora che caricandola con il DB Manager anche QGIS la apre.
Direi di seguire la strada indicata da Salvatore Larosa per valutare
se può essere un malfunzionamento di QGIS.
ciao
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti
_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Marco Li Volsi
Buona Sera.
Non per essere pedante... ma ho trovato l'inghippo.
Mi sono accorto che sulla tabella in cui c'è il campo geometrico, non
era stato definito l'indice spaziale sul campo.
Ho creato l'indice ed adesso il caricamento dal pulsante "Aggiungi
vettore PostGIS" funziona egregiamente.
... e il cerchio si chiude.
Salutos.

Il 04/02/2014 23:16, Paolo Corti ha scritto:

> On Tue, Feb 4, 2014 at 9:20 PM, Marco Li Volsi <[hidden email]> wrote:
>> Ciao Paolo.
>> Di seguito l'output di ogrinfo:
>> INFO: Open of `PG:dbname='miodb' host='192.168.1.4' user='postgres'
>> password='xxxx''
>>        using driver `PostgreSQL' successful.
>>
>> Layer name: v_poi_airport
>> Geometry: Point
>> Feature Count: 849
>> Extent: (-27.075851, 27.814005) - (135.171327, 78.246444)
>> Layer SRS WKT:
>> GEOGCS["WGS 84",
>>      DATUM["WGS_1984",
>>          SPHEROID["WGS 84",6378137,298.257223563,
>>              AUTHORITY["EPSG","7030"]],
>>          AUTHORITY["EPSG","6326"]],
>>      PRIMEM["Greenwich",0,
>>          AUTHORITY["EPSG","8901"]],
>>      UNIT["degree",0.0174532925199433,
>>          AUTHORITY["EPSG","9122"]],
>>      AUTHORITY["EPSG","4326"]]
>> Geometry Column = geom
>> id: Integer (0.0)
>> poi_name: String (0.0)
>> service_group: String (0.0)
>> sub_category: String (0.0)
>> importance: String (0.0)
>> name: String (0.0)
>> stname: String (0.0)
>> hsnum: String (0.0)
>> postcode: String (0.0)
>> locname: String (0.0)
>> lancd: String (0.0)
>> telnum: String (0.0)
> La vista è correttamente interpretata da GDAL.
> Leggo poi solo ora che caricandola con il DB Manager anche QGIS la apre.
> Direi di seguire la strada indicata da Salvatore Larosa per valutare
> se può essere un malfunzionamento di QGIS.
> ciao
> p
>

_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Paolo Corti
2014-02-07 Marco Li Volsi <[hidden email]>:
> Buona Sera.
> Non per essere pedante... ma ho trovato l'inghippo.
> Mi sono accorto che sulla tabella in cui c'è il campo geometrico, non era
> stato definito l'indice spaziale sul campo.
> Ho creato l'indice ed adesso il caricamento dal pulsante "Aggiungi vettore
> PostGIS" funziona egregiamente.
> ... e il cerchio si chiude.
> Salutos.

In realta' QGIS dovrebbe funzionare lo stesso, ma se non lo fa allora
hai fornito un valido elemento per sistemare quello che con tutta
probabilita' sembrerebbe trattarsi di un bug.
La cosa migliore in questi casi sarebbe aprire un ticket:
https://hub.qgis.org/projects/quantum-gis/issues

grazie
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti
_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Salvatore Larosa
In reply to this post by Marco Li Volsi
Ciao,

2014-02-07 17:03 GMT+01:00 Marco Li Volsi <[hidden email]>:
Buona Sera.
Non per essere pedante... ma ho trovato l'inghippo.
Mi sono accorto che sulla tabella in cui c'è il campo geometrico, non era stato definito l'indice spaziale sul campo.
Ho creato l'indice ed adesso il caricamento dal pulsante "Aggiungi vettore PostGIS" funziona egregiamente.
... e il cerchio si chiude.

veramente strano, QGIS non dovrebbe avere problemi a caricare la vista la cui geometria appartiene ad una tabella
senza indice spaziale. Se quello avviene, come dice Paolo, conviene approfondire per capire dove sta il problema.
Anche se, da un test veloce sulla mia macchina, riesco a caricare la vista senza aver definito un indice spaziale per
la tabella sorgente.

In ogni caso, se puoi prova ad eseguire il test di seguito riportato [0] sulla tua macchina e vedi se ci sono anomalie importando la vista.
Dovrebbe essere simile al caso tuo.

Saluti,
-SL

[0]
-- Crea la tabella con geometria di tipo puntuale
CREATE TABLE test_view (id int);
SELECT AddGeometryColumn('test_view', 'geom', -1, 'POINT', 2);
INSERT INTO test_view values (1, ST_GeomFromText('POINT(319564.6 6262840)'));
INSERT INTO test_view values (2, ST_GeomFromText('POINT(319554.9 6262870)'));
INSERT INTO test_view values (3, ST_GeomFromText('POINT(319540.7 6262965)'));
INSERT INTO test_view values (4, ST_GeomFromText('POINT(319552 6263000)'));

-- Crea tabella senza geometria
CREATE TABLE test_view_join (id int, name text);
INSERT INTO test_view_join VALUES (1, 'A');
INSERT INTO test_view_join VALUES (2, 'B');
INSERT INTO test_view_join VALUES (3, 'C');
INSERT INTO test_view_join VALUES (4, 'D');

-- Crea la vista
CREATE OR REPLACE VIEW vista AS
SELECT test_view_join.id, test_view_join.name, test_view.geom
FROM test_view
LEFT JOIN test_view_join ON test_view_join.id = test_view.id
WHERE test_view.id = 4;


Salutos.

Il 04/02/2014 23:16, Paolo Corti ha scritto:

On Tue, Feb 4, 2014 at 9:20 PM, Marco Li Volsi <[hidden email]> wrote:
Ciao Paolo.
Di seguito l'output di ogrinfo:
INFO: Open of `PG:dbname='miodb' host='192.168.1.4' user='postgres'
password='xxxx''
       using driver `PostgreSQL' successful.

Layer name: v_poi_airport
Geometry: Point
Feature Count: 849
Extent: (-27.075851, 27.814005) - (135.171327, 78.246444)
Layer SRS WKT:
GEOGCS["WGS 84",
     DATUM["WGS_1984",
         SPHEROID["WGS 84",6378137,298.257223563,
             AUTHORITY["EPSG","7030"]],
         AUTHORITY["EPSG","6326"]],
     PRIMEM["Greenwich",0,
         AUTHORITY["EPSG","8901"]],
     UNIT["degree",0.0174532925199433,
         AUTHORITY["EPSG","9122"]],
     AUTHORITY["EPSG","4326"]]
Geometry Column = geom
id: Integer (0.0)
poi_name: String (0.0)
service_group: String (0.0)
sub_category: String (0.0)
importance: String (0.0)
name: String (0.0)
stname: String (0.0)
hsnum: String (0.0)
postcode: String (0.0)
locname: String (0.0)
lancd: String (0.0)
telnum: String (0.0)
La vista è correttamente interpretata da GDAL.
Leggo poi solo ora che caricandola con il DB Manager anche QGIS la apre.
Direi di seguire la strada indicata da Salvatore Larosa per valutare
se può essere un malfunzionamento di QGIS.
ciao
p


_______________________________________________
[hidden email]
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



--
Salvatore Larosa
linkedIn: http://linkedin.com/in/larosasalvatore
twitter: @lrssvt
skype: s.larosa
IRC: lrssvt on freenode

_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Andrea Peri
In reply to this post by Paolo Corti
Veramente strano che una cosa del genere non sia gia' saltata fuori.

Lo so' che e' l'unica cosa da fare e' aprire un ticket , ma temo che
servra' a ben poco.

E' talmente strano questo bug che dubito che il gruppo degli
sviluppatori ci mettera' mai mano perdendo il suo tempo cosi'"a babbo
morto".

Occorrerebbe che chi è interessato finanzi il tempo di uno sviluppatore
che cerchi per lui il problema dove sta'.
Oppure disponesse di una procedura cje renda l'errore replicabile.

Onfatti appena apri un ticket ti chiedono subito una procedura per
replicare il bug.
Se non ne disponi.
Non lo prendono nemmeno in considerazione un baco come questo.
Oltre tutto mescola le carte perche' la situazione è che su db-manager
funzion.

Ilche dimostra solo che db-manager non usa il provider postgres in
maniera normale, ma applica qualche suo rimaneggio.
Solo questo mi spiegherebbe perche' con db-manager funzia e con il
provider diretto di postgis no.

Tutte cose cche aumentano la confusione.

Temo che uesto baco se lo dovra' tenere per un bel po',
almeno finche' casualmente rimettendo mano a ualcosa quancuno lo
rimuovera' inconsapevolmente.

A.

On 07/02/2014 17:14, Paolo Corti wrote:

> 2014-02-07 Marco Li Volsi <[hidden email]>:
>> Buona Sera.
>> Non per essere pedante... ma ho trovato l'inghippo.
>> Mi sono accorto che sulla tabella in cui c'è il campo geometrico, non era
>> stato definito l'indice spaziale sul campo.
>> Ho creato l'indice ed adesso il caricamento dal pulsante "Aggiungi vettore
>> PostGIS" funziona egregiamente.
>> ... e il cerchio si chiude.
>> Salutos.
> In realta' QGIS dovrebbe funzionare lo stesso, ma se non lo fa allora
> hai fornito un valido elemento per sistemare quello che con tutta
> probabilita' sembrerebbe trattarsi di un bug.
> La cosa migliore in questi casi sarebbe aprire un ticket:
> https://hub.qgis.org/projects/quantum-gis/issues
>
> grazie
> p
>

_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Giuseppe Sucameli
Ci sarebbe anche da capire cosa vuol dire "su db-manager funziona".
Carica la vista su QGIS tramite dbmanager oppure usa la select della vista per generare un layer on-the-fly?

Aggiungo, DBManager usa il provider PostGIS in entrambi i casi, anche quando crea e carica un layer da un SQL statement.

Quel che possono cambiare sono i parametri che passa al provider: per esempio se è una vista DBManager cerca un campo univoco utile per caricarla e usa quello, mentre il dialog di QGIS mostra la lista dei campi univoci possibili.

Saluti.



2014-02-11 8:50 GMT+01:00 aperi2007 <[hidden email]>:
Veramente strano che una cosa del genere non sia gia' saltata fuori.

Lo so' che e' l'unica cosa da fare e' aprire un ticket , ma temo che servra' a ben poco.

E' talmente strano questo bug che dubito che il gruppo degli sviluppatori ci mettera' mai mano perdendo il suo tempo cosi'"a babbo morto".

Occorrerebbe che chi è interessato finanzi il tempo di uno sviluppatore che cerchi per lui il problema dove sta'.
Oppure disponesse di una procedura cje renda l'errore replicabile.

Onfatti appena apri un ticket ti chiedono subito una procedura per replicare il bug.
Se non ne disponi.
Non lo prendono nemmeno in considerazione un baco come questo.
Oltre tutto mescola le carte perche' la situazione è che su db-manager funzion.

Ilche dimostra solo che db-manager non usa il provider postgres in maniera normale, ma applica qualche suo rimaneggio.
Solo questo mi spiegherebbe perche' con db-manager funzia e con il provider diretto di postgis no.

Tutte cose cche aumentano la confusione.

Temo che uesto baco se lo dovra' tenere per un bel po',
almeno finche' casualmente rimettendo mano a ualcosa quancuno lo rimuovera' inconsapevolmente.

A.


On 07/02/2014 17:14, Paolo Corti wrote:
2014-02-07 Marco Li Volsi <[hidden email]>:
Buona Sera.
Non per essere pedante... ma ho trovato l'inghippo.
Mi sono accorto che sulla tabella in cui c'è il campo geometrico, non era
stato definito l'indice spaziale sul campo.
Ho creato l'indice ed adesso il caricamento dal pulsante "Aggiungi vettore
PostGIS" funziona egregiamente.
... e il cerchio si chiude.
Salutos.
In realta' QGIS dovrebbe funzionare lo stesso, ma se non lo fa allora
hai fornito un valido elemento per sistemare quello che con tutta
probabilita' sembrerebbe trattarsi di un bug.
La cosa migliore in questi casi sarebbe aprire un ticket:
https://hub.qgis.org/projects/quantum-gis/issues

grazie
p


_______________________________________________
[hidden email]
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



--
Giuseppe Sucameli

_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Andrea Peri

Potrebbe essere questa la spiega. Dbmanager trova il campo univoco. Il provider normale no.?

Il 11/feb/2014 14:31 "Giuseppe Sucameli" <[hidden email]> ha scritto:
Ci sarebbe anche da capire cosa vuol dire "su db-manager funziona".
Carica la vista su QGIS tramite dbmanager oppure usa la select della vista per generare un layer on-the-fly?

Aggiungo, DBManager usa il provider PostGIS in entrambi i casi, anche quando crea e carica un layer da un SQL statement.

Quel che possono cambiare sono i parametri che passa al provider: per esempio se è una vista DBManager cerca un campo univoco utile per caricarla e usa quello, mentre il dialog di QGIS mostra la lista dei campi univoci possibili.

Saluti.



2014-02-11 8:50 GMT+01:00 aperi2007 <[hidden email]>:
Veramente strano che una cosa del genere non sia gia' saltata fuori.

Lo so' che e' l'unica cosa da fare e' aprire un ticket , ma temo che servra' a ben poco.

E' talmente strano questo bug che dubito che il gruppo degli sviluppatori ci mettera' mai mano perdendo il suo tempo cosi'"a babbo morto".

Occorrerebbe che chi è interessato finanzi il tempo di uno sviluppatore che cerchi per lui il problema dove sta'.
Oppure disponesse di una procedura cje renda l'errore replicabile.

Onfatti appena apri un ticket ti chiedono subito una procedura per replicare il bug.
Se non ne disponi.
Non lo prendono nemmeno in considerazione un baco come questo.
Oltre tutto mescola le carte perche' la situazione è che su db-manager funzion.

Ilche dimostra solo che db-manager non usa il provider postgres in maniera normale, ma applica qualche suo rimaneggio.
Solo questo mi spiegherebbe perche' con db-manager funzia e con il provider diretto di postgis no.

Tutte cose cche aumentano la confusione.

Temo che uesto baco se lo dovra' tenere per un bel po',
almeno finche' casualmente rimettendo mano a ualcosa quancuno lo rimuovera' inconsapevolmente.

A.


On 07/02/2014 17:14, Paolo Corti wrote:
2014-02-07 Marco Li Volsi <[hidden email]>:
Buona Sera.
Non per essere pedante... ma ho trovato l'inghippo.
Mi sono accorto che sulla tabella in cui c'è il campo geometrico, non era
stato definito l'indice spaziale sul campo.
Ho creato l'indice ed adesso il caricamento dal pulsante "Aggiungi vettore
PostGIS" funziona egregiamente.
... e il cerchio si chiude.
Salutos.
In realta' QGIS dovrebbe funzionare lo stesso, ma se non lo fa allora
hai fornito un valido elemento per sistemare quello che con tutta
probabilita' sembrerebbe trattarsi di un bug.
La cosa migliore in questi casi sarebbe aprire un ticket:
https://hub.qgis.org/projects/quantum-gis/issues

grazie
p


_______________________________________________
[hidden email]
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



--
Giuseppe Sucameli

_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Giuseppe Sucameli
In reply to this post by Marco Li Volsi
Ciao Marco,
ho notato che usi due campi id diversi:

- qui stai usando "addrpid" come campo univoco della vista
dbname='miodb' host=192.168.1.4 port=5432 user='postgres' password='xxxx' sslmode=disable key='addrpid' srid=4326 type=POINT table="public"."v_poi_airport" (geom) sql= è un layer non valido; non caricato

mentre in quest'altra query verifichi che non vi siano valori duplicati sul campo "id"
SELECT id, COUNT(id)
  FROM v_poi_airport
 GROUP BY id
ORDER BY COUNT(id) DESC;

Probabilmente DBManager usa "id" e quindi tutto funziona, mentre dall'interfaccia di caricamento del layer PostGIS in QGIS (che lista tutti i campi utili) tu non selezioni il campo univoco da usare e QGIS prende il primo che potrebbe a questo punto essere "addrpid".

Facci sapere.



2014-02-03 22:39 GMT+01:00 Marco Li Volsi <[hidden email]>:
Il log non è molto parlante
dbname='miodb' host=192.168.1.4 port=5432 user='postgres' password='xxxx' sslmode=disable key='addrpid' srid=4326 type=POINT table="public"."v_poi_airport" (geom) sql= è un layer non valido; non caricato

Il 03/02/2014 20:30, Andrea Peri ha scritto:
puoi postare l'errore che ti da' ?


Il giorno 03 febbraio 2014 19:54, Marco Li Volsi <[hidden email]> ha scritto:
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]>:
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 <[hidden email]> 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 <[hidden email]> 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?

_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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 àèìòù
-----------------

_______________________________________________
[hidden email]
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



_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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



--
Giuseppe Sucameli

_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Marco Li Volsi
In reply to this post by Giuseppe Sucameli
Ciao.
Le operazioni che ho fatto per caricare il layer sono:
  1. Tastino "Aggiungi vettore PostGIS":
    1. dalla combobox seleziono la connessione al DB
    2. clicco su "Connetti"
    3. dall'albero apro il ramo dello schema che mi interessa
    4. evidenzio la vista da caricare
    5. clicco su "Aggiungi"
  2. DB Manager:
    1. dall'albero apro il ramo "PostGIS"
    2. dal ramo aperto apro il ramo corrispondente al DB che mi interessa
    3. dal ramo aperto apro il ramo corrispondente allo schema che mi interessa
    4. dal ramo aperto eseguo il drag&drop della vista da caricare
le operazioni al punto 1 danno un messaggio di errore, mentre le operazioni al punto 2 aggiungono il layer alla mappa correttamente

Il 11/02/2014 14:31, Giuseppe Sucameli ha scritto:
Ci sarebbe anche da capire cosa vuol dire "su db-manager funziona".
Carica la vista su QGIS tramite dbmanager oppure usa la select della vista per generare un layer on-the-fly?

Aggiungo, DBManager usa il provider PostGIS in entrambi i casi, anche quando crea e carica un layer da un SQL statement.

Quel che possono cambiare sono i parametri che passa al provider: per esempio se è una vista DBManager cerca un campo univoco utile per caricarla e usa quello, mentre il dialog di QGIS mostra la lista dei campi univoci possibili.

Saluti.



2014-02-11 8:50 GMT+01:00 aperi2007 <[hidden email]>:
Veramente strano che una cosa del genere non sia gia' saltata fuori.

Lo so' che e' l'unica cosa da fare e' aprire un ticket , ma temo che servra' a ben poco.

E' talmente strano questo bug che dubito che il gruppo degli sviluppatori ci mettera' mai mano perdendo il suo tempo cosi'"a babbo morto".

Occorrerebbe che chi è interessato finanzi il tempo di uno sviluppatore che cerchi per lui il problema dove sta'.
Oppure disponesse di una procedura cje renda l'errore replicabile.

Onfatti appena apri un ticket ti chiedono subito una procedura per replicare il bug.
Se non ne disponi.
Non lo prendono nemmeno in considerazione un baco come questo.
Oltre tutto mescola le carte perche' la situazione è che su db-manager funzion.

Ilche dimostra solo che db-manager non usa il provider postgres in maniera normale, ma applica qualche suo rimaneggio.
Solo questo mi spiegherebbe perche' con db-manager funzia e con il provider diretto di postgis no.

Tutte cose cche aumentano la confusione.

Temo che uesto baco se lo dovra' tenere per un bel po',
almeno finche' casualmente rimettendo mano a ualcosa quancuno lo rimuovera' inconsapevolmente.

A.


On 07/02/2014 17:14, Paolo Corti wrote:
2014-02-07 Marco Li Volsi <[hidden email]>:
Buona Sera.
Non per essere pedante... ma ho trovato l'inghippo.
Mi sono accorto che sulla tabella in cui c'è il campo geometrico, non era
stato definito l'indice spaziale sul campo.
Ho creato l'indice ed adesso il caricamento dal pulsante "Aggiungi vettore
PostGIS" funziona egregiamente.
... e il cerchio si chiude.
Salutos.
In realta' QGIS dovrebbe funzionare lo stesso, ma se non lo fa allora
hai fornito un valido elemento per sistemare quello che con tutta
probabilita' sembrerebbe trattarsi di un bug.
La cosa migliore in questi casi sarebbe aprire un ticket:
https://hub.qgis.org/projects/quantum-gis/issues

grazie
p


_______________________________________________
[hidden email]
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



--
Giuseppe Sucameli


_______________________________________________
[hidden email]
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


_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Giuseppe Sucameli
Ciao Marco,
grazie del feedback.

Hai ancora modo di riprodurre l'errore? se si, proveresti a vedere, seguendo la procedura al punto 1 (caricamente da Aggiungi layer PostGIS), quale sia il campo univoco che appare nella riga della vista selezionata? Se ci fai click sopra è possibile scegliere un campo univoco diverso?

Saluti.


2014-02-11 15:34 GMT+01:00 Marco Li Volsi <[hidden email]>:
Ciao.
Le operazioni che ho fatto per caricare il layer sono:
  1. Tastino "Aggiungi vettore PostGIS":
    1. dalla combobox seleziono la connessione al DB
    2. clicco su "Connetti"
    3. dall'albero apro il ramo dello schema che mi interessa
    4. evidenzio la vista da caricare
    5. clicco su "Aggiungi"
  2. DB Manager:
    1. dall'albero apro il ramo "PostGIS"
    2. dal ramo aperto apro il ramo corrispondente al DB che mi interessa
    3. dal ramo aperto apro il ramo corrispondente allo schema che mi interessa
    4. dal ramo aperto eseguo il drag&drop della vista da caricare
le operazioni al punto 1 danno un messaggio di errore, mentre le operazioni al punto 2 aggiungono il layer alla mappa correttamente


Il 11/02/2014 14:31, Giuseppe Sucameli ha scritto:
Ci sarebbe anche da capire cosa vuol dire "su db-manager funziona".
Carica la vista su QGIS tramite dbmanager oppure usa la select della vista per generare un layer on-the-fly?

Aggiungo, DBManager usa il provider PostGIS in entrambi i casi, anche quando crea e carica un layer da un SQL statement.

Quel che possono cambiare sono i parametri che passa al provider: per esempio se è una vista DBManager cerca un campo univoco utile per caricarla e usa quello, mentre il dialog di QGIS mostra la lista dei campi univoci possibili.

Saluti.



2014-02-11 8:50 GMT+01:00 aperi2007 <[hidden email]>:
Veramente strano che una cosa del genere non sia gia' saltata fuori.

Lo so' che e' l'unica cosa da fare e' aprire un ticket , ma temo che servra' a ben poco.

E' talmente strano questo bug che dubito che il gruppo degli sviluppatori ci mettera' mai mano perdendo il suo tempo cosi'"a babbo morto".

Occorrerebbe che chi è interessato finanzi il tempo di uno sviluppatore che cerchi per lui il problema dove sta'.
Oppure disponesse di una procedura cje renda l'errore replicabile.

Onfatti appena apri un ticket ti chiedono subito una procedura per replicare il bug.
Se non ne disponi.
Non lo prendono nemmeno in considerazione un baco come questo.
Oltre tutto mescola le carte perche' la situazione è che su db-manager funzion.

Ilche dimostra solo che db-manager non usa il provider postgres in maniera normale, ma applica qualche suo rimaneggio.
Solo questo mi spiegherebbe perche' con db-manager funzia e con il provider diretto di postgis no.

Tutte cose cche aumentano la confusione.

Temo che uesto baco se lo dovra' tenere per un bel po',
almeno finche' casualmente rimettendo mano a ualcosa quancuno lo rimuovera' inconsapevolmente.

A.


On 07/02/2014 17:14, Paolo Corti wrote:
2014-02-07 Marco Li Volsi <[hidden email]>:
Buona Sera.
Non per essere pedante... ma ho trovato l'inghippo.
Mi sono accorto che sulla tabella in cui c'è il campo geometrico, non era
stato definito l'indice spaziale sul campo.
Ho creato l'indice ed adesso il caricamento dal pulsante "Aggiungi vettore
PostGIS" funziona egregiamente.
... e il cerchio si chiude.
Salutos.
In realta' QGIS dovrebbe funzionare lo stesso, ma se non lo fa allora
hai fornito un valido elemento per sistemare quello che con tutta
probabilita' sembrerebbe trattarsi di un bug.
La cosa migliore in questi casi sarebbe aprire un ticket:
https://hub.qgis.org/projects/quantum-gis/issues

grazie
p


_______________________________________________
[hidden email]
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



--
Giuseppe Sucameli


_______________________________________________
[hidden email]
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


_______________________________________________
[hidden email]
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



--
Giuseppe Sucameli

_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Marco Li Volsi
In reply to this post by Giuseppe Sucameli
Ciao Giuseppe.
In serata proverò a fare una copia della tabella (13 mln di punti), a ripristinare lo stato iniziale e a fare una vista come era prima.
Riguardo al tuo quesito sottoriportato... non mi ero accorto del "key=addrpid". Quel campo è un bigint sempre = 0, non è indicizzato e non e chiave primaria. Il campo "id" è la vera chiave ed è definita come tale con una constraint.
Salutos.

Il 11/02/2014 14:57, Giuseppe Sucameli ha scritto:
Ciao Marco,
ho notato che usi due campi id diversi:

- qui stai usando "addrpid" come campo univoco della vista
dbname='miodb' host=192.168.1.4 port=5432 user='postgres' password='xxxx' sslmode=disable key='addrpid' srid=4326 type=POINT table="public"."v_poi_airport" (geom) sql= è un layer non valido; non caricato

mentre in quest'altra query verifichi che non vi siano valori duplicati sul campo "id"
SELECT id, COUNT(id)
  FROM v_poi_airport
 GROUP BY id
ORDER BY COUNT(id) DESC;

Probabilmente DBManager usa "id" e quindi tutto funziona, mentre dall'interfaccia di caricamento del layer PostGIS in QGIS (che lista tutti i campi utili) tu non selezioni il campo univoco da usare e QGIS prende il primo che potrebbe a questo punto essere "addrpid".

Facci sapere.



2014-02-03 22:39 GMT+01:00 Marco Li Volsi <[hidden email]>:
Il log non è molto parlante
dbname='miodb' host=192.168.1.4 port=5432 user='postgres' password='xxxx' sslmode=disable key='addrpid' srid=4326 type=POINT table="public"."v_poi_airport" (geom) sql= è un layer non valido; non caricato

Il 03/02/2014 20:30, Andrea Peri ha scritto:
puoi postare l'errore che ti da' ?


Il giorno 03 febbraio 2014 19:54, Marco Li Volsi <[hidden email]> ha scritto:
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]>:
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 <[hidden email]> 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 <[hidden email]> 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?

_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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 àèìòù
-----------------

_______________________________________________
[hidden email]
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



_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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 àèìòù
-----------------


_______________________________________________
[hidden email]
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



--
Giuseppe Sucameli


_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Marco Li Volsi
In reply to this post by Giuseppe Sucameli
Ciao Giuseppe.
Ho copiato la tabella incriminata, impostato la chiave primaria sul campo "id", creato la vista e provato a caricare il layer su QGis (tastino "Aggiungi vettore PostGIS") ed il problema si è ripresentato. Nella finestra di caricamento mi propone come campo chiave primaria "addrpid" (che faccio notare essere il primo della tabella se si ordininano i nomi dei campi alfabeticamente), impostazione che posso comunque cambiare (e cambiandola carica il layer correttamente).

Il 11/02/2014 15:38, Giuseppe Sucameli ha scritto:
Ciao Marco,
grazie del feedback.

Hai ancora modo di riprodurre l'errore? se si, proveresti a vedere, seguendo la procedura al punto 1 (caricamente da Aggiungi layer PostGIS), quale sia il campo univoco che appare nella riga della vista selezionata? Se ci fai click sopra è possibile scegliere un campo univoco diverso?

Saluti.


2014-02-11 15:34 GMT+01:00 Marco Li Volsi <[hidden email]>:
Ciao.
Le operazioni che ho fatto per caricare il layer sono:
  1. Tastino "Aggiungi vettore PostGIS":
    1. dalla combobox seleziono la connessione al DB
    2. clicco su "Connetti"
    3. dall'albero apro il ramo dello schema che mi interessa
    4. evidenzio la vista da caricare
    5. clicco su "Aggiungi"
  2. DB Manager:
    1. dall'albero apro il ramo "PostGIS"
    2. dal ramo aperto apro il ramo corrispondente al DB che mi interessa
    3. dal ramo aperto apro il ramo corrispondente allo schema che mi interessa
    4. dal ramo aperto eseguo il drag&drop della vista da caricare
le operazioni al punto 1 danno un messaggio di errore, mentre le operazioni al punto 2 aggiungono il layer alla mappa correttamente


Il 11/02/2014 14:31, Giuseppe Sucameli ha scritto:
Ci sarebbe anche da capire cosa vuol dire "su db-manager funziona".
Carica la vista su QGIS tramite dbmanager oppure usa la select della vista per generare un layer on-the-fly?

Aggiungo, DBManager usa il provider PostGIS in entrambi i casi, anche quando crea e carica un layer da un SQL statement.

Quel che possono cambiare sono i parametri che passa al provider: per esempio se è una vista DBManager cerca un campo univoco utile per caricarla e usa quello, mentre il dialog di QGIS mostra la lista dei campi univoci possibili.

Saluti.



2014-02-11 8:50 GMT+01:00 aperi2007 <[hidden email]>:
Veramente strano che una cosa del genere non sia gia' saltata fuori.

Lo so' che e' l'unica cosa da fare e' aprire un ticket , ma temo che servra' a ben poco.

E' talmente strano questo bug che dubito che il gruppo degli sviluppatori ci mettera' mai mano perdendo il suo tempo cosi'"a babbo morto".

Occorrerebbe che chi è interessato finanzi il tempo di uno sviluppatore che cerchi per lui il problema dove sta'.
Oppure disponesse di una procedura cje renda l'errore replicabile.

Onfatti appena apri un ticket ti chiedono subito una procedura per replicare il bug.
Se non ne disponi.
Non lo prendono nemmeno in considerazione un baco come questo.
Oltre tutto mescola le carte perche' la situazione è che su db-manager funzion.

Ilche dimostra solo che db-manager non usa il provider postgres in maniera normale, ma applica qualche suo rimaneggio.
Solo questo mi spiegherebbe perche' con db-manager funzia e con il provider diretto di postgis no.

Tutte cose cche aumentano la confusione.

Temo che uesto baco se lo dovra' tenere per un bel po',
almeno finche' casualmente rimettendo mano a ualcosa quancuno lo rimuovera' inconsapevolmente.

A.


On 07/02/2014 17:14, Paolo Corti wrote:
2014-02-07 Marco Li Volsi <[hidden email]>:
Buona Sera.
Non per essere pedante... ma ho trovato l'inghippo.
Mi sono accorto che sulla tabella in cui c'è il campo geometrico, non era
stato definito l'indice spaziale sul campo.
Ho creato l'indice ed adesso il caricamento dal pulsante "Aggiungi vettore
PostGIS" funziona egregiamente.
... e il cerchio si chiude.
Salutos.
In realta' QGIS dovrebbe funzionare lo stesso, ma se non lo fa allora
hai fornito un valido elemento per sistemare quello che con tutta
probabilita' sembrerebbe trattarsi di un bug.
La cosa migliore in questi casi sarebbe aprire un ticket:
https://hub.qgis.org/projects/quantum-gis/issues

grazie
p


_______________________________________________
[hidden email]
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



--
Giuseppe Sucameli


_______________________________________________
[hidden email]
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


_______________________________________________
[hidden email]
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



--
Giuseppe Sucameli


_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

Giuseppe Sucameli
Ottimo, quindi selezionando il campo univoco corretto la vista viene caricata correttamente come layer in QGIS.
Quesito risolto :)

Giusto per fare il punto.

Inizialmente se c'erano più campi possibili per caricare una vista, QGIS non ne selezionava nessuno. Questo implicava che ogni volta l'utente dovesse selezionare il campo e capitava che spesso gli utenti chiedessero in ML come mai le viste non fossero selezionabili, quindi si è deciso di selezionare sempre il primo della lista.

In DBManager non è possibile selezionare il campo univoco da usare (almeno per adesso), per cui viene utilizzato il più "adatto". Questo comportamento implica che talvolta il campo selezionato non è quello corretto (essere sicuri che sia univoco implica eseguire una query che potrebbe essere parecchio onerosa), ma funziona nella maggior parte dei casi.

E questo è tutto.
Saluti.



2014-02-11 22:44 GMT+01:00 Marco Li Volsi <[hidden email]>:
Ciao Giuseppe.
Ho copiato la tabella incriminata, impostato la chiave primaria sul campo "id", creato la vista e provato a caricare il layer su QGis (tastino "Aggiungi vettore PostGIS") ed il problema si è ripresentato. Nella finestra di caricamento mi propone come campo chiave primaria "addrpid" (che faccio notare essere il primo della tabella se si ordininano i nomi dei campi alfabeticamente), impostazione che posso comunque cambiare (e cambiandola carica il layer correttamente).


Il 11/02/2014 15:38, Giuseppe Sucameli ha scritto:
Ciao Marco,
grazie del feedback.

Hai ancora modo di riprodurre l'errore? se si, proveresti a vedere, seguendo la procedura al punto 1 (caricamente da Aggiungi layer PostGIS), quale sia il campo univoco che appare nella riga della vista selezionata? Se ci fai click sopra è possibile scegliere un campo univoco diverso?

Saluti.


2014-02-11 15:34 GMT+01:00 Marco Li Volsi <[hidden email]>:
Ciao.
Le operazioni che ho fatto per caricare il layer sono:
  1. Tastino "Aggiungi vettore PostGIS":
    1. dalla combobox seleziono la connessione al DB
    2. clicco su "Connetti"
    3. dall'albero apro il ramo dello schema che mi interessa
    4. evidenzio la vista da caricare
    5. clicco su "Aggiungi"
  2. DB Manager:
    1. dall'albero apro il ramo "PostGIS"
    2. dal ramo aperto apro il ramo corrispondente al DB che mi interessa
    3. dal ramo aperto apro il ramo corrispondente allo schema che mi interessa
    4. dal ramo aperto eseguo il drag&drop della vista da caricare
le operazioni al punto 1 danno un messaggio di errore, mentre le operazioni al punto 2 aggiungono il layer alla mappa correttamente


Il 11/02/2014 14:31, Giuseppe Sucameli ha scritto:
Ci sarebbe anche da capire cosa vuol dire "su db-manager funziona".
Carica la vista su QGIS tramite dbmanager oppure usa la select della vista per generare un layer on-the-fly?

Aggiungo, DBManager usa il provider PostGIS in entrambi i casi, anche quando crea e carica un layer da un SQL statement.

Quel che possono cambiare sono i parametri che passa al provider: per esempio se è una vista DBManager cerca un campo univoco utile per caricarla e usa quello, mentre il dialog di QGIS mostra la lista dei campi univoci possibili.

Saluti.



2014-02-11 8:50 GMT+01:00 aperi2007 <[hidden email]>:
Veramente strano che una cosa del genere non sia gia' saltata fuori.

Lo so' che e' l'unica cosa da fare e' aprire un ticket , ma temo che servra' a ben poco.

E' talmente strano questo bug che dubito che il gruppo degli sviluppatori ci mettera' mai mano perdendo il suo tempo cosi'"a babbo morto".

Occorrerebbe che chi è interessato finanzi il tempo di uno sviluppatore che cerchi per lui il problema dove sta'.
Oppure disponesse di una procedura cje renda l'errore replicabile.

Onfatti appena apri un ticket ti chiedono subito una procedura per replicare il bug.
Se non ne disponi.
Non lo prendono nemmeno in considerazione un baco come questo.
Oltre tutto mescola le carte perche' la situazione è che su db-manager funzion.

Ilche dimostra solo che db-manager non usa il provider postgres in maniera normale, ma applica qualche suo rimaneggio.
Solo questo mi spiegherebbe perche' con db-manager funzia e con il provider diretto di postgis no.

Tutte cose cche aumentano la confusione.

Temo che uesto baco se lo dovra' tenere per un bel po',
almeno finche' casualmente rimettendo mano a ualcosa quancuno lo rimuovera' inconsapevolmente.

A.


On 07/02/2014 17:14, Paolo Corti wrote:
2014-02-07 Marco Li Volsi <[hidden email]>:
Buona Sera.
Non per essere pedante... ma ho trovato l'inghippo.
Mi sono accorto che sulla tabella in cui c'è il campo geometrico, non era
stato definito l'indice spaziale sul campo.
Ho creato l'indice ed adesso il caricamento dal pulsante "Aggiungi vettore
PostGIS" funziona egregiamente.
... e il cerchio si chiude.
Salutos.
In realta' QGIS dovrebbe funzionare lo stesso, ma se non lo fa allora
hai fornito un valido elemento per sistemare quello che con tutta
probabilita' sembrerebbe trattarsi di un bug.
La cosa migliore in questi casi sarebbe aprire un ticket:
https://hub.qgis.org/projects/quantum-gis/issues

grazie
p


_______________________________________________
[hidden email]
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



--
Giuseppe Sucameli


_______________________________________________
[hidden email]
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


_______________________________________________
[hidden email]
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



--
Giuseppe Sucameli


_______________________________________________
[hidden email]
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



--
Giuseppe Sucameli

_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: QGis e vista PostGIS

pcav
Il 12/02/2014 00:21, Giuseppe Sucameli ha scritto:

> In DBManager non è possibile selezionare il campo univoco da usare
> (almeno per adesso), per cui viene utilizzato il più "adatto".

Tanto per ripetere il mantra: se a qualcuno serve questa funzione, e'
caldamente invitato a svilupparla, o a finanziare qualcuno che lo faccia.

saluti.
--
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
_______________________________________________
[hidden email]
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
12