[Gfoss] R: elaborazione grafo Postgis

feurbano a clix.pt feurbano a clix.pt
Mar 9 Giu 2009 18:00:30 CEST


Una nota "estetica": non dovresti aver bisogno di duplicare la tabella.
puoi fare riferimento alla stessa tebella nella query 2 volte basta che dai due
"alias" differenti.
quindi, a meno di errori, dovrebbe funziare anche come:

CREATE TABLE centroidi2linee AS
SELECT ST_MakeLine (a.the_geom, b.the_geom) AS the_geom, a.nome, a.codcom || 
b.codcom AS codice
FROM centroidi a, centroidi b;
ALTER TABLE centroidi2linee ADD COLUMN count SERIAL PRIMARY KEY;

probabilemnte puoi anche eliminare direttamente le linee che da un punto vanno a
se stesso.
f


--------------

Grazie a tutti per i consigli.
Alla fine ho usato questa soluzione da riga di comando di postgres (ci sono 
arrivato dai suggerimenti sulla matrice distanze).

CREATE TABLE centroidi_bis AS SELECT nome, codcom, the_geom FROM centroidi;
CREATE TABLE centroidi2linee AS
SELECT ST_MakeLine (a.the_geom, b.the_geom) AS the_geom, a.nome, a.codcom || 
b.codcom AS codice
FROM centroidi a, centroidi_bis b;
ALTER TABLE centroidi2linee ADD COLUMN count SERIAL PRIMARY KEY;
DROP TABLE centroidi_bis;

Il campo codcom è il codice istat dei comuni che a me fa comodo concatenare 
per avere un codice univoco per ogni linea che poi collego proprio ad una 
tabella di dati ISTAT da censimento.
La soluzione passa per una duplicazione della tabella che poi viene 
cancellata. Il suo pregio è che lanciata da riga di comando è rapidissima 
(fatta con i 287 comuni della Toscana).

Iacopo

---- 
Área de Clientes Clix – Toda a gestão dos seus serviços online! http://cliente.clix.pt/. 


Maggiori informazioni sulla lista Gfoss