index.js 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. // index.ts
  2. import {
  3. degreesToRadians,
  4. lengthToRadians,
  5. point,
  6. radiansToDegrees
  7. } from "@turf/helpers";
  8. import { getCoord } from "@turf/invariant";
  9. function destination(origin, distance, bearing, options = {}) {
  10. const coordinates1 = getCoord(origin);
  11. const longitude1 = degreesToRadians(coordinates1[0]);
  12. const latitude1 = degreesToRadians(coordinates1[1]);
  13. const bearingRad = degreesToRadians(bearing);
  14. const radians = lengthToRadians(distance, options.units);
  15. const latitude2 = Math.asin(
  16. Math.sin(latitude1) * Math.cos(radians) + Math.cos(latitude1) * Math.sin(radians) * Math.cos(bearingRad)
  17. );
  18. const longitude2 = longitude1 + Math.atan2(
  19. Math.sin(bearingRad) * Math.sin(radians) * Math.cos(latitude1),
  20. Math.cos(radians) - Math.sin(latitude1) * Math.sin(latitude2)
  21. );
  22. const lng = radiansToDegrees(longitude2);
  23. const lat = radiansToDegrees(latitude2);
  24. return point([lng, lat], options.properties);
  25. }
  26. var turf_destination_default = destination;
  27. export {
  28. turf_destination_default as default,
  29. destination
  30. };
  31. //# sourceMappingURL=index.js.map