 # How to verify if point of coordinates is inside polygon [Javascript]

These days I had to implement a new feature working for RideSplash. Because we handle a lot of requests that involve geolocation operations I had to add a new functionality that on MongoDB responds in 3s. After implementing this logic on the server with the code attached bellow, the response time was ~300ms

``````
/**
* Verify if point of coordinates (longitude, latitude) is polygon of coordinates
* https://github.com/substack/point-in-polygon/blob/master/index.js
* @param {number} latitude Latitude
* @param {number} longitude Longitude
* @param {array<[number,number]>} polygon Polygon contains arrays of points. One array have the following format: [latitude,longitude]
*/
export function isPointInPolygon (latitude, longitude, polygon) {
if (typeof latitude !== 'number' || typeof longitude !== 'number') {
throw new TypeError('Invalid latitude or longitude. Numbers are expected')
} else if (!polygon || !Array.isArray(polygon)) {
throw new TypeError('Invalid polygon. Array with locations expected')
} else if (polygon.length === 0) {
throw new TypeError('Invalid polygon. Non-empty Array expected')
}

const x = latitude; const y = longitude

let inside = false
for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
const xi = polygon[i]; const yi = polygon[i]
const xj = polygon[j]; const yj = polygon[j]

const intersect = ((yi > y) !== (yj > y)) &&
(x < (xj - xi) * (y - yi) / (yj - yi) + xi)
if (intersect) inside = !inside
}

return inside
};
``````