Dal documento PostGIS :
"ST_Affine - Applica una trasformazione affine 3d alla geometria per fare cose come tradurre, ruotare, ridimensionare in un solo passaggio."
Ecco un esempio abbastanza sporco.
Due anni fa l'ho usato per creare una mappa immagine html cliccabile su un'immagine gif fornita da mapserver. La query inviata a PostGIS, crea un buffer semplificato attorno alla geometria nella scala pixel destra e ricalcola poiché la mappa immagine ha origine nell'angolo in alto a sinistra e la proiezione della mappa ha origine ovviamente nell'angolo in basso a sinistra. Quindi ho appena creato la mappa immagine scrivendo la stringa restituita con asp, o se era php.
Ho scavato nella polvere sporca e ho trovato questo:
SELECT gid,
replace(
astext(
st_affine(
ST_SnapToGrid(
st_buffer(
st_transscale(
st_simplify(
(st_dump(the_geom)).geom
, (st_length(the_geom)/50)::integer)
,(-" & minx & "),(-" & miny & "),(500::double precision/" & deltax & "),(500::double precision/" & deltax & "))
,5)
,1,1)
,1,0,0,-1,0,300)
)
,' ',',')
as thetext
from
mytable where gid in (" & theList & ") order by st_length(the_geom);
Non è bello, ma in realtà ha funzionato molto bene e è servito per un po 'di tempo.
/ Nicklas