[Gfoss] Ordine di visualizzazione dei poligoni con postgis

Andrea Aime aaime a openplans.org
Gio 10 Gen 2008 14:25:34 CET


mando ha scritto:
> 
> 
> Emilia Venturato wrote:
>>
>> Oppure tenerli nella stessa tabella di postgis ma selezionarli
>> differentemente in qgis.
>> Per esempio tirando su lo strato due volte mettendo nel query_log la
>> clausola layer=muro una volta e layer=pavimento la seconda.
>> Se il problema e' solo nell'ordine di visualizzazione dei due strati
>> questo potrebbe risolvere.
>> ciao
>>
> Si questo è verissimo, ma pensa quando hai 30 pavimenti e 50 muri, diventa
> un po' scomodo!
> 
> In più il problema è che volevo farlo in QGIS. Nel mio ultimo post facevo
> notare che se si cambia il numero alla pk della tabella, anche l'ordine di
> visualizzazione dei poligoni cambia. Secondo te, come si può fare una query
> di update che modifichi la numerazione delle pk senza fare troppi giri.

Hum, qualcosa mi è venuto in mente. Aggiungi un campo "layer"
alla tabella, deve essere not null e indicizzato. Poi usi il comando
CLUSTER, che riordina il contenuto della tabella lungo i valori 
dell'indice.
CLUSTER serve per velocizzare le query effettuate su un certo campo,
ma probabilmente riesci ad abusarne per ottenere un certo ordine
di visualizzazione.
Oh, CLUSTER è un comando "one time" in Postgres, ovvero la tabella
non viene tenuta in ordine, devi rilanciare cluster tutte le volte
che, dopo aver fatto delle modifiche, vuoi imporre di nuovo l'ordine
lungo l'indice.
http://www.postgresql.org/docs/8.1/static/sql-cluster.html

Ciao
Andrea



Maggiori informazioni sulla lista Gfoss