Merge branch 'main' into website

This commit is contained in:
Oliver Gaskell 2025-11-02 15:54:17 +00:00
commit 8c44ac56e6
No known key found for this signature in database
GPG key ID: F971A08925FCC0AD
2 changed files with 26 additions and 15 deletions

View file

@ -6,7 +6,7 @@ import overpy
import numpy as np
import pandas as pd
import scipy
# import random
import random
from pathlib import Path
@ -19,12 +19,12 @@ BRANDS: dict[str, str] = {
CACHE_FOLDER = Path(".cache")
LOCS_COUNT = 5
DISTS_COUNT = 5
DISTS_COUNT = 2
FORMAT_FACTOR = 1e6 # μm
FORMAT_FACTOR = 1e3 # μm
FIRST_SEP = ':'
OTHER_SEP = ','
LOC_SEP = ';'
LOC_SEP = '; '
cached_dists = {}
cached_series = {}
@ -137,17 +137,25 @@ def trilaterate(stations: list[StationT], disp: bool = False) -> tuple[float, fl
Each station is of the format ((lat, lon), distance).
"""
best_err = None
best = (0., 0.)
for pos, _ in stations:
res = scipy.optimize.minimize(
lambda pos: trilat_error(stations, pos),
# stations[0][0],
(0.0, 0.0),
pos,
method='Nelder-Mead',
)
if not res.success:
print("WARNING: Optimisation failed.")
continue
return res.x
if best_err is None or res.fun < best_err:
best = res.x
best_err = res.fun
return best
def encode_greggs(loc: int) -> list[float]:

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python
from engine import encode_greggs, decode_greggs, encode, decode, format_location, parse_location, spherical_dist, fetch_data
from engine import encode_greggs, decode_greggs, encode, decode, format_location, parse_location, spherical_dist, fetch_data, format_dist, parse_dist
from tqdm import tqdm
import numpy as np
import time
@ -62,8 +62,11 @@ def test_encode_decode_greggs():
encoded = encode_greggs(i)
# tqdm.write(f"Encoding took {time.monotonic() - t:.3f}s")
stringified = ",".join(map(format_dist, encoded))
parsed = [parse_dist(s.strip()) for s in stringified.split(",")]
# t = time.monotonic()
decoded = decode_greggs(encoded)
decoded = decode_greggs(parsed)
# tqdm.write(f"Decoding took {time.monotonic() - t:.3f}s")
if i != decoded: