在MySQL中,我们可以使用一些函数来实现经纬度的转换,将度分秒表示的经纬度转换为十进制表示的经纬度。本文将介绍如何使用MySQL实现经纬度的转换,并提供详细的步骤和代码示例。
使用函数将度分秒表示的经纬度转换为十进制表示
UPDATE locations SET decimal_latitude = CONVERT( SUBSTRING_INDEX(latitude, '°', 1) + SUBSTRING_INDEX(SUBSTRING_INDEX(latitude, '°', -1), '\'', 1) / 60 + SUBSTRING_INDEX(SUBSTRING_INDEX(latitude, '\'', -1), '\"', 1) / 3600, DECIMAL(10, 8) ), decimal_longitude = CONVERT( SUBSTRING_INDEX(longitude, '°', 1) + SUBSTRING_INDEX(SUBSTRING_INDEX(longitude, '°', -1), '\'', 1) / 60 + SUBSTRING_INDEX(SUBSTRING_INDEX(longitude, '\'', -1), '\"', 1) / 3600, DECIMAL(11, 8) );
mysql经纬度转度分秒 经纬度表格转为度分秒
在开发过程中从地图取点的经纬度通常在展示的时候需要转换为度分秒展示, 如 119.299307 展示为 119°17'58''。
只需简单利用Math函数即可。同样的代码也可应用于JavaScript代码,只需将Abs、Floor等首字母改为小写即可。
代码如下
double tempValue = Convert.ToDouble(value); tempValue = Math.Abs(tempValue); var v1 = Math.Floor(tempValue);//度 var v2 = Math.Floor((tempValue - v1) * 60);//分 var v3 = Math.Round((tempValue - v1) * 3600 % 60);//秒 value= v1+"°"+v2+"'"+v3+"''";
本文由 admin 创作,采用 知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:2023-10-25 14:04:02