export function translateFromCenter()

in modules/edit-modes/src/translateFromCenter.ts [15:48]


export function translateFromCenter(
  feature: TurfFeature<TurfGeometry>,
  distance: number,
  direction: number
) {
  const initialCenterPoint = turfCenter(feature as TurfFeature);

  const movedCenterPoint = turfRhumbDestination(initialCenterPoint, distance, direction);

  const movedCoordinates = mapCoords(
    feature.geometry.coordinates as AnyCoordinates,
    (coordinate) => {
      const distance = turfRhumbDistance(
        initialCenterPoint.geometry.coordinates,
        coordinate as TurfPosition
      );
      const direction = turfRhumbBearing(
        initialCenterPoint.geometry.coordinates,
        coordinate as TurfPosition
      );

      const movedPosition = turfRhumbDestination(
        movedCenterPoint.geometry.coordinates,
        distance,
        direction
      ).geometry.coordinates;
      return movedPosition as Position;
    }
  );

  feature.geometry.coordinates = movedCoordinates;

  return feature;
}