Exemplo n.º 1
0
 def test_genmap(self):
     """Test level maps are different"""
     m = maidenhead.toMaiden(casa_henri, 3)
     g = maidenhead.genGoogleMap(m)
     m1 = maidenhead.toMaiden(casa_henri, 2)
     g1 = maidenhead.genGoogleMap(m1)
     self.assertNotEqual(g, g1)
Exemplo n.º 2
0
def test_genmap():
    """Test level maps are different"""
    m = maidenhead.toMaiden(casa_henri, 3)
    g = maidenhead.genGoogleMap(m)
    m1 = maidenhead.toMaiden(casa_henri, 2)
    g1 = maidenhead.genGoogleMap(m1)
    assert g != g1
Exemplo n.º 3
0
 def test_genmap(self):
     """Test level maps are different"""
     m = maidenhead.toMaiden(casa_henri,3)
     g = maidenhead.genGoogleMap(m)
     m1 = maidenhead.toMaiden(casa_henri,2)
     g1 = maidenhead.genGoogleMap(m1)
     self.assertNotEqual(g,g1)
Exemplo n.º 4
0
def test_nonsense():
    """Test no.nonsense.ee/qthmap"""
    m = maidenhead.toMaiden(casa_henri)
    assert m == 'JO32ii'

    u = maidenhead.genNonSense(casa_henri, 4)
    assert u == 'http://no.nonsense.ee/qthmap/?qth=JO32ii09'
Exemplo n.º 5
0
    def get_grid_from_coordinates(self, coordinates, precision=3) -> str:

        coordinates = self._format_coordinates(coordinates)

        if coordinates:
            grid = toMaiden(coordinates[0],
                            coordinates[1],
                            precision=precision)
            return grid
        else:
            return None
Exemplo n.º 6
0
    def handle_maidenhead_location(self, message):
        lon = config.get()['location']['coordinate']['longitude']
        lat = config.get()['location']['coordinate']['latitude']
        if lon and lat:
            self.log.debug("lon: {} lat: {}".format(lon, lat))
            mhl = mh.toMaiden(lat, lon, precision=4)

            self.speak_dialog("maidenhead.locator",
                              {"mhl": self._letterize(mhl)})
        else:
            self.speak_dialog("error")
Exemplo n.º 7
0
def main():
    p = ArgumentParser()
    p.add_argument('loc', help='Maidenhead grid or lat lon', nargs='+')
    p.add_argument('-p',
                   '--precision',
                   help='maidenhead precision',
                   type=int,
                   default=3)
    p = p.parse_args()

    if len(p.loc) == 1:  # maidenhead
        lat, lon = maidenhead.toLoc(p.loc[0])
        print(lat, lon)
    elif len(p.loc) == 2:  # lat lon
        loc = maidenhead.toMaiden(p.loc, p.precision)
        print(loc)
    else:
        raise TypeError(
            'specify Maidenhead grid (single string) or lat lon (with space between)'
        )
Exemplo n.º 8
0
    async def psk_freq(self, latitude: float, longitude: float):
        """Query pskreporter.info for the busiest frequencies given a location."""

        # Get DX details
        locator = maidenhead.toMaiden(float(latitude), float(longitude))[0:2]
        response = await self._psk_freq(locator)

        try:
            frequencies = []
            lines = response.split("\n")

            first = int(lines[0].split(" ")[0]) / 1000
            second = int(lines[1].split(" ")[0]) / 1000
            third = int(lines[2].split(" ")[0]) / 1000

            message = "Freqs for {}: {}, {} and {}".format(
                locator, first, second, third)

            return message

        except:
            return "Couldn't look up frequencies"
Exemplo n.º 9
0
 def test_nonsense(self):
     """Test no.nonsense.ee/qthmap"""
     m = maidenhead.toMaiden(casa_henri)
     u = maidenhead.genNonSense(casa_henri,4)
     self.assertEqual(u,'http://no.nonsense.ee/qthmap/?qth=JO32ii09')
Exemplo n.º 10
0
 def test_is_sane(self):
     """Test toMaiden"""
     m = maidenhead.toMaiden(casa_henri)
     self.assertEqual(m, "JO32ii")
Exemplo n.º 11
0
 def test_nonsense(self):
     """Test no.nonsense.ee/qthmap"""
     m = maidenhead.toMaiden(casa_henri)
     u = maidenhead.genNonSense(casa_henri, 4)
     self.assertEqual(u, 'http://no.nonsense.ee/qthmap/?qth=JO32ii09')
Exemplo n.º 12
0
#!/usr/bin/env python
import maidenhead

from argparse import ArgumentParser
p = ArgumentParser()
p.add_argument('loc',help='Maidenhead grid or lat lon',nargs='+')
p.add_argument('-p','--precision',help='maidenhead precision',type=int,default=3)
p = p.parse_args()



if len(p.loc) == 1: #maidenhead
    lat,lon = maidenhead.toLoc(p.loc[0])
    print(lat,lon)
elif len(p.loc) == 2: #lat lon
    maidenhead = maidenhead.toMaiden(p.loc, p.precision)
    print(maidenhead)
else:
    raise TypeError('specify Maidenhead grid (single string) or lat lon (with space between)')
Exemplo n.º 13
0
import csv
import maidenhead as mh

grid_list = []

with open('contacts_latlon.txt') as csvfile:
    readCSV = csv.reader(csvfile, delimiter=',')
    for row in readCSV:
        lat = float(row[1])
        lon = float(row[2])
        level = 4
        grid = mh.toMaiden(lat, lon)[0:4]
        if grid not in grid_list:
            grid_list.append(grid)

print(grid_list)
with open('seen_grids.txt', 'w') as f:
    for item in grid_list:
        f.write("%s\n" % item)
Exemplo n.º 14
0
def test_is_sane():
    """Test toMaiden"""
    m = maidenhead.toMaiden(casa_henri)
    assert m == "JO32ii"
Exemplo n.º 15
0
 def test_is_sane(self):
     """Test toMaiden"""
     m = maidenhead.toMaiden(casa_henri)
     self.assertEqual(m,"JO32ii")
Exemplo n.º 16
0
#!/usr/bin/env python
import maidenhead

from argparse import ArgumentParser
p = ArgumentParser()
p.add_argument('loc', help='Maidenhead grid or lat lon', nargs='+')
p.add_argument('-p',
               '--precision',
               help='maidenhead precision',
               type=int,
               default=3)
p = p.parse_args()

if len(p.loc) == 1:  #maidenhead
    lat, lon = maidenhead.toLoc(p.loc[0])
    print(lat, lon)
elif len(p.loc) == 2:  #lat lon
    maidenhead = maidenhead.toMaiden(p.loc, p.precision)
    print(maidenhead)
else:
    raise TypeError(
        'specify Maidenhead grid (single string) or lat lon (with space between)'
    )
    def run(self):
        showoutput = self.showOutput

        try:
            while self.readGPS:
                line = self.gps.readline()

                gpsData = line.decode().split(",")

                if showoutput == 1:
                    print(gpsData)

                if gpsData[0] == time_sentence:
                    gpsTime = gpsData
                    self.current_epoch = 1
                    print(gpsTime)
                if gpsData[0] == alt_sentence:
                    #$GPGGA
                    gpsAlt = gpsData[9]
                    gpsUnit = gpsData[10]
                    self.altitude = gpsAlt + gpsUnit
                if gpsData[0] == sentence:
                    if gpsData[2] == 'A':
                        gpsTime = gpsData[1]
                        #print(gpsTime)
                        gpsLat = float(gpsData[3])
                        gpsN = gpsData[4]
                        gpsLon = float(gpsData[5])
                        gpsE = gpsData[6]

                        if (gpsN == south):
                            gpsLat = -gpsLat

                        latDeg = int(gpsLat / 100)
                        latMin = gpsLat - latDeg * 100
                        lat = latDeg + latMin / 60

                        if (gpsE == west):
                            gpsLon = -gpsLon

                        lonDeg = int(gpsLon / 100)
                        lonMin = gpsLon - lonDeg * 100
                        lon = lonDeg + lonMin / 60

                        self.mhGrid = mh.toMaiden(
                            lat, lon, precision=self.location_precision)
                        #g=latlong2grid(lat,lon)
                        #self.current_ngr = str(g)
                        self.current_lat = lat
                        self.current_lon = lon

                        #print('Location: %s, %s, %s, %s' % (lat,lon,self.mhGrid,g))
                        #self.setReadGPS(False)
                        #time.sleep(1)
                    #else:
                    #    print("GPS Active but no Fix")
                    #    print(gpsData)
        except (KeyboardInterrupt, SystemExit):
            self.setReadGPS(False)
            self.join()
            print("Done.\nClosing GPS Listener.")