370

纬度和经度可以有多少位数字,小数点前和小数点后?

这是我从 Windows Phone 设备发送的位置获取的示例:

Latitude=-63572375290155
Longitude=106744840359415

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

4

7 回答 7

740

如果纬度坐标以十进制度数报告为 -6.3572375290155 或 -63.572375290155,那么您可以四舍五入并存储多达 6 个小数位,以实现 10 厘米(或 0.1 米)精度。如果坐标参考系统 (CRS) 不是 EPSG:4326(例如 EPSG:3857),则 x 和 y 值测量距原点的距离(以米为单位,而不是以度为单位)。

概述

南半球和北半球的有效纬度范围分别为-90 和 +90 。经度在-180 和 +180范围内,分别指定本初子午线以西和以东的坐标。作为参考,赤道的纬度为 0°,北极的纬度为北纬 90°(写作 90° N 或 +90°),南极的纬度为 -90°。

本初子午线的经度为 0°,穿过英格兰格林威治。国际日期变更线 (IDL)大致遵循 180° 经度。正值经度落在东半球,负值落在西半球。

十进制度精度

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

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

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

这是一个以 0,0 为起点的纬度与 delta 度数和估计距离(以米为单位)的小数位数差异表。

小数位 十进制度 距离(米) 笔记
0 1.0 110,574.3 111 公里
1 0.1 11,057.43 11 公里
2 0.01 1,105.74 1公里
3 0.001 110.57
4 0.0001 11.06
5 0.00001 1.11
6 0.000001 0.11 11 厘米
7 0.0000001 0.01 1 厘米
8 0.00000001 0.001 1 毫米

度-分-秒 (DMS) 表示

对于 DMS 表示法,1 弧秒 = 1/60/60 度 = ~30 米长,0.1 弧秒增量为 ~3 米。

例子:

  • 0° 0' 0" W, 0° 0' 0" N0° 0' 0" W, 0° 0' 1" N⟹ 30.715 米
  • 0° 0' 0" W, 0° 0' 0" N0° 0' 0" W, 0° 0' 0.1" N⟹ 3.0715 米

1 弧分 = 1/60 度 = ~2000m (2km)


更新:

是一个关于坐标精度的有趣漫画。

于 2013-05-24T21:19:37.010 回答
227

谷歌地图实际上使用带符号的值来表示位置:

  • 纬度:最大/分钟90.0000000-90.0000000

  • 经度:最大/分钟180.0000000-180.0000000

因此,如果您想在项目中使用坐标,则需要 DECIMAL(10,7) 即。对于 SQL。

于 2014-05-28T14:35:58.087 回答
33

有效经度为 -180 到 180 度。

纬度应该是从 -90 度到 90 度,但是非常靠近两极的区域是不可索引的。

因此,由 EPSG:900913 / EPSG:3785 / OSGEO:41001 指定的确切限制如下:

  • 有效经度为 -180 到 180 度。
  • 有效纬度为 -85.05112878 到 85.05112878 度。
于 2017-11-08T19:39:54.400 回答
25

最大纬度总共是:9(12.3456789),经度 10(123.4567890),它们都有最多 7 个小数字符(至少我可以在Google 地图中找到),

例如,Rails 和 Postgresql 中的两列看起来都像这样:

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

编辑:

正如 Jasie 所说,最大小数应该是 8,但只有少数 Web 服务接受。

于 2016-01-28T03:20:17.983 回答
8

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

正如其他人所说,这大约是 10 厘米精度,而仅使用 5 个字节的存储空间。

例如CAST(123.456789 as decimal(9,6)) as [LatOrLong]

于 2018-05-31T10:49:21.843 回答
6

我知道已经有几个答案,但我添加了这个,因为这增加了关于小数位的大量信息,因此增加了询问的最大长度。

纬度和经度的长度取决于精度。每个的绝对最大长度为:

  • 纬度:12 个字符(例如:-90.00000001)
  • 经度:13 个字符(例如:-180.00000001)

对于两个持有:最多 8 个小数位是可能的(尽管不常用)。

对精度依赖的解释:

在此处输入图像描述

请参阅维基百科上的十进制度数文章中的完整表格

于 2020-05-06T09:56:15.210 回答
0

请检查 UTM 坐标系https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system

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

于 2019-04-04T00:59:29.587 回答