示例#1
0
文件: test_gps.py 项目: loongfee/Roam
def gpsservice():
    positon = QgsPoint(100, 200)
    info = QgsGPSInformation()
    info.speed = 300
    info.direction = 90.0
    info.latitude = 90.0
    gps = GPSService()
    gps.postion = positon
    gps.elevation = 20
    gps.currentport = 'testport'
    gps.info = info
    return gps
示例#2
0
def test_glonass_parse_from_file():
    def update(pos, info):
        pass

    gps = GPSService()
    gps.gpsposition.connect(update)
    wgs84CRS = QgsCoordinateReferenceSystem(4326)
    gps.crs = wgs84CRS
    with open(data("glonass_gps_log.nmea"), "r") as f:
        for line in f:
            line = line.strip("\n")
            gps.parse_data(line)
示例#3
0
文件: test_gps.py 项目: loongfee/Roam
def test_glonass_parse_from_file():
    def update(pos, info):
        pass

    gps = GPSService()
    gps.gpsposition.connect(update)
    wgs84CRS = QgsCoordinateReferenceSystem(4326)
    gps.crs = wgs84CRS
    with open(data("glonass_gps_log.nmea"), "r") as f:
        for line in f:
            line = line.strip("\n")
            gps.parse_data(line)
示例#4
0
def test_extact_gsa_handles_empty_values():
    gps = GPSService()
    msg = "$GNGSA,A,1,,,,,,,,,,,,,,,*00"
    data = pynmea2.parse(msg)
    info = gps.extract_gsa(data)
    assert info.hdop == 0.0
    assert info.pdop == 0.0
    assert info.vdop == 0.0
    assert info.fixMode == "A"
    assert info.fixType == 1
示例#5
0
def test_extact_gsa_returns_correct_info():
    gps = GPSService()
    msg = "$GNGSA,A,3,80,79,73,82,,,,,,,,,1.75,1.09,1.37*1A"
    data = pynmea2.parse(msg)
    info = gps.extract_gsa(data)
    assert info.hdop == 1.09
    assert info.pdop == 1.75
    assert info.vdop == 1.37
    assert info.fixMode == "A"
    assert info.fixType == 3
示例#6
0
def test_extact_gga_returns_correct_info():
    gps = GPSService()
    msg = "$GNGGA,033534.00,3157.10551,S,11549.43027,E,1,05,1.69,43.4,M,-30.8,M,,*49"
    data = pynmea2.parse(msg)
    info = gps.extract_gga(data)
    assert info.longitude == 115.82383783333333
    assert info.latitude == -31.9517585
    assert info.elevation == 43.4
    assert info.quality == 1
    assert info.satellitesUsed == 5
示例#7
0
def test_extact_rmc_returns_correct_info():
    gps = GPSService()
    msg = "$GNRMC,033615.00,A,3157.10477,S,11549.42965,E,0.120,,270115,,,A*73"
    data = pynmea2.parse(msg)
    info = gps.extract_rmc(data)
    assert info.longitude == 115.8238275
    assert info.latitude == -31.951746166666666
    assert info.speed == 0.22224
    assert info.status == "A"
    assert info.direction == 0
    assert info.utcDateTime == QDateTime(2015, 1, 27, 3, 36, 15, 0, Qt.UTC)
示例#8
0
def gpsservice():
    positon = QgsPoint(100, 200)
    info = QgsGpsInformation()
    info.speed = 300
    info.direction = 90.0
    info.latitude = 90.0
    gps = GPSService()
    gps._position = positon
    gps.elevation = 20
    gps.currentport = 'testport'
    gps.info = info
    return gps
示例#9
0
def test_extact_gga_handles_empty_values():
    gps = GPSService()
    msg = "$GNGGA,033521.00,,,,,0,03,17.53,,,,,,*7D"
    data = pynmea2.parse(msg)
    info = gps.extract_gga(data)
    assert info.longitude == 0.0
    assert info.latitude == 0.0
    assert info.elevation == 0.0
    assert info.quality == 0
    assert info.satellitesUsed == 3
    msg = "$GPGGA,,,,,,0,,,,,,,,*66"
    data = pynmea2.parse(msg)
    info = gps.extract_gga(data)
    assert info.longitude == 0.0
    assert info.latitude == 0.0
    assert info.elevation == 0.0
    assert info.quality == 0
    assert info.satellitesUsed == 0
示例#10
0
def test_extact_rmc_handles_empty_values():
    gps = GPSService()
    msg = "$GNRMC,033523.00,V,,,,,,,270115,,,N*67"
    data = pynmea2.parse(msg)
    info = gps.extract_rmc(data)
    assert info.longitude == 0.0
    assert info.latitude == 0.0
    assert info.speed == 0.0
    assert info.status == "V"
    assert info.direction == 0
    assert info.utcDateTime == QDateTime(2015, 1, 27, 3, 35, 23, 0, Qt.UTC)
    msg = "$GPRMC,,V,,,,,,,,,,N*53"
    data = pynmea2.parse(msg)
    info = gps.extract_rmc(data)
    assert info.longitude == 0.0
    assert info.latitude == 0.0
    assert info.speed == 0.0
    assert info.status == "V"
    assert info.direction == 0
    assert info.utcDateTime == QDateTime(2015, 1, 27, 3, 35, 23, 0, Qt.UTC)
示例#11
0
def test_gpsinfo_reads_returns_scan_on_empty_port():
    gps = GPSService()
    gps.currentport = ''
    assert gps.gpsinfo('portname') == 'scan'
    gps.currentport = None
    assert gps.gpsinfo('portname') == 'scan'
示例#12
0
def dont_crash_with_strange_gps_string():
    # WAT the heck is the PQXFI message?
    data = "$PQXFI,054109.0,2812.884789,S,15202.046024,E,462.1,2.92,4.14,0.82*73"
    gps = GPSService()
    gps.parse_data(data)
示例#13
0
def test_extact_vtg_handles_empty_values():
    gps = GPSService()
    msg = "$GNVTG,,,,,,,,,N*2E"
    data = pynmea2.parse(msg)
    info = gps.extract_vtg(data)
    assert info.speed == 0.0
示例#14
0
def test_extact_vtg_returns_correct_info():
    gps = GPSService()
    msg = "$GNVTG,,T,,M,0.148,N,0.274,K,A*31"
    data = pynmea2.parse(msg)
    info = gps.extract_vtg(data)
    assert info.speed == 0.274
示例#15
0
文件: test_gps.py 项目: loongfee/Roam
def test_gpsinfo_reads_returns_scan_on_empty_port():
    gps = GPSService()
    gps.currentport = ''
    assert gps.gpsinfo('portname') == 'scan'
    gps.currentport = None
    assert gps.gpsinfo('portname') == 'scan'