经纬度度分秒转换小数.sql[原创]
--Make data for test
declare @T table(lat varchar(50),lon varchar(50))
insert into @T select '14°′″','14°′″' union all
select '12°′″','15°′″' union all
select '33°′″','34°′″' union all
select '16°′″','94°′″' union all
select '46°′″','74°′″' union all
select '56°′″','16°′″'
--Test mark
select lat,Charindex('°',lat) '°',
Charindex('′',lat) '′',
Charindex('″',lat) '″',
lon,Charindex('°',lon) '°',
Charindex('′',lon) '′',
Charindex('″',lon) '″'
from @T
--make temp data
if object_id('tempdb..#t') is not null
begin
drop table #t
end
select lat,Substring(lat,1,Charindex('°',lat)-1) 'latdegree',
Substring(lat,Charindex('°',lat)+1,Charindex('′',lat)-1-Charindex('°',lat)) 'latcent',
Substring(lat,Charindex('′',lat)+1,Charindex('″',lat)-1-Charindex('′',lat)) 'latsecond',
lon,Substring(lon,1,Charindex('°',lon)-1) 'londegree',
Substring(lon,Charindex('°',lon)+1,Charindex('′',lon)-1-Charindex('°',lon)) 'loncent',
Substring(lon,Charindex('′',lon)+1,Charindex('″',lon)-1-Charindex('′',lon)) 'lonsecond'
into #t
from @T
--Make result
declare @multiplycent int
declare @multiplysecond int
declare @dividecent int
declare @dividesecond int
declare @divide float
set @multiplycent =1000000
set @multiplysecond = 100000
set @dividecent=6
set @dividesecond=36
set @divide = 10000000.0
if object_id('tempdb..#result') is not null
begin
drop table #result
end
select lat,latdegree,latcent,latsecond,
latdegree+str(latcent*@multiplycent/@dividecent+latsecond*@multiplysecond/@dividesecond)/@divide as 'decimallat',
lon,londegree,loncent,lonsecond,
londegree+str(loncent*@multiplycent/@dividecent+lonsecond*@multiplysecond/@dividesecond)/@divide as 'decimallon'
into #result
from #t
--View the result data round decimal six bit
select lat,decimallat,lon,decimallon,Round(decimallat,6) as resuldlat,Round(decimallon,6) as resultlon from #result
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13972900/viewspace-444250/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13972900/viewspace-444250/
经纬度度分秒转换小数.sql[原创]相关推荐
- Excel常用技巧(1)——经纬度度分秒转换十进制度格式
以B列4行数据为例: 输入公式: =(LEFT(B4,FIND("°",B4)-1))+MID(B4,FIND("°",B4)+1,FIND("′&q ...
- Excel里面经纬度度分秒转换成度
=LEFT(A1,FIND("°",A1)-1)*1+MID(A1,FIND("°",A1)+1,2)/60+MID(A1,FIND("′" ...
- 经纬度度分秒格式和度格式转换
常见的经纬度格式分为以下三种形式: 度: ( ddd.ddddd °) 十进制小数部分(5位) 百度地图,谷歌 ...
- Excel 经纬度度分秒转化为小数格式
一.采用替换算法 懒人办法,直接通过Excel替换功能完成计算.假设Excel中有这样一串数据: 现希望将它变成小数形式.打开Excel替换对话框,不断进行替换-- 将°替换成+ 将"E(或 ...
- 经纬度度分秒与十进制之间的转换
原文出处:http://blog.sina.com.cn/s/blog_53fc3ca10100chkz.html 设117.59709是某个经度的十进制表示,则起对应的经度用度分秒表示的方法为: 0 ...
- 将经纬度数字形转换为时分秒形式
//将经纬度数字形转换为时分秒形式 public static String changeDoubleToString(Double a){String b="";String[] ...
- 经纬度度与度分格式转化
前言 在做定位服务的时候,惯导设备的经纬度数据经常以度分格式的形式输出,而我们要进行业务处理时,则经常要将度分格式转化为度的格式,方便计算.在查找了一些资料之后,记录了解决的办法,方便后面查看. 一. ...
- Win32 API 窗口版本转换度分秒为小数
经纬度的度分秒和小数之间转换是做GIS时常用的:下面实现一个Win32 API 版本度分秒转换为小数: 与此网站对比: http://www.gzhatu.com/du2dfm.html 使用VC++ ...
- python 时分秒毫秒_python将时分秒转换成秒的实例
处理数据的时候遇到一个问题,从数据库里导出的数据是时分秒的格式:hh:mm:ss ,现在我需要把它转换成秒,方便计算. 原数据可能分两种情况,字段有可能是文本字符串类型的,也有可能是时间类型,他们的处 ...
- python处理时间格式时分秒_python将时分秒转换成秒的实例
处理数据的时候遇到一个问题,从数据库里导出的数据是时分秒的格式:hh:mm:ss ,现在我需要把它转换成秒,方便计算. 原数据可能分两种情况,字段有可能是文本字符串类型的,也有可能是时间类型,他们的处 ...
最新文章
- 用“逐步排除”的方法定位Java服务线上“系统性”故障
- 阿里跳槽拼多多,80万年薪涨到160万,值不值得去?
- 写给新手程序员的一封信
- 3d max用不同目标做关键帧_基于光流的视频目标检测系列文章解读
- C/C++函数调用的压栈模型
- java i o总结_Java I/O 总结
- [学习笔记]在数据库层面应对并发访问产生的问题
- WhatsApp翻译器 — tranworld翻译助手,ZALO LINE KaKao badoo buble tiktok facebook 社交聊天软件一键自动双向即时翻译
- 计算机显示的数据的格式,GPS 数据格式及显示问题!!!
- 去掉svn的蓝色问号
- 重装系统怎样设置从U盘启动的详细教程
- 【密码学基础】06 高级加密标准AES
- 永中word页码怎么从第二页开始_word转pdf软件有哪些?word转pdf软件怎么操作?
- Longest Commen Prefix
- 微信小程序学习笔记3
- SpringCloud分布式微服务搭建(一)
- android运行模拟器时出现Unfortunately xxx has stopped的解决办法(实用)
- AbsoluteLayout xiantu
- 使用RD Client来远程桌面(cell-coder)
- PROE问题解决【开机显示thumbnail viewer未安装】【打开出现“当前页面脚本发生错误”】