纬度和经度能达到多长时间?

我正在收到Windows Phone设备发送的非常长的长度:

Latitude=-63572375290155
Longitude=106744840359415


这超出了我表的列大小,并且出现错误。

评论

您确定这些是经纬度吗?它们的最大/最小为lat +90到-90长+180到-180,我要说的是缺少一个逗号...如果格式正确,将其另存为db就足够了。但是我认为出了点问题,因为您的价值观不正确

您正在使用一些API来获取这些值。该API可能随文档一起提供。文档对单元有何说明?

我怀疑这个数字实际上是-63.572375290155和106.744840359415,它们就在南极洲的海岸上。具有七个小数位的纬度或经度精确到5英尺。小数点后8位多就是噪音。

另请参阅

我投票结束这个问题是离题的,因为它与软件开发无关。

#1 楼

如果将纬度坐标报告为以十进制度表示的-6.3572375290155或-63.572375290155,则可以四舍五入并以10厘米(或0.1米)的精度存储最多6个小数位。
概述
有效范围南半球和北半球的纬度度分别是-90和+90。经度分别在-180和+180范围内,分别指定本初子午线以西和以东。
作为参考,赤道的纬度为0°,北极的纬度为北纬90°(写成90°N或+ 90°),南极的纬度为-90°。
本初子午线的经度为0°,穿过英格兰的格林威治。国际日期变更线(IDL)大致遵循180度经度。具有正值的经度位于东半球,而负值位于西半球。
小数位精度
六(6)个小数位精度在坐标中使用小数度表示法为10 cm (或0.1米)分辨率。坐标十进制度的每个.000001差异长度约为10厘米。例如,“ Google地球”和“ Google地图”的图像通常为1米的分辨率,有些地方的分辨率为每像素1英寸。一米的分辨率可以使用5个小数位表示,因此该分辨率不需要6个小数位。赤道上的经度距离与纬度相同,但是当子午线在该点收敛时,经度之间的距离在极点处变为零。
对于毫米(mm)精度,则经纬度为8十进制度数格式的小数位。由于大多数应用程序不需要在大多数情况下达到6个小数位的精度即可。
在另一个方向上,整个十进制度表示的距离约为111公里(或60海里),而十进制度为0.1相差约11公里。
这是一张#纬度小数位数差异表,其中以度数和以0,0为起点的估计距离(以米为单位)。



小数位
小数度数
距离(米)




1
0.10000000
11,057.43
11 km


2
0.01000000
1,105.74
1 km


3
110.57



4
11.06



5
0.00001000
1.11



6
0.00000100
0.11
11厘米


7
0.00000010
0.01
1厘米


8
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)

更新:
这是关于坐标精度的有趣漫画。

评论


经度呢。小数位精度足以容纳它。

– ArunRaj
2014年3月17日在9:27

在赤道附近的纬度上,纬度的小数点后六位差(0.000001)为〜0.11米,在纬度上的经度为〜0.11米,而在经度的极点附近,距离小得多(四位小数变为20 cm)。因此,平均6个小数位对于10cm的分辨率就足够了。

– JasonM1
2014年3月17日14:02

可能我建议在当前使用10厘米的地方使用0.1 m(除非您说“大约10厘米”)。否则,很好的答案。

–花
2015年4月3日,12:06

有关经纬度精度的更多信息:mysql.rjweb.org/doc.php/latlng#representation_choices

–里克·詹姆斯(Rick James)
19 Mar 4 '19 at 0:08

Google Maps实际上使用带符号的值表示位置:纬度:最大/最小90.0000000至-90.0000000经度:最大/最小180.0000000至-180.0000000因此,如果要在项目中使用坐标,则需要DECIMAL(10,7),即。用于SQL。

–耶稣的狄米特里
20-10-19在3:22

#2 楼

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


纬度:最大/最小90.0000000-90.0000000



经度:最大/最小180.0000000-180.0000000


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

评论


这并不能真正回答这个问题,该问题要求lat和long的最大LENGTH。我不明白,为什么它会有这么多赞成票,对不起。

–茉莉
20年8月11日在7:16



只需确定:是否包括或排除边界(-90,+ 90,-180,+ 180)?

–马丁·托马
20年8月11日在8:39

#3 楼

有效经度为-180至180度。

纬度应为-90至90度,但极点附近的区域无法分度。

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


有效的经度是-180到180度。
有效的纬度从-85.05112878到85.05112878度。


评论


此答案中提到的限制适用于特定的MAP投影。该答案不是对该问题的有效答案,并且具有误导性。一个完全不同的问题。

–bugmenot123
18年5月2日在15:03

您知道为什么有效纬度是从-85到85吗?我一直在四处张望,以找出背后的原因。我很想知道背后的原因。

–Ludvig W
18 Jun 5'在6:58



@Lurr也许是因为您不想在北极和南极结束。如果地球的两极有些变平,那么在达到90度之前,它会逐渐变细并在85左右变平

– Nditah
18年8月13日在16:24

我不明白您能否进一步详细说明为什么纬度为89会成为问题?这是否意味着由于没有指定极点周围的区域,所以具有给定的保护?

–马丁·托马
20年8月11日在8:42

#4 楼

纬度最大值总计为: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


评论


最多7个十进制字符是错误的! 8是正确的(罕见,但可能)!参见en.wikipedia.org/wiki/Decimal_degrees

–茉莉
20年8月11日在7:14

是的,也许你是对的。不知道许多Web服务是否接受8个十进制字符,但现在应该可以了。

–孟加拉
20 Sep 9 '20 at 19:09

#5 楼

在SQL Server中存储“经纬度”值的理想数据类型是十进制(9,6)

正如其他人所说,这的精度约为10cm,而仅使用5字节的存储空间。

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

#6 楼

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

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


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

/>对于两种保全:最多可以有8个特殊位置(尽管不常用)。

对精度的依赖性的解释:



请参阅Wikipedia上的十进制度数的完整表格

评论


这些是.00 ... 001的专用范围吗?

–金权
20年7月22日在2:13

抱歉,@ JinKwon,我不明白你的问题。

–茉莉
20年8月11日在7:11

没关系。错误的问题。我什至不明白我在问什么。抱歉。我想我想知道-90.00000001和-180.00000001中的那些片段。

–金权
20年8月11日在7:52



#7 楼

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

对于特定的地图投影,这些值必须以米为单位。例如,UTM区域11中的Assiniboine峰(在50°52′10″ N 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中

– jonincanada
20年8月16日在14:44