1.1.0 • Published 10 years ago
dms2dec v1.1.0
dms2dec.js
Degrees, minutes, seconds (sexagesimal) to decimal GPS positions. Useful for parsing PGS exif tags in geotagged images.
Install
Node.JS
npm install dms2dec --savevar dms2dec = require('dms2dec');Web
<script language="JavaScript" src="/dms2dec.js"></script>Usage
latDec, lonDec = dms2dec(String lat, String latRef, String lon, String lonRef);
Params
lat– latitude in "degrees, minutes, seconds" formatlagRef– latitude hemisphere reference (N or S)lon– longitude in "degrees, minutes, seconds" formatlonRef– longitude hemisphere reference (E or W)
Return
latDec– latitude converted into decimal formatlonDec– longitude converted into decimal format
Parse dms strings
var dec = dms2dec("60/1, 21/1, 4045/100", "N", "5/1, 22/1, 1555/100", "E");
// dec[0] == 60.36123611111111, dec[1] == 5.370986111111111
// without spaces or commas in the dms strings are also supported
var dec = dms2dec("60/1,21/1,4045/100", "N", "5/1,22/1,1555/100", "E");
var dec = dms2dec("60/1 21/1 4045/100", "N", "5/1 22/1 1555/100", "E");Parse dms arrays
var dec = dms2dec(["60/1", "21/1", "4045/100"], "N", ["5/1", "22/1", "1555/100"], "E");
// dec[0] == 60.36123611111111, dec[1] == 5.370986111111111dms arrays as decimal
var dec = dms2dec([60, 21, 40.45], "N", [5, 22, 15.55], "E");
// dec[0] == 60.36123611111111, dec[1] == 5.370986111111111GeoJSON
NB! Remember that GeoJSON stores coordinates in reversed order (longitude,
latitude) which means you have to reverse the order of the coordinates
returned from dms2dec().
var geojson = {
type: 'Point',
coordinates: dms2dec(lat, latRef, lon, lonRef).reverse()
};