What is @turf/rhumb-destination?
@turf/rhumb-destination is a module from the Turf.js library that allows you to calculate the destination point given a starting point, distance, and bearing using rhumb lines. Rhumb lines are paths of constant bearing, which are useful for navigation and mapping applications.
What are @turf/rhumb-destination's main functionalities?
Calculate Rhumb Line Destination
This feature allows you to calculate the destination point from a given starting point, distance, and bearing using rhumb lines. The code sample demonstrates how to use the `rhumbDestination` function to find a point 50 kilometers east of the starting point.
const turf = require('@turf/turf');
const start = turf.point([-75.343, 39.984]);
const distance = 50;
const bearing = 90;
const units = 'kilometers';
const destination = turf.rhumbDestination(start, distance, bearing, {units: units});
console.log(destination);
Other packages similar to @turf/rhumb-destination
geolib
Geolib is a library for geospatial calculations. It provides functions for distance calculations, finding the center of a collection of points, and more. Unlike @turf/rhumb-destination, Geolib does not specifically focus on rhumb lines but offers a broader range of geospatial utilities.
geodesy
Geodesy is a library for geodesic calculations. It includes functions for calculating distances, bearings, and destinations on the Earth's surface. While it provides more general geodesic calculations, it does not specifically focus on rhumb lines like @turf/rhumb-destination.
spherical-geometry-js
Spherical Geometry is a library for performing spherical geometry calculations, including distance and area calculations on the Earth's surface. It focuses on spherical rather than rhumb line calculations, making it different from @turf/rhumb-destination.
@turf/rhumb-destination
rhumbDestination
Returns the destination Point having travelled the given distance along a Rhumb line from the
origin Point with the (constant) given bearing.
Parameters
origin
(Geometry | Feature<Point> | Array<number>) starting pointdistance
number distance from the starting pointbearing
number constant bearing angle ranging from -180 to 180 degrees from northunits
[string] miles, kilometers, degrees, or radians (optional, default kilometers
)
Examples
var point = turf.point([-75.343, 39.984], {"marker-color": "F00"});
var distance = 50;
var bearing = 90;
var units = 'miles';
var destination = turf.rhumbDestination(point, distance, bearing, units);
var addToMap = [point, destination]
destination.properties['marker-color'] = '#00F';
Returns Feature<Point> Destination point.
This module is part of the Turfjs project, an open source
module collection dedicated to geographic algorithms. It is maintained in the
Turfjs/turf repository, where you can create
PRs and issues.
Installation
Install this module individually:
$ npm install @turf/rhumb-destination
Or install the Turf module that includes it as a function:
$ npm install @turf/turf
4.7.0
🚀 New Modules
[@turf/projection
][projection]
- toMercator: Converts a WGS84 GeoJSON object into Mercator (EPSG:900913) projection
- toWgs84: Converts a Mercator (EPSG:900913) GeoJSON object into WGS84 projection
(PR https://github.com/Turfjs/turf/pull/927 - Author @stebogit)
[@turf/point-to-line-distance
][point-to-line-distance]
Returns the minimum distance between a {@link Point} and a {@link LineString}, being the distance from a line the minimum distance between the point and any segment of the LineString
.
(PR https://github.com/Turfjs/turf/pull/925 - Author @stebogit)
[@turf/boolean-within
][boolean-within]
Boolean-within returns true if the first geometry is completely within the second geometry. The interiors of both geometries must intersect and, the interior and boundary of the primary (geometry a) must not intersect the exterior of the secondary (geometry b). Boolean-within returns the exact opposite result of the [@turf/boolean-contains
][boolean-contains].
(PR https://github.com/Turfjs/turf/pull/924 - Author @rowanwins)
🏅 New Features/Enhancements
- Updates [
@turf/unkink-polygon
][unkink-polygon] testing & added flattenEach
instead of using flatten
.
(PR https://github.com/Turfjs/turf/pull/889) - [
@turf/concave
][concave] refactoring, replacing [@turf/union
][union] with geojson-dissolve
to increase speed and added support to null
geometries
(PR https://github.com/Turfjs/turf/pull/907 - Contributor @stebogit @DenisCarriere) - Adds doc note on [
@turf/polygonize
][polygonize] about "Edges must be correctly noded"
(PR https://github.com/Turfjs/turf/pull/898 - Contributor @stebogit @NickCis) - Adds support to foreign Members to [
@turf/clone
][clone]
(PR https://github.com/Turfjs/turf/pull/904 - Contributor @DenisCarriere) - Extends support of any
GeoJSON
to [@turf/simplify
][simplify]
(PR https://github.com/Turfjs/turf/pull/903 - Contributor @DenisCarriere @stebogit) - Adds new
isNumber
function and improves type checking for few [@turf/helpers
][helpers] methods
(PR https://github.com/Turfjs/turf/pull/920 - Contributor @DenisCarriere @stebogit) - Adds throw errors to invalid
MultiPolygons
for [@turf/simplify
][simplify]
(PR https://github.com/Turfjs/turf/pull/922 - Contributor @DenisCarriere)
🐛 Bug Fixes
- Fixes
@turf/bbox-clip
point intersection handling, adding sanity-checks the lineclip output
(PR https://github.com/Turfjs/turf/pull/886) - Fixes [
@turf/line-split
][line-split] endpoint case handling applying [@turf/truncate
][truncate] on splitter
(PR https://github.com/Turfjs/turf/pull/892 and https://github.com/Turfjs/turf/pull/855 - Contributor @stebogit) - Fixes [
@turf/intersect
][intersect] throwing "uncaught exception", adding [@turf/truncate
][truncate] to inputs and returning Feature<null>
if no geometry
(PR https://github.com/Turfjs/turf/pull/890 - Contributor @stebogit @vicvolk) - Fixes [
@turf/hex-grid
][hex-grid] not properly cloning the last ring vertex
(PR https://github.com/Turfjs/turf/pull/897 - Contributor @stebogit @DenisCarriere) - Fixes [
@turf/boolean-disjoint
][boolean-disjoint] incorrect behaviour where a poly was completely contained within another poly
(PR https://github.com/Turfjs/turf/pull/908 - Contributor @rowanwins) - Fixes [
@turf/simplify
][simplify] process pending on particular geometries, applying [@turf/clean-coords
][clean-coords] to input.
(PR https://github.com/Turfjs/turf/pull/903 - Contributor @stebogit @DenisCarriere) - Fixes
boolean
properties not being translated with [@turf/clone
][clone]
(PR https://github.com/Turfjs/turf/pull/909 - Contributor @DenisCarriere) - Fixes [
@turf/boolean-contains
][boolean-contains] incorrect output when checking two polygons
(PR https://github.com/Turfjs/turf/pull/923 - Contributor @rowanwins @DenisCarriere)