index.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. 'use strict';
  2. var bearing = require('@turf/bearing');
  3. var destination = require('@turf/destination');
  4. var distance = require('@turf/distance');
  5. function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
  6. var bearing__default = /*#__PURE__*/_interopDefaultLegacy(bearing);
  7. var destination__default = /*#__PURE__*/_interopDefaultLegacy(destination);
  8. var distance__default = /*#__PURE__*/_interopDefaultLegacy(distance);
  9. /**
  10. * Takes two {@link Point|points} and returns a point midway between them.
  11. * The midpoint is calculated geodesically, meaning the curvature of the earth is taken into account.
  12. *
  13. * @name midpoint
  14. * @param {Coord} point1 first point
  15. * @param {Coord} point2 second point
  16. * @returns {Feature<Point>} a point midway between `pt1` and `pt2`
  17. * @example
  18. * var point1 = turf.point([144.834823, -37.771257]);
  19. * var point2 = turf.point([145.14244, -37.830937]);
  20. *
  21. * var midpoint = turf.midpoint(point1, point2);
  22. *
  23. * //addToMap
  24. * var addToMap = [point1, point2, midpoint];
  25. * midpoint.properties['marker-color'] = '#f00';
  26. */
  27. function midpoint(point1, point2) {
  28. var dist = distance__default['default'](point1, point2);
  29. var heading = bearing__default['default'](point1, point2);
  30. var midpoint = destination__default['default'](point1, dist / 2, heading);
  31. return midpoint;
  32. }
  33. module.exports = midpoint;
  34. module.exports.default = midpoint;