<div dir="ltr"><div><div><div><div><div><div><div><div><div>ciao,<br></div>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.<br>
<br></div>prova a fare:<br></div>select gid, count(*) from tabella1 group by gid having count(*) >1;<br><br></div>dove gid per me è il campo chiave della tabella che contiene le geometrie.<br><br></div>qGis ha bisogno che questo campo sia univoco e come dice giustamente Andrea, <br>
un LEFT JOIN (in funzione dei dati) non mantiene (giustamente) l'univocità.<br></div><div>ad esempio, mapserver non ha questo "limite", e puo' mostrare un layer da una vista senza avere una chiave primaria univoca.<br>
</div><div>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.<br>
</div><div><br></div>in questi casi io risolvo creando questo campo univoco per la vista risultante, semplicemente con il numero del record:<br><br>select row_number() OVER ()::integer AS gid, etc...<br><br></div>ovviamente se ti puoi permettere il lusso di non avere nella vista risultante il campo gid originario della tabella geometrica.<br>
<br></div>spero di essere stato utile (e chiaro).<br><br></div>saluti,<br>francesco<br><div><div><br><br><br><div><br><br><br><br><br><div><div><div><div><br></div></div></div></div></div></div></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">Il giorno 04 febbraio 2014 00:43, Andrea Peri <span dir="ltr"><<a href="mailto:aperi2007@gmail.com" target="_blank">aperi2007@gmail.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div><div>In effetti dice veramente poco.<br></div>A lume di naso, direi che probabilmente hai qualcosa di malfunzionante sul tuo qgis, ma dire cosa e come risolvere è difficile.<br>Prova a sentire sulla ML di qgis se sanno darti qualche maggiore informazione.<br>
E' veramente curioso questo fatto che con DB-Manager non dia problemi mentre con il provider di qgis li dia.<br><br></div><div>spiacente di non esserti di maggiore aiuto.<br><br></div>A.<br><br></div><div class="gmail_extra">
<br><br><div class="gmail_quote">Il giorno 03 febbraio 2014 22:39, Marco Li Volsi <span dir="ltr"><<a href="mailto:marco.livolsi@gmail.com" target="_blank">marco.livolsi@gmail.com</a>></span> ha scritto:<div><div class="h5">
<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>Il log non è molto parlante<br>
<small><small>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</small></small><br>
<br>
Il 03/02/2014 20:30, Andrea Peri ha scritto:<br>
</div><div><div>
<blockquote type="cite">
<div dir="ltr">puoi postare l'errore che ti da' ?<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">Il giorno 03 febbraio 2014 19:54, Marco
Li Volsi <span dir="ltr"><<a href="mailto:marco.livolsi@gmail.com" target="_blank">marco.livolsi@gmail.com</a>></span>
ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>Ciao Andrea.<br>
Provato come dici tu... ma continua a dare errore.<br>
<br>
Il 03/02/2014 00:32, Andrea Peri ha scritto:<br>
</div>
<div>
<div>
<blockquote type="cite">
<div dir="ltr">
<div>
<div>
<div>Su db-manager non so che dirti.<br>
<br>
Pero' puoi fare una controprova.<br>
<br>
</div>
definisci sulla tabella principale un campo di
tipo "serial" il quale si auto-riempira' con
dei progressivi.<br>
<br>
alter table tabella1 add column id_2 serial;<br>
<br>
definisci su tale colonna un indice unique:<br>
<br>
create unique index idx-1 on tabella1(id_2);<br>
<br>
Poi ridefinisci la vista aggiungendovi tale
campo nuovo.<br>
<br>
E infine prova a riaggiungere la vista a qgis.<br>
</div>
A quel punto qgis trova il campo di tipo int4
che cercava con tantodi indice unique e se
accetta di aggiungerla alla canvas, almeno <br>
hai trovato dove sta' il problema.<br>
Altrimenti è da una altra parte.<br>
<br>
</div>
<div>A.<br>
</div>
<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">Il giorno 03 febbraio
2014 00:10, Marco Li Volsi <span dir="ltr"><<a href="mailto:marco.livolsi@gmail.com" target="_blank">marco.livolsi@gmail.com</a>></span>
ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>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 ?:-)<br>
<br>
Il 03/02/2014 00:00, Andrea Peri ha
scritto:<br>
</div>
<div>
<div>
<blockquote type="cite">
<div dir="ltr">
<div>
<div>
<div>A quello che ricordo, la
regola di qgis è un campo di
tipo int4 e bigint non gli va
bene.<br>
</div>
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.<br>
:)<br>
<br>
</div>
In ogni caso almeno fino a qgis
1.8 sicuramente un campo bigint
non gli sarebbe andato bene.<br>
Non so se con qgis 2 è cambiato
qualcosa, ma non credo..<br>
<br>
</div>
<div>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)<br>
<br>
</div>
A.<br>
<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">Il giorno
02 febbraio 2014 23:47, Marco Li
Volsi <span dir="ltr"><<a href="mailto:marco.livolsi@gmail.com" target="_blank">marco.livolsi@gmail.com</a>></span>
ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>Ciao Ragà.<br>
La tabella "LEFT" ha un
campo id numerico di tipo
bigint ed ha una constraint
di PRIMARY KEY.<br>
Per quanto riguarda le varie
LEFT JOIN, non fanno altro
che collegare chiavi
primarie delle tabelle
"RIGHT" con le chiavi
esterne nella tabella
"LEFT".<br>
Ho fatto eseguire sulla
vista la seguente query e
non ha dato conteggi
maggiori di 1.<br>
<small><small><font color="#cc0000">SELECT
id, COUNT(id)<br>
FROM v_poi_airport<br>
GROUP BY id<br>
ORDER BY COUNT(id)
DESC;</font></small></small><br>
<br>
Il 02/02/2014 23:14, Luca
Mandolesi ha scritto:<br>
</div>
<div>
<div>
<blockquote type="cite">
<div dir="ltr">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.</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2014-02-02
Andrea Peri <span dir="ltr"><<a href="mailto:aperi2007@gmail.com" target="_blank">aperi2007@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div>
<div>ok.<br>
<br>
</div>
Un altro
suggerimento:<br>
<br>
</div>
<div>qgis per il
postgres vole
disporre di un
campo che sia
di tipo intero
e con una
primary-key.<br>
Oppure con un
indice di tipo
unique.<br>
</div>
<div>Verifica
che questa
condizione sia
verificata su
uno dei campi
che definisci
nella vista.<br>
Stai attento
che la
condizione
LEFTJOIN
potrebbe
falsare questa
consizione
provocando la
ripetizione di
records.<br>
<br>
</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">Il
giorno 02
febbraio 2014
22:58, Marco
Li Volsi <span dir="ltr"><<a href="mailto:marco.livolsi@gmail.com" target="_blank">marco.livolsi@gmail.com</a>></span>
ha scritto:
<div>
<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>Grazie
Andrea... ho
provato ma non
funge :-(<br>
<br>
Il 02/02/2014
22:43, Andrea
Peri ha
scritto:<br>
</div>
<div>
<div>
<blockquote type="cite">
<div dir="ltr">
<div>Prova a
modificare la
view definendo
la geometria
in quesot
modo:<br>
<br>
..,
tabella1.campogeometrico::geometry(Geometry,
3003) As geom<br>
<br>
</div>
Io ho scritto
3003
ipotizzando
che il dato
sia in
GaussBoaga, se
è utm usa
25832 o altro
codice epsg.<br>
<br>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">Il
giorno 02
febbraio 2014
21:47, Marco
Li Volsi <span dir="ltr"><<a href="mailto:marco.livolsi@gmail.com" target="_blank">marco.livolsi@gmail.com</a>></span>
ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> Buona sera a tutti Voi.<br>
Ho un
comportamento
molto strano
riguardo al
caricamento di
una vista
geografica su
PostGIS.<br>
Ho creato una
vista su
PostGIS del
tipo<br>
<font color="#cc0000"><small><small>CREATE
OR REPLACE
VIEW vista1<br>
SELECT
tabella1.campo1,
tabella2.campo2,<big><big> </big></big></small></small><small><small>tabella1.campo2<big><big>,</big><small>
...</small>,</big>
tabella1.campogeometrico<br>
FROM
tabella1<br>
LEFT JOIN
tabella2 ON
...<br>
WHERE
tabella1.campo2
= valore;</small></small></font><br>
La vista viene
correttamente
trovata nella
vista
geometry_columns.<br>
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.<br>
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.<br>
Qualcuno
saprebbe dirmi
se sbaglio
qualcosa?<br>
</div>
<br>
_______________________________________________<br>
<a href="mailto:Gfoss@lists.gfoss.it" target="_blank">Gfoss@lists.gfoss.it</a><br>
<a href="http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss" target="_blank">http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss</a><br>
Questa e' una
lista di
discussione
pubblica
aperta a
tutti.<br>
I messaggi di
questa lista
non hanno
relazione
diretta con le
posizioni
dell'Associazione
GFOSS.it.<br>
666 iscritti
al 22.7.2013<br>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
-----------------<br>
Andrea Peri<br>
. . . . . . .
. . <br>
qwerty àèìòù<br>
-----------------<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
<br>
_______________________________________________<br>
<a href="mailto:Gfoss@lists.gfoss.it" target="_blank">Gfoss@lists.gfoss.it</a><br>
<a href="http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss" target="_blank">http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss</a><br>
Questa e' una
lista di
discussione
pubblica
aperta a
tutti.<br>
I messaggi di
questa lista
non hanno
relazione
diretta con le
posizioni
dell'Associazione
GFOSS.it.<br>
666 iscritti
al 22.7.2013<br>
</blockquote>
</div>
</div>
</div>
<div>
<div><br>
<br clear="all">
<br>
-- <br>
-----------------<br>
Andrea Peri<br>
. . . . . . .
. . <br>
qwerty àèìòù<br>
-----------------<br>
</div>
</div>
</div>
<br>
_______________________________________________<br>
<a href="mailto:Gfoss@lists.gfoss.it" target="_blank">Gfoss@lists.gfoss.it</a><br>
<a href="http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss" target="_blank">http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss</a><br>
Questa e' una
lista di
discussione
pubblica aperta a
tutti.<br>
I messaggi di
questa lista non
hanno relazione
diretta con le
posizioni
dell'Associazione
GFOSS.it.<br>
666 iscritti al
22.7.2013<br>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
<br>
_______________________________________________<br>
<a href="mailto:Gfoss@lists.gfoss.it" target="_blank">Gfoss@lists.gfoss.it</a><br>
<a href="http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss" target="_blank">http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss</a><br>
Questa e' una lista di
discussione pubblica aperta a
tutti.<br>
I messaggi di questa lista non
hanno relazione diretta con le
posizioni dell'Associazione
GFOSS.it.<br>
666 iscritti al 22.7.2013<br>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
-----------------<br>
Andrea Peri<br>
. . . . . . . . . <br>
qwerty àèìòù<br>
-----------------<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
<br>
_______________________________________________<br>
<a href="mailto:Gfoss@lists.gfoss.it" target="_blank">Gfoss@lists.gfoss.it</a><br>
<a href="http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss" target="_blank">http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss</a><br>
Questa e' una lista di discussione pubblica
aperta a tutti.<br>
I messaggi di questa lista non hanno relazione
diretta con le posizioni dell'Associazione
GFOSS.it.<br>
666 iscritti al 22.7.2013<br>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
-----------------<br>
Andrea Peri<br>
. . . . . . . . . <br>
qwerty àèìòù<br>
-----------------<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
<br>
_______________________________________________<br>
<a href="mailto:Gfoss@lists.gfoss.it" target="_blank">Gfoss@lists.gfoss.it</a><br>
<a href="http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss" target="_blank">http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss</a><br>
Questa e' una lista di discussione pubblica aperta a tutti.<br>
I messaggi di questa lista non hanno relazione diretta con
le posizioni dell'Associazione GFOSS.it.<br>
666 iscritti al 22.7.2013<br>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
-----------------<br>
Andrea Peri<br>
. . . . . . . . . <br>
qwerty àèìòù<br>
-----------------<br>
</div>
</blockquote>
<br>
</div></div></div>
<br>_______________________________________________<br>
<a href="mailto:Gfoss@lists.gfoss.it" target="_blank">Gfoss@lists.gfoss.it</a><br>
<a href="http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss" target="_blank">http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss</a><br>
Questa e' una lista di discussione pubblica aperta a tutti.<br>
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.<br>
666 iscritti al 22.7.2013<br></blockquote></div></div></div><div><div class="h5"><br><br clear="all"><br>-- <br>-----------------<br>Andrea Peri<br>. . . . . . . . . <br>qwerty àèìòù<br>-----------------<br>
</div></div></div>
<br>_______________________________________________<br>
<a href="mailto:Gfoss@lists.gfoss.it">Gfoss@lists.gfoss.it</a><br>
<a href="http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss" target="_blank">http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss</a><br>
Questa e' una lista di discussione pubblica aperta a tutti.<br>
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.<br>
666 iscritti al 22.7.2013<br></blockquote></div><br></div>