经纬志
首页 / OpenLayers / 使用示例

仿射参数与图像旋转

两个滑块对应仿射矩阵的 A、B 分量,图像按 atan2(B, A) 旋转、按向量长度缩放,同时画出变换后的覆盖范围。

OpenLayers 10.3.1 · 对应官方 cog-modeltransformation.html · 更新 2026-10-27
源码与运行效果
运行效果

说明

GeoTIFF 的地理变换是一组仿射参数:x = A·i + B·j + C, y = D·i + E·j + F。示例只暴露 A 与 B, 并让 D = −B、E = A,于是矩阵变成「旋转 + 等比缩放」: 旋转角是 atan2(B, A),缩放是向量长度。

图标用 ol.style.Icon 的 rotation 与 scale 复现这两个量;虚线框则把单位方格的四角做同样的矩阵运算,直观看到图像覆盖到哪一片经纬度。

操作结果
拖动「横向缩放 A」图像放大或缩小,虚线框同步变化
拖动「错切 B」图像旋转,覆盖范围跟着转
B 为负值旋转方向反过来,角度为负

完整的仿射矩阵含六个参数,还存在错切;只做旋转与缩放时可以用 atan2 与模长简化计算。