Turf.jsMeasurement

turf.destination

What is turf.destination?

turf.destination computes the endpoint reached by travelling a given distance on a given bearing (great-circle) from a start Point. It uses the geodesic "direct problem" solution on the WGS84 sphere, so it works globally and in all units Turf supports.

JavaScript
turf.destination(origin, distance, bearing, options?) → Feature<Point>

Options include:

  • units'kilometers' (default), 'meters', 'miles', 'nauticalmiles', 'radians', 'degrees'
  • properties — object assigned to the output point's properties

When would you use turf.destination?

Use turf.destination for any "project a point by distance and bearing" scenario — dropping radar rings around an airport, placing icons at a fixed offset from a marker, generating synthetic geocoding results for tests, or building navigation demos where a vehicle moves on a heading. It is paired often with turf.bearing to round-trip a calculation and with turf.distance to validate outputs.

In server-side code, it is useful for generating point clouds around a seed (e.g. sampling around an event location) or for creating regular grids of bearings for field-of-view analysis.

Code
undefined

FAQs

Is the bearing measured from true north?

Yes. Bearings in turf.destination are measured clockwise from true north, matching turf.bearing output. Use degrees from -180 to 180 or 0 to 360 — both are accepted.

Great circle or rhumb line?

turf.destination follows a great-circle path. For constant-heading (rhumb-line) projection, use turf.rhumbDestination. The difference matters most at long distances and high latitudes.

How do I install just destination?

npm install @turf/destination. It is a small module built on @turf/helpers and @turf/invariant, safe to include on the client side.

Can I compute a circle of points around an origin?

Yes — loop bearings from 0 to 360 calling turf.destination for each, or simply use turf.circle which wraps this pattern with a configurable number of steps and returns a closed polygon.