[Gfoss] geometry from vista?
Antonio Falciano
afalciano a yahoo.it
Lun 7 Gen 2008 23:20:25 CET
Salvator*eL*arosa ha scritto:
> Salve a tutti e buon anno!
Ciao, auguroni!
> Stavo provando ad interrogare il mio db (Postgresql/Postgis) sia da
> p.mapper, qgis che da sql commander facendo una select su una vista
> anzichè una tabella, ma evidentemente sbaglio qualcosa!!!!
E' proprio necessario? La frequenza di aggiornamento dei tuoi dati è
talmente alta da giustificare l'uso di una vista oppure ci stai provando
per il semplice gusto di farlo? ;) Tieni conto che ad ogni connessione la
vista comporta l'esecuzione della query che la definisce e pertanto è
molto più lenta in lettura di una normale tabella ed, inoltre, non puoi
definire indici per velocizzare le ricerche (idx).
> L'errore che mi dà shp2pgsql è:
>
> sam a debian:~$ shp2img -m /home/sam/www/SISNCMS/config/default/CMS.map -l
> vista_sen -o /home/sam/Desktop/vis.png
> msDrawMap(): Image handling error. Failed to draw layer named 'vista_sen'.
> <br>
> prepare_database(): Query error. Error executing POSTGIS DECLARE (the actual
> query) statement: 'DECLARE mycursor BINARY CURSOR FOR SELECT
> "cod_cai"::text,asbinary(force_collection(force_2d(the_geom)),'NDR'),OID::text
> from public.vista_sen WHERE the_geom && setSRID('BOX3D(2614649.00000002
> 4312948.99999991,2653614.00000012 4351913.99999999)'::BOX3D,
> find_srid('','public.vista_sen','the_geom') )'
>
> Postgresql reports the error as 'ERROR: la colonna "oid" non esiste at
> character 112
> '
>
> More Help:
>
> Error with POSTGIS data variable. You specified 'check your .map file'.
> Standard ways of specifiying are :
> (1) 'geometry_column from geometry_table'
> (2) 'geometry_column from (sub query) as foo using unique column name using
> SRID=srid#'
>
> Make sure you put in the 'using unique column name' and 'using SRID=#'
> clauses in.
>
> For more help, please see http://postgis.refractions.net/documentation/
>
> Mappostgis.c - version of Jan 23/2004.
> <br>
>
> Invece Qgis mi da come errore: sintetizzo io: "non trovo la colonna chiave
> primaria"
>
>
> Sia il primo che il secondo errore di solito mi si presentava
> quando non impostavo una chiave primaria
> oppure quando creavo una tabella con geometrie WITHOUT OIDS!
>
> Quello che gradirei sapere è se la vista di una tabella si
> porta dietro anche le costrizioni (tipo PK ecc) oppure no?...
La vista è una sorta di "tabella virtuale dinamica", definita da una
select su tabelle, e come tale si porta dietro alcuni campi delle tabelle
sorgenti, ma non credo le constraint (smentitemi se sbaglio). Definito
un record opportuno nella tabella geometry_columns del tuo schema
(analogamente a quanto si fa per le tabelle), nella query di definizione
della vista prova a portarti dietro anche un gid o qualcosa di simile
preferibilmente univoco e credo che mapserver, qgis o quant'altro
leggano la vista. In gvSIG ci ho provato in passato (sempre per il gusto
di sperimentare, come te...) e lì non ho avuto problemi. Good luck!
Ciao
Antonio
Maggiori informazioni sulla lista
Gfoss