If you’re working with undocumented lat/long coordinate data and, when plotted, everything’s coming out sort of in the right place but a little way off, check to see whether or not what looks like decimal lat long data is actually traditional DMS data.

For example, I recently had to parse and plot a bunch of coordinates which looked like this: `6359550-2154605`

. I initially thought it was decimal lat/long data missing decimal points for some reason, so I plotted it as `63.59550, -21.54605`

. All of the coordinates were in the right place relative to each other, but about 1/3rd of a degree off. Turns out the data actually needed to be plotted as `63˚ 59' 55.0", -21˚ 54' 60.5"`

.

Here’s the python I wrote to clumsily convert the strange original form into decimal:

```
def dms_to_decimal(old):
if old[0] == '-':
old = old[1:]
multiplier = -1
else:
multiplier = 1
return (int(old[0:2])+int(old[2:4])/60.0+int(old[4:6])/3600.0) * multiplier
```