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)
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
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)
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'
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
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")
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)' )
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"
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')
def test_is_sane(self): """Test toMaiden""" m = maidenhead.toMaiden(casa_henri) self.assertEqual(m, "JO32ii")
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')
#!/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)')
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)
def test_is_sane(): """Test toMaiden""" m = maidenhead.toMaiden(casa_henri) assert m == "JO32ii"
def test_is_sane(self): """Test toMaiden""" m = maidenhead.toMaiden(casa_henri) self.assertEqual(m,"JO32ii")
#!/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.")