[Gfoss] postgis e query "on the fly"
a.furieri a lqt.it
a.furieri a lqt.it
Gio 20 Gen 2011 14:00:36 CET
On Thu, 20 Jan 2011 12:32:46 +0000 (GMT), Francesco Geri wrote
> Io ero convinto che postgis potesse fare query
> "on the fly" gestendo srid differenti
>
Francesco,
certo che puoi (almeno, in linea di massima).
come dici tu stesso, ST_Transform() serve
proprio per questo.
Ma quando tu dici "on the fly", cosa intendi
dire esattamente ?
cerco di farti un esempio "tera tera"; ammesso
che tbl1.geom abbia SRID=32632 mentre
tbl2.geom abbia SRID=4326
---------------------------
SELECT *
FROM tbl1, tbl2
WHERE ST_Intersects(tbl1.geom, tbl2.geom);
questa sicuramente fallisce, perchè SQL non ha la bacchetta
magica, e non ha nessuna idea che tu intendi applicare
una riproiezione.
------------------------
SELECT *
FROM tbl1, tbl2,
WHERE ST_Intersects(tbl1.geom, ST_Transform(tbl2.geom, 32632));
oppure
SELECT *
FROM tbl1, tbl2,
WHERE ST_Intersects(ST_Transform(tbl1.geom, 4326), tbl2.geom);
invece queste funzioneranno sicuramente,
perchè ora *entrambe* le geometrie appartengono
al medesimo SRID
ma glielo devi spiegare tu a SQL che occorre
applicare una riproiezione :-)
ciao Sandro
Maggiori informazioni sulla lista
Gfoss