在C#中存储地理数据时,最佳的数据类型是什么?我会使用十进制来确保其准确性,但是对十进制浮点数的运算要比二进制浮点数(双精度)慢。
我读到大多数时间,对于纬度或经度,您不需要再超过6或7位精度。那么双精度的不精确性是否重要,还是可以忽略?
6
我会问相反的问题:性能差异是否重要还是可以忽略不计?
—
Heinzi 2015年
在数据库中,您应该使用“ sql空间数据类型”来存储经度和纬度
—
azhar_SE_nextbridge 2015年
请注意,.NET BCL本身在其GeoCoordinate类中使用了double ,这强烈表明精度可能已足够。
—
Heinzi 2015年
NodaTime的TzdbZoneLocation也使用double。
—
里克·戴文
1)我会考虑定点。2)由于您经常需要对地理坐标进行三角运算,而这些运算仅针对实现
—
CodesInChaos
double
,double
可能是最合适的。