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.