Exemple #1
0
 def test_extremes(self):
     lat, lon = (-90.0, -181.0)
     self.assertEqual(bbox(lat, lon, 0.0),
                      (constants.MIN_LAT, constants.MIN_LAT,
                       constants.MIN_LON, constants.MIN_LON))
     lat, lon = (90.0, 181.0)
     self.assertEqual(bbox(lat, lon, 0.0),
                      (constants.MAX_LAT, constants.MAX_LAT,
                       constants.MAX_LON, constants.MAX_LON))
Exemple #2
0
 def test_extremes(self):
     lat, lon = (-90.0, -181.0)
     self.assertEqual(bbox(lat, lon, 0.0),
                      (constants.MIN_LAT, constants.MIN_LAT,
                       constants.MIN_LON, constants.MIN_LON))
     lat, lon = (90.0, 181.0)
     self.assertEqual(bbox(lat, lon, 0.0),
                      (constants.MAX_LAT, constants.MAX_LAT,
                       constants.MAX_LON, constants.MAX_LON))
Exemple #3
0
 def test_extremes(self):
     lat, lon = (-90.0, -181.0)
     assert (bbox(lat, lon, 0.0) ==
             (constants.MIN_LAT, constants.MIN_LAT,
              constants.MIN_LON, constants.MIN_LON))
     lat, lon = (90.0, 181.0)
     assert (bbox(lat, lon, 0.0) ==
             (constants.MAX_LAT, constants.MAX_LAT,
              constants.MAX_LON, constants.MAX_LON))
Exemple #4
0
    def make_import_dict(validate, import_spec, row):
        data = {}

        # parse radio field
        radio = row[0].lower()
        if radio == 'cdma':  # pragma: no cover
            return None
        if radio == 'umts':
            radio = 'wcdma'
        try:
            data['radio'] = Radio[radio]
        except KeyError:  # pragma: no cover
            return None

        for field, pos, default, _type in import_spec:
            value = row[pos]
            if value is None or value == '':
                data[field] = default
            else:
                data[field] = _type(value)

        data['created'] = datetime.utcfromtimestamp(data['created'])
        data['modified'] = datetime.utcfromtimestamp(data['modified'])
        data['max_lat'], data['min_lat'], \
            data['max_lon'], data['min_lon'] = geocalc.bbox(
                data['lat'], data['lon'], data['radius'])

        validated = validate(data)
        if validated is None:
            return None
        for field in ('region', 'cellid', 'radio', 'mcc', 'mnc', 'lac', 'cid'):
            if validated[field] is None:
                return None

        return validated
Exemple #5
0
 def test_null(self):
     lat, lon = (1.0, 1.0)
     lat1, lon1, lat2, lon2 = bbox(lat, lon, 0.0)
     assert round(lat1, 7) == lat
     assert round(lon1, 7) == lon
     assert round(lat2, 7) == lat
     assert round(lon2, 7) == lon
Exemple #6
0
def where_area(lat, lon, radius):
    # Construct a where clause based on a bounding box around the given
    # center point.
    if lat is None or lon is None or radius is None:
        return None
    max_lat, min_lat, max_lon, min_lon = bbox(lat, lon, radius)

    return '`lat` <= %s and `lat` >= %s and `lon` <= %s and `lon` >= %s' % (
        round(max_lat, 5), round(min_lat, 5), round(max_lon,
                                                    5), round(min_lon, 5))
Exemple #7
0
def where_area(lat, lon, radius):
    # Construct a where clause based on a bounding box around the given
    # center point.
    if lat is None or lon is None or radius is None:
        return None
    max_lat, min_lat, max_lon, min_lon = bbox(lat, lon, radius)

    return '`lat` <= %s and `lat` >= %s and `lon` <= %s and `lon` >= %s' % (
        round(max_lat, 5), round(min_lat, 5),
        round(max_lon, 5), round(min_lon, 5))
Exemple #8
0
    def make_import_dict(validate, import_spec, row):
        data = {}

        # parse radio field
        radio = row[0].lower()
        if radio == 'cdma':  # pragma: no cover
            return None
        if radio == 'umts':
            radio = 'wcdma'
        try:
            data['radio'] = Radio[radio]
        except KeyError:  # pragma: no cover
            return None

        for field, pos, default, _type in import_spec:
            value = row[pos]
            if value is None or value == '':
                data[field] = default
            else:
                data[field] = _type(value)

        data['created'] = datetime.utcfromtimestamp(data['created'])
        data['modified'] = datetime.utcfromtimestamp(data['modified'])
        if (data['radius'] is not None and
                data['lat'] is not None and
                data['lon'] is not None):
            data['max_lat'], data['min_lat'], \
                data['max_lon'], data['min_lon'] = geocalc.bbox(
                    data['lat'], data['lon'], data['radius'])

        validated = validate(data)
        if validated is None:
            return None
        for field in ('region', 'cellid',
                      'radio', 'mcc', 'mnc', 'lac', 'cid'):
            if validated[field] is None:
                return None

        return validated
Exemple #9
0
 def test_null(self):
     lat, lon = (1.0, 1.0)
     self.assertEqual(bbox(lat, lon, 0.0), (lat, lat, lon, lon))
Exemple #10
0
 def test_null(self):
     lat, lon = (1.0, 1.0)
     self.assertEqual(bbox(lat, lon, 0.0), (lat, lat, lon, lon))