纬度和经度可以多长时间?
我正在通过Windows Phone设备发送非常长的长度:
Latitude=-63572375290155
Longitude=106744840359415
这超出了我的表列大小,我收到错误。
南半球和北半球的有效纬度范围分别为-90和+90。经度分别在-180和+180的范围内指定Prime Meridian的西和东的坐标。
作为参考,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厘米。例如,Google地球和Google地图的图像通常为1米分辨率,有些地方的分辨率最高为每像素1英寸。一米分辨率可以使用5个小数位表示,因此超过6个小数位对于该分辨率是无关紧要的。赤道经度之间的距离与纬度相同,但随着经线在该点汇合,经度之间的距离在极点处达到零。
如果“纬度”值报告为-6.3572375290155或-63.572375290155,那么您可以舍入并存储最多6个小数位,精度为10厘米(或0.1米)。
对于毫米(mm)精度,则表示纬度/经度,十进制度格式为8位小数。由于大多数应用程序不需要这种精度,因此对于大多数情况,6位小数就足够了。
在另一个方向上,整数十进制度表示~111 km(或60海里)的距离,0.1的十进制度差表示~11平方公里的面积。
下面是使用0,0作为起始点的#decimal的纬度与delta度和以米为单位的估计距离的表。
decimal decimal distance
places degrees (in meters)
------- --------- -----------
1 0.1000000 11,057.43 11 km
2 0.0100000 1,105.74 1 km
3 0.0010000 110.57
4 0.0001000 11.06
5 0.0000100 1.11
6 0.0000010 0.11 11 cm
7 0.0000001 0.01 1 cm
度 - 分 - 秒(DMS)表示
对于DMS表示法1弧秒= 1/60/60度= ~30米长度和0.1弧秒Δδ为~3米。
例:
1弧分= 1/60度= ~2000米(2km)
更新:这是一个关于坐标精度和一些幽默的blog post。
+90
到-90
+180
到-180
纬度最大总数为: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
有效经度为-180至180度。
纬度应该在-90度到90度之间,但非常接近极点的区域是不可转位的。
如此精确限制,由EPSG:900913 / EPSG:3785 / OSGEO:41001规定如下:
在SQL Server中存储Lat Long值的理想数据类型是十进制(9,6)
正如其他人所说,这个精度大约为10厘米,而只使用5个字节的存储空间。
例如CAST(123.456789 as decimal(9,6)) as [LatOrLong]
请检查UTM坐标系https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system。
对于特定的地图投影,这些值必须以米为单位。例如,UTM区11中的阿西尼博因山(在50°52'10“N 115°39'03”W处)的峰值由11U 594934.108296 5636174.091274表示,其中(594934.108296,5636174.091274)以米为单位。