纬度和经度可以有多少位数字,小数点前和小数点后?
这是我从 Windows Phone 设备发送的位置获取的示例:
Latitude=-63572375290155
Longitude=106744840359415
这很长,超出了我的表格列大小并导致错误。
纬度和经度可以有多少位数字,小数点前和小数点后?
这是我从 Windows Phone 设备发送的位置获取的示例:
Latitude=-63572375290155
Longitude=106744840359415
这很长,超出了我的表格列大小并导致错误。
如果纬度坐标以十进制度数报告为 -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 表示法,1 弧秒 = 1/60/60 度 = ~30 米长,0.1 弧秒增量为 ~3 米。
例子:
0° 0' 0" W, 0° 0' 0" N
⟹ 0° 0' 0" W, 0° 0' 1" N
⟹ 30.715 米0° 0' 0" W, 0° 0' 0" N
⟹ 0° 0' 0" W, 0° 0' 0.1" N
⟹ 3.0715 米1 弧分 = 1/60 度 = ~2000m (2km)
这是一个关于坐标精度的有趣漫画。
谷歌地图实际上使用带符号的值来表示位置:
纬度:最大/分钟90.0000000
到-90.0000000
经度:最大/分钟180.0000000
至-180.0000000
因此,如果您想在项目中使用坐标,则需要 DECIMAL(10,7) 即。对于 SQL。
有效经度为 -180 到 180 度。
纬度应该是从 -90 度到 90 度,但是非常靠近两极的区域是不可索引的。
因此,由 EPSG:900913 / EPSG:3785 / OSGEO:41001 指定的确切限制如下:
最大纬度总共是: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 服务接受。
在 SQL Server 中存储 Lat Long 值的理想数据类型是 decimal(9,6)
正如其他人所说,这大约是 10 厘米精度,而仅使用 5 个字节的存储空间。
例如CAST(123.456789 as decimal(9,6)) as [LatOrLong]
我知道已经有几个答案,但我添加了这个,因为这增加了关于小数位的大量信息,因此增加了询问的最大长度。
纬度和经度的长度取决于精度。每个的绝对最大长度为:
对于两个持有:最多 8 个小数位是可能的(尽管不常用)。
对精度依赖的解释:
请参阅维基百科上的十进制度数文章中的完整表格
请检查 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) 以米为单位。