[Gfoss] Postgres view: creare unique key nella query

PJ Hooker lima.cityplanner a gmail.com
Gio 16 Feb 2012 10:03:45 CET


Buongiorno, 

quando creo delle view in Postgres, da caricare in QGis come delle normali
geometrie, devo sempre creare una unique key e ho sempre risolto (visto che
di solito ho sempre una sola geometria di riferimento), facendo (a.gid) as
gid o min(a.gid) as gid.

Non ho mai fatto fino ad ora però l'operazione di union (a quanto pare non
ST_Union) tra due geometrie, dove ognuna delle 2 geometrie viene tagliata
dall'altra, nel caso si sovrappone in modo diverso. Così dopo aver scoperto
che avrei dovuto fare una serie di ST_Union, ST_Intersects, ST_Overlaps... e
JOIN, con un risultato preciso e decisamente veloce nell'esecuzione, rimane
il fatto che non ho una sola geometria da prendere il GID!!!

Ho trovato che è possibile fare una funzione, ma probabilmente non ho capito
come funziona e quindi speravo si potesse inserire nella stringa sql una
cosa di questo genere:

SELECT gid integer NOT NULL DEFAULT
nextval('pg_catastali_wgs_gid_seq'::regclass), ...

Soluzioni a riguardo?

grazie.

allego la query solo per capire di cosa sto parlando:

    $strsql2a="
    SELECT scen2c, txtmemo,ST_Union(the_geom)
    FROM
    (
    SELECT p.gid as gid, scen2c, txtmemo,
    ST_Intersection(b.the_geom, p.the_geom) As the_geom
    FROM pg_destinazioni b INNER JOIN pg_catastali p 
    ON ST_Intersects(b.the_geom, p.the_geom)
    WHERE ST_Overlaps(b.the_geom, p.the_geom)
    ) as foo
    WHERE gid = $q2A
    GROUP BY scen2c, txtmemo, gid
    ORDER BY txtmemo
    ";

-----




il boom dei dati geografici è in corso, aspettiamoci quello delle informazioni spaziali #Local Intelligent Marketing# 




--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Postgres-view-creare-unique-key-nella-query-tp7290405p7290405.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.


Maggiori informazioni sulla lista Gfoss