{"id":13583562,"url":"https://github.com/njj/haversine","last_synced_at":"2025-04-06T21:32:26.114Z","repository":{"id":55863531,"uuid":"7692615","full_name":"njj/haversine","owner":"njj","description":"A simple haversine formula module for Node.js","archived":false,"fork":false,"pushed_at":"2023-08-30T02:31:40.000Z","size":38,"stargazers_count":297,"open_issues_count":1,"forks_count":44,"subscribers_count":5,"default_branch":"develop","last_synced_at":"2024-05-17T09:02:54.360Z","etag":null,"topics":["haversine","haversine-formula","javascript","nodejs"],"latest_commit_sha":null,"homepage":"http://www.npmjs.org/haversine","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/njj.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2013-01-18T19:12:48.000Z","updated_at":"2024-05-15T17:38:12.000Z","dependencies_parsed_at":"2022-08-15T08:00:56.649Z","dependency_job_id":"3f4ae509-d5ae-4aa1-ae64-9eaceb792d1b","html_url":"https://github.com/njj/haversine","commit_stats":{"total_commits":32,"total_committers":12,"mean_commits":"2.6666666666666665","dds":0.40625,"last_synced_commit":"def8e1af29df82d5a18b3eb09962992761e26494"},"previous_names":["niix/haversine"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njj%2Fhaversine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njj%2Fhaversine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njj%2Fhaversine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njj%2Fhaversine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/njj","download_url":"https://codeload.github.com/njj/haversine/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223264861,"owners_count":17116223,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["haversine","haversine-formula","javascript","nodejs"],"created_at":"2024-08-01T15:03:35.473Z","updated_at":"2024-11-06T00:30:26.212Z","avatar_url":"https://github.com/njj.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Haversine\nA simple haversine formula module for Node.js\n\n## Installation\n`$ npm install haversine`\n\n## Usage\n### haversine (start, end, options)\n\n    const haversine = require('haversine')\n\n    const start = {\n      latitude: 30.849635,\n      longitude: -83.24559\n    }\n\n    const end = {\n      latitude: 27.950575,\n      longitude: -82.457178\n    }\n\n    console.log(haversine(start, end))\n    console.log(haversine(start, end, {unit: 'mile'}))\n    console.log(haversine(start, end, {unit: 'meter'}))\n    console.log(haversine(start, end, {threshold: 1}))\n    console.log(haversine(start, end, {threshold: 1, unit: 'mile'}))\n    console.log(haversine(start, end, {threshold: 1, unit: 'meter'}))\n\n\n#### api\n- `options.unit` - Unit of measurement applied to result (default `km`, available `km, mile, meter, nmi`)\n- `options.threshold` - If passed, will result in library returning `boolean` value of whether or not the start and end points are within that supplied threshold.  (default `null`)\n- `options.format` - The format of start and end coordinate arguments. See table below for available values. (default `null`)\n\n| Format        | Example\n| ------------- |--------------------------|\n| `undefined` (default) | `{ latitude: 30.849635, longitude: -83.24559 }`\n| `[lat,lon]`   | `[30.849635, -83.24559]`\n| `[lon,lat]`   | `[-83.24559, 30.849635]`\n| `{lon,lat}`   | `{ lat: 30.849635, lon: -83.24559 }`\n| `{lat,lng}`   | `{ lat: 30.849635, lng: -83.24559 }`\n| `geojson`     | `{ type: 'Feature', geometry: { coordinates: [-83.24559, 30.849635] } }`\n\n\n[MIT License](http://opensource.org/licenses/MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnjj%2Fhaversine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnjj%2Fhaversine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnjj%2Fhaversine/lists"}