位置坐标,纬度和经度的长度是多少? [关闭]

Posted

技术标签:

【中文标题】位置坐标,纬度和经度的长度是多少? [关闭]【英文标题】:What are the lengths of Location Coordinates, latitude and longitude? [closed] 【发布时间】:2013-04-04 14:45:54 【问题描述】:

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

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

Latitude=-63572375290155
Longitude=106744840359415

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

【问题讨论】:

你确定这些是 lat/long 吗?它们的最大/最小值是 lat +90 到 -90 长 +180 到 -180,我会说缺少逗号...如果格式正确,将其保存为数据库中的浮点数就足够了。但我认为出了点问题,因为你的价值观不可能是真的 您正在使用一些 API 来获取这些值。据推测,API 附带文档。文档对这些单位有什么说明? 我怀疑这些数字实际上是 -63.572375290155 和 106.744840359415,就在南极洲海岸附近。带七位小数的纬度或经度精确到 5 英尺。任何超过 8 位小数都是噪音。 See also Google 地图实际上使用带符号的值来表示位置: 纬度:最大/分钟 90.0000000 到 -90.0000000 经度:最大/分钟 180.0000000 到 -180.0000000 所以如果你想在你的项目中使用坐标,你会需要 DECIMAL(10,7) 即。用于 SQL。 【参考方案1】:

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

概述

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

Prime Meridian 的经度为 0°,穿过英格兰格林威治。 International Date Line (IDL) 大致遵循 180° 经度。正值经度在东半球,负值在西半球。

十进制度精度

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

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

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

这是一个以 0,0 为起点的纬度表,其中包含 # 个小数位的纬度差异以及 delta 度和以米为单位的估计距离。

Decimal places Decimal degrees Distance (meters) Notes
0 1.0 110,574.3 111 km
1 0.1 11,057.43 11 km
2 0.01 1,105.74 1 km
3 0.001 110.57
4 0.0001 11.06
5 0.00001 1.11
6 0.000001 0.11 11 cm
7 0.0000001 0.01 1 cm
8 0.00000001 0.001 1 mm

度-分-秒 (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)


更新:

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

【讨论】:

经度怎么样。多少小数位精度足以容纳它。 6 个小数点位差 (0.000001) 纬度约为 0.11 米,经度约为 0.11 米,在赤道附近和两极附近,经度三角洲的距离要小得多(4 个十进制度变为 20厘米)。因此,对于 10 厘米的分辨率,平均 6 位小数就足够了。 我可以建议在您当前使用10 cm 的地方使用0.1 m(除非您说“大约 10 厘米”)。否则很好的答案。 关于 lat/lng 精度的更多信息:mysql.rjweb.org/doc.php/latlng#representation_choices Google 地图实际上使用带符号的值来表示位置: 纬度:最大/分钟 90.0000000 到 -90.0000000 经度:最大/分钟 180.0000000 到 -180.0000000 所以如果你想在你的项目中使用坐标,你会需要 DECIMAL(10,7) 即。用于 SQL。【参考方案2】:

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

纬度:最大/最小 90.0000000-90.0000000

经度 : max/min 180.0000000 to -180.0000000

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

【讨论】:

这并没有真正回答问题,它要求最大长度为 lat 和 long。我不明白,为什么它有这么多的赞成票,sry。 只是为了确定:边界(-90、+90、-180、+180)是包括还是不包括在内? 对于 SQL,纬度 decimal(10,8) & 经度 decimal(11,8) @jasie 你觉得这个答案有什么问题?【参考方案3】:

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

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

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

编辑:

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

【讨论】:

最多 7 个十进制字符是错误的!! 8 是正确的(很少见,但可能)!见en.wikipedia.org/wiki/Decimal_degrees 是的,也许你是对的。不知道许多网络服务是否接受 8 个十进制字符,但现在应该接受。【参考方案4】:

有效的经度范围是 -180 到 180 度。

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

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

有效经度为 -180 到 180 度。 有效纬度范围是 -85.05112878 到 85.05112878 度。

【讨论】:

此答案中提到的限制适用于特定的地图投影。该答案不是对该问题的有效答案并且具有误导性。一个完全不同的问题。 你知道为什么有效的纬度是-85到85吗?我一直在寻找它背后的原因。我很想知道背后的原因。 @Lurr 也许是因为你不想在北极和南极结束。如果地球在两极有点扁平,那么在达到 90 度之前逐渐变细并在 85 度左右变平是有意义的 我不明白。您能否更详细地说明为什么 89 纬度会成为问题?这是否意味着在给定的保护下,由于无法指定电线杆周围的区域?【参考方案5】:

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

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

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

【讨论】:

【参考方案6】:

请检查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) 以米为单位。

【讨论】:

好电话。如果您的多伦多坐标 (43.6, -79.4) 看起来像:630001.79, 4833599.08 那么数据在 UTM latlong.net/lat-long-utm.html【参考方案7】:

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

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

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

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

对精度依赖的解释:

在Decimal degrees article on Wikipedia查看完整表格

【讨论】:

那些.00...001 是专属边界吗? 对不起,@JinKwon,我不明白你的问题.. 没关系。错误的问题。我什至不明白我在问什么。对不起。我想我想知道来自-90.00000001-180.00000001 的那些片段。

以上是关于位置坐标,纬度和经度的长度是多少? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

1980西安坐标怎么转换成经纬度?

任何免费服务或 API 将提供地理坐标(纬度和经度)? [关闭]

Swift:获取用户的位置坐标为纬度和经度?

如何使用纬度和经度坐标从某个位置获取时区?

如何使用纬度和经度坐标从某个位置获取时区?

如何使用纬度和经度坐标从某个位置获取时区?