feat: increase station coordinate precision to 5 decimals

Station lat/lon was stored rounded to 4 decimals (~11 m). Bump to 5 decimals (~1.1 m), slightly better than GPS hardware accuracy without showing noise.

- SettingsRepo.setStationPosition: round(4) -> round(5)
- QthConverter.qthToPosition: round(4) -> round(6) so 10-char locators fully roundtrip
- Update QthConverterTest expected values to 6-decimal precision
This commit is contained in:
mckero committed 2026-08-03 09:14:13 +00:00
1 parent 2dfd76825b
commit 1de5632428
3 files changed
+7 -7

No files matched your search

@@ -213,8 +213,8 @@ class SettingsRepo(
}
private fun setStationPosition(latitude: Double, longitude: Double, altitude: Double, locator: String) {
val newLat = latitude.round(4)
val newLon = longitude.round(4)
val newLat = latitude.round(5)
val newLon = longitude.round(5)
val newAlt = altitude.round(1)
val timestamp = System.currentTimeMillis()
println("Received new Position($newLat, $newLon, $newAlt) & Locator $locator")
@@ -63,7 +63,7 @@ fun qthToPosition(locator: String): GeoPos? {
latitude += 1.0 / 48.0
}
}
return GeoPos(latitude.round(4), longitude.round(4))
return GeoPos(latitude.round(6), longitude.round(6))
}
/**
@@ -26,14 +26,14 @@ class QthConverterTest {
@Test
fun `Given valid QTH returns correct POS`() {
var result = qthToPosition("io91VL39FX")
assert(result?.latitude == 51.4999 && result.longitude == -0.2231)
assert(result?.latitude == 51.499913 && result.longitude == -0.22309)
result = qthToPosition("gf15vc")
assert(result?.latitude == -34.8958 && result.longitude == -56.2083)
assert(result?.latitude == -34.895833 && result.longitude == -56.208333)
// 8-char locators: finer 30" x 15" cell center
result = qthToPosition("io91vl47")
assert(result?.latitude == 51.4896 && result.longitude == -0.2125)
assert(result?.latitude == 51.489583 && result.longitude == -0.2125)
result = qthToPosition("jn58td25")
assert(result?.latitude == 48.1479 && result.longitude == 11.6042)
assert(result?.latitude == 48.147917 && result.longitude == 11.604167)
}
@Test