D'après le document PostGIS :
"ST_Affine - Applique une transformation affine 3D à la géométrie pour effectuer des tâches telles que traduire, faire pivoter, mettre à l'échelle en une seule étape."
Voici un exemple assez sale.
Il y a deux ans, je l'ai utilisé pour créer une carte d'image HTML cliquable sur une image gif fournie par mapserver. La requête envoyée à PostGIS crée un tampon simplifié autour de la géométrie dans l'échelle de pixels de droite et recalcule puisque l'image de la carte a son origine dans le coin supérieur gauche et la projection de la carte a son origine bien sûr dans le coin inférieur gauche. Ensuite, je viens de créer l'image-map en écrivant la chaîne retournée avec asp, ou si c'était php.
J'ai creusé dans la poussière sale et j'ai trouvé ceci:
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);
Pas beau, mais ça a très bien fonctionné et servi pendant un certain temps.
/ Nicklas