From d4c3df0ff7cd3d43c2549314dccf33c9a66031cc Mon Sep 17 00:00:00 2001 From: Greg Albrecht <gba@gregalbrecht.com> Date: Sun, 20 Jan 2013 23:21:01 -0800 Subject: [PATCH] fixing makefile adding utils. --- Makefile | 4 ++++ aprs/__init__.py | 1 + aprs/util.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100755 aprs/util.py diff --git a/Makefile b/Makefile index 8897b6d..3eaccce 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,7 @@ +# TODO: add boilerplate to Makefile. +# + + all: install_requirements develop todo develop: diff --git a/aprs/__init__.py b/aprs/__init__.py index 9897db3..3ca2afd 100644 --- a/aprs/__init__.py +++ b/aprs/__init__.py @@ -6,3 +6,4 @@ __license__ = 'Creative Commons Attribution 3.0 Unported License' from .aprs import APRS +from .util import * diff --git a/aprs/util.py b/aprs/util.py new file mode 100755 index 0000000..db1f158 --- /dev/null +++ b/aprs/util.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python + + +# http://stackoverflow.com/questions/2056750/lat-long-to-minutes-and-seconds +def lat_deg_to_dms(coord): + """Converts DecDeg to APRS Coord format. + See: http://ember2ash.com/lat.htm + """ + degrees = int(coord) + + mindeg = abs(coord - degrees) * 60 + minutes = int(mindeg) + + secdeg = (mindeg - minutes) * 60 + seconds = int(secdeg) + + if not degrees == abs(degrees): + suffix = 'S' + else: + suffix = 'N' + + ddmmss = [degrees, minutes, '.', seconds, suffix] + return ''.join([str(c) for c in ddmmss]) + + +def lng_deg_to_dms(coord): + """Converts DecDeg to APRS Coord format. + See: http://ember2ash.com/lat.htm + """ + degrees = int(coord) + + mindeg = abs(coord - degrees) * 60 + minutes = int(mindeg) + + secdeg = (mindeg - minutes) * 60 + seconds = int(secdeg) + + if not degrees == abs(degrees): + suffix = 'W' + else: + suffix = 'E' + + ddmmss = [abs(degrees), minutes, '.', seconds, suffix] + return ''.join([str(c) for c in ddmmss]) -- GitLab