[Gfoss] Ancora problemi con oid postgis

Luca Delucchi lucadeluge a gmail.com
Mar 22 Apr 2008 12:01:13 CEST


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




Maggiori informazioni sulla lista Gfoss