Beispiel #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)
Beispiel #2
0
def test_bench_decode(benchmark, bpc):
    prec = 60 // bpc
    lng, lat = rand_lng(), rand_lat()
    code = hilbert.encode(lng, lat, precision=prec, bits_per_char=bpc)
    benchmark(hilbert.decode_exactly, code, bits_per_char=bpc)