index.d.cts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { GeoJsonProperties, Feature, Point } from 'geojson';
  2. import { Coord, Units } from '@turf/helpers';
  3. /**
  4. * Takes a {@link Point} and calculates the location of a destination point given a distance in
  5. * degrees, radians, miles, or kilometers; and bearing in degrees.
  6. * This uses the [Haversine formula](http://en.wikipedia.org/wiki/Haversine_formula) to account for global curvature.
  7. *
  8. * @function
  9. * @param {Coord} origin starting point
  10. * @param {number} distance distance from the origin point
  11. * @param {number} bearing ranging from -180 to 180
  12. * @param {Object} [options={}] Optional parameters
  13. * @param {string} [options.units='kilometers'] miles, kilometers, degrees, or radians
  14. * @param {Object} [options.properties={}] Translate properties to Point
  15. * @returns {Feature<Point>} destination point
  16. * @example
  17. * var point = turf.point([-75.343, 39.984]);
  18. * var distance = 50;
  19. * var bearing = 90;
  20. * var options = {units: 'miles'};
  21. *
  22. * var destination = turf.destination(point, distance, bearing, options);
  23. *
  24. * //addToMap
  25. * var addToMap = [point, destination]
  26. * destination.properties['marker-color'] = '#f00';
  27. * point.properties['marker-color'] = '#0f0';
  28. */
  29. declare function destination<P extends GeoJsonProperties = GeoJsonProperties>(origin: Coord, distance: number, bearing: number, options?: {
  30. units?: Units;
  31. properties?: P;
  32. }): Feature<Point, P>;
  33. export { destination as default, destination };