纬度/经度存储和压缩在C - 代码日志

纬度/经度存储和压缩在C

有没有人知道最高效的表示法?消费者GPS设备的准确度应该是足够的。

大多数实现似乎对每个单元使用双倍,但我怀疑浮点数或固定点格式应该是足够的。我会好奇地听到任何试图压缩和存储这些值的大数组的人。

编辑:

换句话说,代表消费级设备的延时/长时间所需的最低精度是多少?

就个人而言,我将使用一个32位十进制固定点表示,除以100,000根据Evan的答案和我的意见。

然而,如果空间真的是溢价,这里还有一些其他的想法:

>您可以在导线上使用26位固定点表示。这将需要将纬度和经度编组和解组成大量字节,但是可以为32位值表示中的每个位置节省12位,几乎可节省19%,因此可能值得。
>你可以利用这样一个事实,即在靠近极点的经度值需要更少的精度 – 它们只需要在赤道上26位的值。因此,您可以编写一个方案,其中用于对经度进行编码的位数取决于纬度的值。
>如果您的数据具有其他可压缩属性 – 例如,所有点通常非常接近 – 您可以具体利用这些优点,例如使用增量编码方案(其中除第一个以外的每个点可以被编码为来自最后一点)。

http://stackoverflow.com/questions/1220377/latitude-longitude-storage-and-compression-in-c

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:纬度/经度存储和压缩在C