diff --git a/engine.py b/engine.py index cf5da69..72b3bf6 100755 --- a/engine.py +++ b/engine.py @@ -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). """ - res = scipy.optimize.minimize( - lambda pos: trilat_error(stations, pos), - # stations[0][0], - (0.0, 0.0), - method='Nelder-Mead', - ) + best_err = None + best = (0., 0.) - if not res.success: - print("WARNING: Optimisation failed.") + for pos, _ in stations: + res = scipy.optimize.minimize( + lambda pos: trilat_error(stations, pos), + # stations[0][0], + pos, + method='Nelder-Mead', + ) - return res.x + if not res.success: + continue + + 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]: diff --git a/engine_test.py b/engine_test.py index 8441ef9..70a7b38 100755 --- a/engine_test.py +++ b/engine_test.py @@ -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: diff --git a/websiteapp/static/css/styles.css b/websiteapp/static/css/styles.css index 976497d..ffadc10 100644 --- a/websiteapp/static/css/styles.css +++ b/websiteapp/static/css/styles.css @@ -1,18 +1,27 @@ @font-face { font-family: 'CynthoBold'; - src: + src: url('/static/font/CynthoNextBold.otf') format('opentype'); + font-weight: bold; + font-style: normal; +} + +@font-face { + font-family: 'CynthoRegular'; + src: + url('/static/font/CynthoNextRegular.otf') format('opentype'); + font-weight: normal; font-style: normal; } @font-face { - font-family: 'CynthoRegular'; - src: - url('/static/font/CynthoNextRegular.otf') format('opentype'); + font-family: 'CynthoExtraLight'; + src: + url('/static/font/CynthoNextExtraLight.otf') format('opentype'); - font-weight: normal; + font-weight: 900; font-style: normal; } @@ -20,7 +29,7 @@ body { background-color:rgba(250, 184, 0); color: #006cab; - font-size: 20px; + font-size: 25px; font-family: "CynthoRegular", sans-serif;; margin: 0; padding: 0; @@ -30,7 +39,7 @@ body { button { background-color: rgba(0, 108, 171); color: rgba(250, 184, 0); - font-size: 20px; + font-size: 30px; font-family: "CynthoRegular", sans-serif; font-weight: bold; padding: 25px 25px; @@ -47,11 +56,11 @@ button { } textarea { - width: 80%; + width: 800px;; height: 300px; padding: 12px; box-sizing: border-box; - border: 4px solid rgba(0, 108, 171); + border: 3px solid rgba(0, 108, 171); border-radius: 5px; background-color: rgb(255, 199, 44); font-size: 18px; @@ -63,11 +72,20 @@ textarea { .btn-group { display: flex; /* places buttons side-by-side */ justify-content: center; /* centers them horizontally */ /* aligns vertically */ - gap: 15px; - margin-top: 10px; + gap: 15px; + margin-top: 0px; } img { - align-items: center; - width: 80%; + display: block; + margin: 0 auto; + align-items: center; + width: 650px; } + +.container { +display: flex; /* places items in a row */ +align-items: center; /* vertically centers image and text */ +justify-content: center; /* centers the whole thing horizontally */ +gap: 10px; /* space between image and text */ +} \ No newline at end of file diff --git a/websiteapp/static/img/logo_1.png b/websiteapp/static/img/logo_1.png new file mode 100644 index 0000000..de1fdb6 Binary files /dev/null and b/websiteapp/static/img/logo_1.png differ diff --git a/websiteapp/templates/websiteapp/base.html b/websiteapp/templates/websiteapp/base.html index 8c44160..b31a614 100644 --- a/websiteapp/templates/websiteapp/base.html +++ b/websiteapp/templates/websiteapp/base.html @@ -3,10 +3,10 @@
- + - +
+ "Everything is relative to greggs, and only that is absolute."
{% block content %} diff --git a/websiteapp/templates/websiteapp/decode_result.html b/websiteapp/templates/websiteapp/decode_result.html index 0b863cc..6631287 100644 --- a/websiteapp/templates/websiteapp/decode_result.html +++ b/websiteapp/templates/websiteapp/decode_result.html @@ -35,4 +35,10 @@ document.addEventListener("DOMContentLoaded", function () { }); + + + + {% endblock %} diff --git a/websiteapp/templates/websiteapp/encode_result.html b/websiteapp/templates/websiteapp/encode_result.html index db93180..ba6abad 100644 --- a/websiteapp/templates/websiteapp/encode_result.html +++ b/websiteapp/templates/websiteapp/encode_result.html @@ -3,7 +3,13 @@ {% block content %}{{ result }}
+{{ result }}
+