Il giorno mar, 22/04/2008 alle 09.43 +0000, Eugenio Trumpy ha scritto:
> Buongiorno,
> purtroppo mi trovo a ripresentare un problemino che avevo qualche giorno fa e 
> che ancora purtroppo non sono riuscito a risolvere.
> Nella bancadati su cui sto lavorando c'è una tabella spaziale e alcune altre 
> semplici di attributi.
> Ho la necessità di creare delle viste tra la tabella "geometrica" e quelle 
> degli attributi.
> La cosa strana è che per quasi tutte le tabelle sono siuscito a creare le 
> viste per poi visualizzarele con qgis, mentre per un paio di tabelle 
> non c'è verso, ottengo sempre il solito messaggio di errore:
> 
> La vista 'public.pozzi_condt'  non ha una colonna utilizzabile come chiave 
> univoca.
> Qgis richiede che la vista abbia una colo nna utilizzabile come chiave 
> univoca. 
> Tale colonna deve derivare da una tabella con una colonna di tipo int4 ed 
> essere una chiave primaria, essere univoca, oppure una colonna di tipo oid 
> PostgreSQL. Inoltre, al fine di avere maggiori performance la colonna 
> dovrebbe essere anche indicizzata.
> La vista selezionata ha queste colonne, nessuna di esse soddisfa le seguenti 
> condizioni:
> .....
> 'key' deriva da 'public.condt.key' e non è utilizzabile (il tipo è int4 e non 
> è utilizzabile come vincolo)
> ....
> 'oid' deriva da 'public.condt.id_condt' e non è utilizzabile (il tipo è int4 
> e non è utilizzabile come vincolo)
> 'the_geom' deriva da 'public.pozzi_corr_news.the_geom' e non è utilizzabile 
> (il tipo è geometry e non è utilizzabile come vincolo)
> successivamente:
> "public"."pozzi_condt" (the_geom) sql=GeometryType("the_geom") IN 
> ('POINT','MULTIPOINT') è un layer non valido e non può essere caricato.
> 
> riassumendo:
> key è la chiave primaria della tabella spaziale, serve a legare la stessa con 
> tutte le tabelle attrributi,
> oid invece è la chiave primaria delle varie tabelle attributi. La procedura 
> che ho usato è stata identica per tutte le viste che ho creato.
> Ho aggiunto, perchè non era presente, un oid tramite phppgadmin alle tab 
> attributi, (ho notato però che con phppgadmin questo campo nuovo non viene 
> visualizzato mentre con 
> pgadmin si, e risulta perfettamente numerato con valori univoci), 
> successivamente sempre con phppgadmin creo la vista utilizzando le 2 tabelle 
> d'interesse (spaziale e non, selezionando il campo the_geom dalla prima),
> e tutto sembra a posto, ma se visualizzo la vista con phppgadmin la tabella è 
> formattata male, nel senso che c'è un campo senza intestazione...non so se è 
> regolare...???...
> con pgadmin ho tutte le intestazioni corrette compreso l'oid. Osservando bene 
> quel campo, vedo che:
> non c'è una numerazione completa degli oid, cosa che dovrebbe essere e in più 
> un record è ripetuto 2 volte, infatti non essendo più univoco il campo non mi 
> si visualizza tale vista 
> in qgis.
> Ho provato anche a reimportare la tabella e a rifare la vista  molte volte...
> 
> Qualcuno ha suggerimenti?
> 

Scusa se aggiungi una colonna nella vista o nella tabella con una chiave
primaria univoca e seriale tipo ALTER TABLE nometabella ADD COLUMN
ID_key serial; ALTER TABLE nometabella ADD primary key (ID_KEY).

Non so se è un procedimento corretto però il risultato dovrebbe
concederti di visualizzare la vista in qgis.

> 
> Eugenio

Luca


_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[email protected]
http://www.faunalia.com/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.

Rispondere a