Database design 位置坐标、纬度和经度的长度是多少?

Database design 位置坐标、纬度和经度的长度是多少?,database-design,latitude-longitude,Database Design,Latitude Longitude,纬度和经度在小数点前和小数点后可以有多少位数 以下是我从Windows Phone设备发送的位置获得的示例: Latitude=-63572375290155 Longitude=106744840359415 这非常长,超出了我的表格列大小,并导致错误。如果纬度坐标报告为-6.3572375290155或-63.572375290155(十进制度数),则可以舍入并存储多达6位小数,精度为10厘米(或0.1米) 概述 南半球和北半球的有效纬度范围(度)分别为-90和+90。经度在-180和+1

纬度和经度在小数点前和小数点后可以有多少位数

以下是我从Windows Phone设备发送的位置获得的示例:

Latitude=-63572375290155
Longitude=106744840359415

这非常长,超出了我的表格列大小,并导致错误。

如果纬度坐标报告为-6.3572375290155或-63.572375290155(十进制度数),则可以舍入并存储多达6位小数,精度为10厘米(或0.1米)

概述 南半球和北半球的有效纬度范围(度)分别为-90和+90。经度在-180和+180范围内,分别指定本初子午线以西和以东的坐标

作为参考,的纬度为0°,的纬度为北纬90°(书写为北纬90°或+90°),而的纬度为-90°

穿过英格兰格林威治的经度为0°。该值大致沿180°经度。正值的经度落在东半球,负值落在西半球

十进制精度 小数点后六(6)位使用十进制度数表示法的坐标精度为10厘米(或0.1米)分辨率。每个.000001的坐标小数度差的长度约为10厘米。例如,Google Earth和Google Maps的图像通常分辨率为1米,有些地方的分辨率更高,为每像素1英寸。一米的分辨率可以用5位小数表示,因此超过6位小数与该分辨率无关。赤道处经度之间的距离与纬度相同,但经度之间的距离在极点处达到零,因为子午线在该点会聚

对于毫米(mm)精度,则用十进制度数格式的8位小数表示纬度/经度。由于大多数应用程序不需要这种精度级别,所以在大多数情况下,小数点后6位就足够了

在另一个方向,整十进制度数表示约111公里(或60海里)的距离,0.1十进制度数差表示约11公里的距离

这是一个以0,0为起点,以米为单位的#小数位数的纬度差与增量度和估计距离的表

小数位数 十进制度数 距离(米) 1. 0.10000000 11,057.43 11公里 2. 0.01000000 1,105.74 1公里 3. 0.00100000 110.57 4. 0.00010000 11.06 5. 0.00001000 1.11 6. 0.00000100 0.11 11厘米 7. 0.00000010 0.01 1厘米 8. 0.00000001 0.001 1毫米
Google Maps实际上使用符号值来表示位置:

  • 纬度:最大/最小
    90.0000000
    -90.0000000

  • 经度:最大/最小
    180.0000000
    -180.0000000


所以,如果你想在你的项目中使用坐标,你需要十进制(10,7),比如SQL。

纬度的最大值总共是:9(12.3456789),经度10(123.4567890),它们的最大值都是7个小数字符(至少是我在

例如,Rails和Postgresql中的两列都是这样的:

t.decimal :latitude, precision: 9, scale: 7
t.decimal :longitude, precision: 10, scale: 7

有效经度为-180到180度

纬度应该在-90度到90度之间,但是非常靠近两极的区域是不可转位的

因此,EPSG:900913/EPSG:3785/OSGEO:41001规定的准确限值如下:

  • 有效经度为-180到180度。
  • 有效纬度为-85.05112878到85.05112878度。

在SQL Server中存储Lat Long值的理想数据类型是十进制(9,6)

正如其他人所说,这是在大约10厘米的精度,而只使用5字节的存储


e、 g.
CAST(123.456789为十进制(9,6))为[LatOrLong]
请检查UTM坐标系


对于特定地图投影,这些值必须以米为单位。例如,UTM 11区的阿西尼博因山(北纬50°52′10〃115°39′03〃W处)山峰由11U 594934.108296 5636174.091274表示,其中(594934.108296、5636174.091274)以米为单位

我知道已经有几个答案了,但我补充了这个,因为这增加了关于小数点的大量信息,因此也增加了所要求的最大长度

纬度和纬度的长度取决于精度。每根电缆的绝对最大长度为:

  • 纬度:12个字符(例如:-90.00000001)
  • 经度:13个字符(例如:-180.00000001)
对于两个保留:最多可以有8位小数(尽管不常用)

对精度依赖性的解释:


请参见

的完整表格,您确定这些是横向/纵向的吗?它们的最大/最小值是lat+90到-90长+180到-180,我想说缺少一个逗号。。。如果格式正确,将其保存为数据库中的float就足够了。但我认为有些地方出了问题,因为你的值不可能是真的。你正在使用一些API来获取这些值。据推测,API附带文档。文件上怎么说这些单位?我怀疑这些数字实际上是-63.572375290155和106.744840359415,它们就在南极洲海岸附近。小数点后七位的纬度或经度精确到5英尺。小数点后8位以上都是噪音。我投票将这个问题作为离题题来结束,因为它与软件开发无关。那么长度呢。小数点的精度是多少就足够了。纬度上的小数点后6位差(0.000001)长度约为0.11米,经度上的小数点后6位差约为0.11米,在赤道附近的纬度和两极附近的纬度上,经度增量的距离要小得多(4