# dms2dec

> GPS degrees, minutes, seconds coordinates to decimal

Latest version **1.1.0** (published 2015-07-30) · MIT license · 0 weekly downloads

## Install

```sh
npm install dms2dec
pnpm add dms2dec
yarn add dms2dec
bun add dms2dec
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.0 |
| Published | 2015-07-30 |
| First published | 2014-06-02 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 18 |
| Author | Hans Kristian Flaatten |
| Maintainers | turistforeningen |
| Keywords | GPS, dms, decimal, latitude, longitude, convert, degrees, minutes, seconds |

## Links

- npm: https://www.npmjs.com/package/dms2dec
- Repository: https://github.com/Turistforeningen/dms2dec.js
- Issues: https://github.com/Turistforeningen/dms2dec.js/issues
- npm.io page: https://npm.io/package/dms2dec

## Alternatives

- [random-seedable](https://npm.io/package/random-seedable.md) — 27.9K weekly downloads
- [n2words](https://npm.io/package/n2words.md) — 22.2K weekly downloads
- [@stdlib/math-base-special-factorialln](https://npm.io/package/@stdlib/math-base-special-factorialln.md) — 5.7K weekly downloads
- [@stdlib/math-base-special-abs2](https://npm.io/package/@stdlib/math-base-special-abs2.md) — 1.7K weekly downloads
- [commons-math-interpolation](https://npm.io/package/commons-math-interpolation.md) — 1.4K weekly downloads

## Recent versions

- 1.1.0 (latest) — 2015-07-30
- 1.0.3 — 2015-05-22
- 1.0.2 — 2015-05-22
- 1.0.1 — 2014-06-02
- 1.0.0 — 2014-06-02

## README

# dms2dec.js

[![Build status](https://img.shields.io/wercker/ci/555f9d4c49f5656573001db6.svg "Build status")](https://app.wercker.com/project/bykey/095d1525c8493a2ece0f8c12b4442898)
[![NPM downloads](https://img.shields.io/npm/dm/dms2dec.svg "NPM downloads")](https://www.npmjs.com/package/dms2dec)
[![NPM version](https://img.shields.io/npm/v/dms2dec.svg "NPM version")](https://www.npmjs.com/package/dms2dec)
[![Node version](https://img.shields.io/node/v/dms2dec.svg "Node version")](https://www.npmjs.com/package/dms2dec)
[![Dependency status](https://img.shields.io/david/turistforeningen/node-dms2dec.svg "Dependency status")](https://david-dm.org/turistforeningen/node-dms2dec)

Degrees, minutes, seconds (sexagesimal) to decimal GPS positions. Useful for
parsing PGS exif tags in geotagged images.

## Install

### Node.JS

```bash
npm install dms2dec --save
```

```javascript
var dms2dec = require('dms2dec');
```

### Web

```html
<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" format
* `lagRef` – latitude hemisphere reference (N or S)
* `lon` – longitude in "degrees, minutes, seconds" format
* `lonRef` – longitude hemisphere reference (E or W)

#### Return

* `latDec` – latitude converted into decimal format
* `lonDec` – longitude converted into decimal format

### Parse dms strings

```javascript
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

```javascript
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
```

#### dms arrays as decimal

```javascript
var dec = dms2dec([60, 21, 40.45], "N", [5, 22, 15.55], "E");
// dec[0] == 60.36123611111111, dec[1] == 5.370986111111111
```

### GeoJSON

`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()
};
```

---
_Source: https://npm.io/package/dms2dec · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
