Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
@mapbox/point-geometry
Advanced tools
@mapbox/point-geometry is a lightweight library for handling 2D point geometry. It provides a simple API for creating and manipulating points, performing geometric operations, and calculating distances and angles between points.
Creating Points
This feature allows you to create a new point with x and y coordinates. The code sample demonstrates how to create a point at coordinates (10, 20).
const Point = require('@mapbox/point-geometry');
const point = new Point(10, 20);
console.log(point);
Adding Points
This feature allows you to add two points together. The code sample demonstrates how to add point1 (10, 20) and point2 (5, 5) to get a new point (15, 25).
const Point = require('@mapbox/point-geometry');
const point1 = new Point(10, 20);
const point2 = new Point(5, 5);
const result = point1.add(point2);
console.log(result);
Subtracting Points
This feature allows you to subtract one point from another. The code sample demonstrates how to subtract point2 (5, 5) from point1 (10, 20) to get a new point (5, 15).
const Point = require('@mapbox/point-geometry');
const point1 = new Point(10, 20);
const point2 = new Point(5, 5);
const result = point1.sub(point2);
console.log(result);
Calculating Distance
This feature allows you to calculate the Euclidean distance between two points. The code sample demonstrates how to calculate the distance between point1 (10, 20) and point2 (13, 24).
const Point = require('@mapbox/point-geometry');
const point1 = new Point(10, 20);
const point2 = new Point(13, 24);
const distance = point1.dist(point2);
console.log(distance);
Rotating Points
This feature allows you to rotate a point around the origin by a given angle. The code sample demonstrates how to rotate a point (10, 20) by 45 degrees.
const Point = require('@mapbox/point-geometry');
const point = new Point(10, 20);
const angle = Math.PI / 4; // 45 degrees in radians
const rotatedPoint = point.rotate(angle);
console.log(rotatedPoint);
point-cluster is a library for clustering points on a 2D plane. It provides functionality for grouping points that are close to each other. Unlike @mapbox/point-geometry, which focuses on individual point operations, point-cluster is more about managing collections of points.
point-in-polygon is a library for checking if a point is inside a polygon. It provides a simple API for performing point-in-polygon tests. While @mapbox/point-geometry focuses on point operations, point-in-polygon is specialized for spatial queries involving polygons.
turf is a comprehensive geospatial analysis library that includes a wide range of functions for handling points, lines, and polygons. It offers more advanced geospatial operations compared to @mapbox/point-geometry, which is more lightweight and focused on basic point geometry.
A Point
class for representing point geometry with useful utility methods.
$ npm install @mapbox/point-geometry
A standalone point geometry with useful accessor, comparison, and modification methods.
x
number the x-coordinate. This could be longitude or screen pixels, or any other sort of unit.y
number the y-coordinate. This could be latitude or screen pixels, or any other sort of unit.const point = new Point(-77, 38);
Clone this point, returning a new point that can be modified without affecting the old one.
Returns Point the clone
Add this point's x & y coordinates to another point, yielding a new point.
p
Point the other pointReturns Point output point
Subtract this point's x & y coordinates to from point, yielding a new point.
p
Point the other pointReturns Point output point
Multiply this point's x & y coordinates by point, yielding a new point.
p
Point the other pointReturns Point output point
Divide this point's x & y coordinates by point, yielding a new point.
p
Point the other pointReturns Point output point
Multiply this point's x & y coordinates by a factor, yielding a new point.
k
number factorReturns Point output point
Divide this point's x & y coordinates by a factor, yielding a new point.
k
number factorReturns Point output point
Rotate this point around the 0, 0 origin by an angle a, given in radians
a
number angle to rotate around, in radiansReturns Point output point
Rotate this point around p point by an angle a, given in radians
Returns Point output point
Multiply this point by a 4x1 transformation matrix
Returns Point output point
Calculate this point but as a unit vector from 0, 0, meaning that the distance from the resulting point to the 0, 0 coordinate will be equal to 1 and the angle from the resulting point to the 0, 0 coordinate will be the same as before.
Returns Point unit vector point
Compute a perpendicular point, where the new y coordinate is the old x coordinate and the new x coordinate is the old y coordinate multiplied by -1
Returns Point perpendicular point
Return a version of this point with the x & y coordinates rounded to integers.
Returns Point rounded point
Return the magnitude of this point: this is the Euclidean distance from the 0, 0 coordinate to this point's x and y coordinates.
Returns number magnitude
Judge whether this point is equal to another point, returning true or false.
other
Point the other pointReturns boolean whether the points are equal
Calculate the distance from this point to another point
p
Point the other pointReturns number distance
Calculate the distance from this point to another point, without the square root step. Useful if you're comparing relative distances.
p
Point the other pointReturns number distance
Get the angle from the 0, 0 coordinate to this point, in radians coordinates.
Returns number angle
Get the angle from this point to another point, in radians
b
Point the other pointReturns number angle
Get the angle between this point and another point, in radians
b
Point the other pointReturns number angle
Find the angle of the two vectors, solving the formula for the cross product a x b = |a||b|sin(θ) for θ.
Returns number the angle in radians
Construct a point from an array if necessary, otherwise if the input is already a Point, or an unknown type, return it unchanged
// this
var point = Point.convert([0, 1]);
// is equivalent to
var point = new Point(0, 1);
Returns Point constructed point, or passed-through value.
FAQs
a point geometry with transforms
The npm package @mapbox/point-geometry receives a total of 1,319,908 weekly downloads. As such, @mapbox/point-geometry popularity was classified as popular.
We found that @mapbox/point-geometry demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 28 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.