Dari dokumen PostGIS :
"ST_Affine - Menerapkan transformasi affine 3d ke geometri untuk melakukan hal-hal seperti menerjemahkan, memutar, skala dalam satu langkah."
Inilah contoh yang cukup kotor.
Dua tahun lalu saya menggunakannya untuk membangun peta gambar html yang dapat diklik pada gambar gif yang dikirim dari mapserver. Kueri yang dikirim ke PostGIS, membuat penyangga yang disederhanakan di sekitar geometri di skala piksel kanan dan menghitung ulang karena peta gambar berasal dari sudut kiri atas dan proyeksi peta memiliki asal-usulnya tentu saja di sudut kiri bawah. Lalu saya baru saja membuat gambar-peta dengan menulis string yang dikembalikan dengan asp, atau jika itu adalah php.
Saya menggali debu kotor dan menemukan ini:
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);
Tidak cantik, tetapi sebenarnya bekerja sangat baik dan berfungsi untuk beberapa waktu.
/ Nicklas