def test_build_header_invalid_envelope(self): geom = { 'coordinates': [1.0, 1.0], 'type': 'Point', 'meta': { 'srid': 4326 }, 'bbox': (1.0, 1.0, 1.0) } with self.assertRaises(ValueError) as exc: geopackage._build_geopackage_header(geom, is_little_endian=True) self.assertEqual( str(exc.exception), "Bounding box must be of length 2*n where " "n is the number of dimensions represented " "in the contained geometries.")
def test_build_header_no_envelope_no_srid_big_endian(self): geom = {'coordinates': [1.0, 1.0], 'type': 'Point'} header = geopackage._build_geopackage_header(geom, is_little_endian=False) expected = b'GP\x00\x00\x00\x00\x00\x00' self.assertEqual(expected, header)
def test_build_header_no_envelope_with_srid_little_endian(self): geom = { 'coordinates': [1.0, 1.0], 'type': 'Point', 'meta': { 'srid': 4326 } } header = geopackage._build_geopackage_header(geom, is_little_endian=True) expected = b'GP\x00\x01\xe6\x10\x00\x00' self.assertEqual(expected, header)
def test_build_header_with_2d_envelope_with_srid_big_endian(self): geom = { 'coordinates': [1.0, 1.0], 'type': 'Point', 'meta': { 'srid': 4326 }, 'bbox': (1.0, 1.0, 1.0, 1.0) } header = geopackage._build_geopackage_header(geom, is_little_endian=False) expected = (b'GP\x00\x02\x00\x00\x10\xe6' b'?\xf0\x00\x00\x00\x00\x00\x00' b'?\xf0\x00\x00\x00\x00\x00\x00' b'?\xf0\x00\x00\x00\x00\x00\x00' b'?\xf0\x00\x00\x00\x00\x00\x00') self.assertEqual(expected, header)