存储坐标的最佳方式:单位结构还是双精度结构?

Best way to store coords: struct of uints or double?

我的地理坐标格式为 N000.11.22.333 E444.55.66.777。精度需要毫秒。我需要执行计算,例如给定坐标 0、角度和距离计算坐标。当然,我想保持精度不少于毫秒。这个和其他计算算法通常使用三角函数来得到结果。 哪种解决方案更好:1)使用包含度,分,秒和毫秒的结构作为单位和重载运算符来操作它们; 2)使用double类型并将坐标转换为十进制视图进行计算。因为我认为 float 类型在这些计算上不够稳定。

仅用于qt 5.9 x64项目,msvc 2017,win平台

选择最简单的(几乎肯定是双倍)。双精度比尺子或细心的测量员更准确。许多导航软件对纬度使用一个 32 位整数,对经度使用一个 32 位整数。