def parse_longitude(longitude, hemisphere):
    """Parse a NMEA-formatted longitude pair.

    :param str longitude: Longitude in DDDMM.MMMM
    :param str hemisphere: East or West
    :rtype: ``float``
    :return: Decimal representation of longitude

    """
    longitude = int(longitude[:3]) + float(longitude[3:]) / 60
    if hemisphere == 'W':
        longitude = -longitude
    elif not hemisphere == 'E':
        raise ValueError('Incorrect North/South value %r' % hemisphere)
    return longitude
