MEASUREMENT
COORDINATE MUTATION
TRANSFORMATION
FEATURE_CONVERSION
MISC
HELPER
RANDOM
GRIDS
AGGREGATION
META
ASSERTIONS
BOOLEANS
UNIT CONVERSION
DATA
JOINS
CLASSIFICATION

transformRotate

transformRotate 函数用于将给定点数组绕指定点旋转指定角度。

参数

  • geojson (GeoJSON): 包含要旋转的点的几何对象。
  • angle (number): 旋转角度,单位为度数,正的表示逆时针旋转,负的表示顺时针旋转。
  • pivot (Array<number>): 代表旋转中心的点坐标,默认为 [0, 0]

返回值

  • (GeoJSON): 经过旋转后的几何对象。

示例

var point = turf.point([0, 0]);
var pivot = [-10, 0];
var angle = 45;
var rotated = turf.transformRotate(point, angle, {pivot: pivot});

//=rotated

异常

  • geojson 不是有效的几何对象时,会抛出异常 "Invalid GeoJSON object".
  • angle 无效时,会抛出异常 "Invalid angle value".

限制

  • 目前仅支持旋转点和多点几何对象。不支持旋转线、面等其他几何类型的对象。
  • 由于使用三角函数进行计算,对于角度 $\geqslant 90$ ,可能出现计算不准确的情况。建议将所选的旋转角度限制在 $[-90, 90]$ 范围内。

注意事项

  • 返回的几何对象与输入对象是一个新的 GeoJSON 对象,不会改变原有的输入对象。
  • 如果需要修改原有的对象,需要手动进行赋值操作。