예제 #1
0
def test_encode_decode(bpc, prec):
    for _i in range(100):
        lng, lat = rand_lng(), rand_lat()
        code = hilbert.encode(lng, lat, precision=prec, bits_per_char=bpc)
        lng_code, lat_code, lng_err, lat_err = hilbert.decode_exactly(code, bits_per_char=bpc)

        assert lng == pytest.approx(lng_code, abs=lng_err)
        assert lat == pytest.approx(lat_code, abs=lat_err)

        assert (lng_code, lat_code) == hilbert.decode(code, bits_per_char=bpc)
예제 #2
0
def test_decode_empty(bpc):
    assert (0, 0) == hilbert.decode('', bits_per_char=bpc)
    assert (0, 0, 180, 90) == hilbert.decode_exactly('', bits_per_char=bpc)