feat: parse_usv_gps — navigation_log CSV UTM -> HDF5 /usv_gps
This commit is contained in:
35
tests/test_parse_usv_gps.py
Normal file
35
tests/test_parse_usv_gps.py
Normal file
@@ -0,0 +1,35 @@
|
||||
import tempfile, os, io
|
||||
import numpy as np
|
||||
import h5py
|
||||
|
||||
SAMPLE_CSV = """timestamp,data,value
|
||||
2026-04-08 09:31:10.100000,Easting,318234.5
|
||||
2026-04-08 09:31:10.100000,Northing,4823456.7
|
||||
2026-04-08 09:31:10.100000,UTM_number,32
|
||||
2026-04-08 09:31:10.100000,UTM_letter,T
|
||||
2026-04-08 09:31:11.200000,Easting,318235.1
|
||||
2026-04-08 09:31:11.200000,Northing,4823457.2
|
||||
2026-04-08 09:31:11.200000,UTM_number,32
|
||||
2026-04-08 09:31:11.200000,UTM_letter,T
|
||||
"""
|
||||
|
||||
def test_parse_usv_gps():
|
||||
from extract.parse_usv_gps import parse_nav_log, write_usv_gps_group
|
||||
rows = parse_nav_log(io.StringIO(SAMPLE_CSV))
|
||||
assert len(rows) == 2
|
||||
assert abs(rows[0]["easting"] - 318234.5) < 0.01
|
||||
assert abs(rows[0]["northing"] - 4823456.7) < 0.01
|
||||
assert rows[0]["utm_zone"] == "32T"
|
||||
assert rows[0]["rtk_status"] == 0
|
||||
|
||||
with tempfile.NamedTemporaryFile(suffix=".h5", delete=False) as tmp:
|
||||
path = tmp.name
|
||||
try:
|
||||
write_usv_gps_group(path, rows)
|
||||
with h5py.File(path, "r") as f:
|
||||
assert "usv_gps" in f
|
||||
assert len(f["usv_gps/easting"][:]) == 2
|
||||
assert len(f["usv_gps/northing"][:]) == 2
|
||||
assert len(f["usv_gps/t_ns"][:]) == 2
|
||||
finally:
|
||||
os.unlink(path)
|
||||
Reference in New Issue
Block a user