index.js 975 B

12345678910111213141516171819202122232425262728293031
  1. import bearing from '@turf/bearing';
  2. import destination from '@turf/destination';
  3. import distance from '@turf/distance';
  4. /**
  5. * Takes two {@link Point|points} and returns a point midway between them.
  6. * The midpoint is calculated geodesically, meaning the curvature of the earth is taken into account.
  7. *
  8. * @name midpoint
  9. * @param {Coord} point1 first point
  10. * @param {Coord} point2 second point
  11. * @returns {Feature<Point>} a point midway between `pt1` and `pt2`
  12. * @example
  13. * var point1 = turf.point([144.834823, -37.771257]);
  14. * var point2 = turf.point([145.14244, -37.830937]);
  15. *
  16. * var midpoint = turf.midpoint(point1, point2);
  17. *
  18. * //addToMap
  19. * var addToMap = [point1, point2, midpoint];
  20. * midpoint.properties['marker-color'] = '#f00';
  21. */
  22. function midpoint(point1, point2) {
  23. var dist = distance(point1, point2);
  24. var heading = bearing(point1, point2);
  25. var midpoint = destination(point1, dist / 2, heading);
  26. return midpoint;
  27. }
  28. export default midpoint;