{"id":20760335,"url":"https://github.com/vanng822/gps-util","last_synced_at":"2025-11-08T23:02:45.812Z","repository":{"id":7344574,"uuid":"8667992","full_name":"vanng822/gps-util","owner":"vanng822","description":"GPS related functionalities for nodejs","archived":false,"fork":false,"pushed_at":"2017-06-06T04:49:09.000Z","size":154,"stargazers_count":33,"open_issues_count":0,"forks_count":14,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-30T05:47:46.706Z","etag":null,"topics":["gps","gps-data","gps-position"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vanng822.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-03-09T09:59:54.000Z","updated_at":"2024-01-08T15:34:56.000Z","dependencies_parsed_at":"2022-08-31T22:11:09.712Z","dependency_job_id":null,"html_url":"https://github.com/vanng822/gps-util","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanng822%2Fgps-util","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanng822%2Fgps-util/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanng822%2Fgps-util/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanng822%2Fgps-util/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vanng822","download_url":"https://codeload.github.com/vanng822/gps-util/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251651221,"owners_count":21621702,"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":["gps","gps-data","gps-position"],"created_at":"2024-11-17T10:13:12.725Z","updated_at":"2025-10-17T07:02:16.807Z","avatar_url":"https://github.com/vanng822.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"gps-util\n========\n\nGPS related functionalities. For getting and deleting gps info on an image one need to install exiftool.\n\nhttp://www.sno.phy.queensu.ca/~phil/exiftool/index.html\n\nMake sure exiftool is executable. if you have to install it manually on linux you can try ./scripts/install_exiftool.sh\n\n## Functions\n\n### getDistance(lng1, lat1, lng2, lat2)\n\nCalculate distance of 2 given points\n\n* `lng1` longitude of point 1 in decimal degrees\n* `lat1` latitude of point 1 in decimal degrees\n* `lng2` longitude of point 2 in decimal degrees\n* `lat2` latitude of point 2 in decimal degrees\n\n### getTotalDistance(points)\n\nCalculate total distance of a serial of points\n\n* `points` array of point, example\n\n\t[{lat: 59.19288511388004,\n\tlng: 17.66255029477179\n\t},{\n\tlat: 59.19290036894381,\n\tlng: 17.662896132096648\n\t}]\n\n### getBoundingBox(lat, lng, distance)\n* `lat` latitude of the center, in decimal degrees.\n* `lng` longitude of the center, in decimal degrees.\n* `distance` radius that spans the bounding box, in meters.\n\nreturn an array containing 2 points that represent the bounding box.\n\n### getMidPoint(points)\n* `points` list of coordinate, each point with properties lat and lng\n\nreturn Object/point with lat and lng\n\n### toDMS(decDegrees)\nConvert decimal degrees to degrees, minutes and seconds (return an object)\n\n### getDMSLatitude(decDegrees)\nReturn a string representation in DMS format, ie 59° 19' 59.88\" N\n\n### getDMSLongitude(decDegrees)\nReturn a string representation in DMS format, ie 18° 3' 0\" E\n\n### toDD(degrees, minutes, seconds)\nConvert to decimal degrees\n\n### gpxParse(data, callback)\n* `data` xml string of gpx format\n* `callback` function which take 2 arguments, error and result\n\n### gpxParseFile(filename, callback)\n* `filename` file to parse the data in of gpx format\n* `callback` function which take 2 arguments, error and result\n\n### gpxParseURL(url, callback)\n* `url` where the gpx data is located\n* `callback` function(error, result)\n\n### toGPX(trackingResult, callback, name)\n* `trackingResult`\n* `callback` function(error, result)\n* `name` the name you want to call for this gpx document\n\n### toKml(points, callback)\n* `points` Track points for instance returned value from gpxParse or tcxParse\n* `callback` function(error, result)\n\n### tcxParse(data, callback)\n* `data` xml string of tcx format\n* `callback` function which take 2 arguments, error and result\n\n### tcxParseFile(filename, callback)\n* `filename` file to parse the data in of tcx format\n* `callback` function which take 2 arguments, error and result\n\n### tcxParseURL(url, callback)\n* `url` where the tcx data is located\n* `callback` function(error, result)\n\n### calculateFromGPX(points, callback, fromIndex, toIndex)\n* `points` Track points for instance returned value from gpxParse\n* `callback` function(error, result) result is a TrackingResult (see calc.js for details)\n* `fromIndex` Integer from 0\n* `toIndex` Integer from 1\n\n### imageGpsInfo(image, callback)\n* `image` path to image to get GPS info\n* `callback` function(error, result)\n\n### removeGPSInfo(image, callback)\n* `image` path to image to delete GPS info\n* `callback` function(error, result) result is boolean\n\n### geohashEncode(latitude, longitude, precision)\n* `latitude` decimal latitude of the gps position\n* `longitude` decimal longitude of the gps position \n* `precision` number of chars to represent the gps position, default 12\n\n### geohashDecode(hash)\n* `hash` hashed string representing the gps position\n* return object of latitude, longitude, error\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvanng822%2Fgps-util","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvanng822%2Fgps-util","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvanng822%2Fgps-util/lists"}