จากPostGIS doc :
"ST_Affine - ใช้การแปลงเลียนแบบ 3 มิติเป็นรูปทรงเรขาคณิตเพื่อทำสิ่งต่าง ๆ เช่นแปลหมุนหมุนปรับขนาดในขั้นตอนเดียว"
นี่เป็นตัวอย่างที่ค่อนข้างสกปรก
สองปีที่ผ่านมาฉันใช้มันเพื่อสร้างแผนที่ภาพ html ที่สามารถคลิกได้บนภาพ gif- ส่งจาก mapserver แบบสอบถามที่ส่งไปยัง PostGIS ทำให้บัฟเฟอร์แบบง่ายรอบเรขาคณิตในพิกเซลที่ถูกต้องและคำนวณใหม่เนื่องจากแผนที่รูปภาพมีต้นกำเนิดที่มุมซ้ายบนและการฉายแผนที่มีต้นกำเนิดที่มุมซ้ายล่าง จากนั้นฉันก็สร้างแผนที่ภาพโดยการเขียนสตริงที่ส่งคืนด้วย asp หรือถ้าเป็น php
ฉันขุดในฝุ่นสกปรกและพบสิ่งนี้:
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);
ไม่สวย แต่จริง ๆ แล้วมันทำงานได้ดีมากและให้บริการบางครั้ง
/ Nicklas