Del documento de PostGIS :
"ST_Affine: aplica una transformación afín 3D a la geometría para hacer cosas como traducir, rotar, escalar en un solo paso".
Aquí viene un ejemplo bastante sucio.
Hace dos años lo usé para construir un mapa de imagen html en el que se puede hacer clic en una imagen gif entregada desde el servidor de mapas. La consulta enviada a PostGIS crea un búfer simplificado alrededor de la geometría en la escala de píxeles derecha y vuelve a calcular ya que el mapa de la imagen tiene su origen en la esquina superior izquierda y la proyección del mapa tiene su origen, por supuesto, en la esquina inferior izquierda. Luego, acabo de crear el mapa de imagen escribiendo la cadena devuelta con asp, o si era php.
Excavé el polvo sucio y encontré esto:
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);
No es hermoso, pero en realidad funcionó muy bien y sirvió durante algún tiempo.
/ Nicklas