Từ tài liệu PostGIS :
"ST_Affine - Áp dụng chuyển đổi affine 3d vào hình học để thực hiện những việc như dịch, xoay, chia tỷ lệ trong một bước."
Đây là một ví dụ khá bẩn.
Hai năm trước tôi đã sử dụng nó để xây dựng bản đồ hình ảnh html có thể nhấp trên hình ảnh gif được phân phối từ máy chủ maps. Truy vấn được gửi tới PostGIS, tạo một bộ đệm đơn giản xung quanh hình học theo pixel pixel bên phải và tính toán lại vì bản đồ hình ảnh có nguồn gốc ở góc trên bên trái và hình chiếu của bản đồ có nguồn gốc dĩ nhiên ở góc dưới bên trái. Sau đó, tôi chỉ tạo bản đồ hình ảnh bằng cách viết chuỗi trả về bằng asp hoặc nếu đó là php.
Tôi đào trong bụi bẩn và tìm thấy thứ này:
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);
Không đẹp, nhưng nó thực sự hoạt động rất tốt và phục vụ trong một thời gian.
/ Nicklas