设为首页收藏本站考试倒计时结束

航99路桥论坛 [bbs.Hang99.Com]

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1450|回复: 1

[程序编程、计算] 关于经纬度坐标转换的方法

[复制链接]
发表于 2011-5-17 14:46:04 | 显示全部楼层 |阅读模式

马上注册,享用更多功能,让你轻松下载更多精品资料。

您需要 登录 才可以下载或查看,没有帐号?注册

x
一、十进制转换成经纬度
把经纬度转换成十进制的方法很简单
如下就可以了
     Decimal Degrees = Degrees + minutes/60 + seconds/3600
例:57°55'56.6" =57+55/60+56.6/3600=57.9323888888888
114°65'24.6"=114+65/60+24.6/3600=结果自己算!
  
如把经纬度  (longitude,latitude) (205.395583333332,57.9323888888888)
转换据成坐标(Degrees,minutes,seconds)(205°23'44.1",57°55'56.6")。
步骤如下:
1, 直接读取"度":205
2,(205.395583333332-205)*60=23.734999999920 得到"分":23
3,(23.734999999920-23)*60=44.099999995200 得到"秒":44.1
采用同样的方法可以得到纬度坐标:57°55'56.6"
如果需要转换的经纬度数据很多,可以借助Sql查询分析器或Excel来进行转换。这里介绍用Sql实现。
假如我的数据库里的表tableName有以下数据
CREATE TABLE [dbo].[tableName](
[ID] [int] IDENTITY(1,1) NOT NULL,
[address] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[longitude] [float] NULL,
[latitude] [float] NULL
) ON [PRIMARY]
GO
表中的数据
ID address longitude latitude
0 add1 205.3955833 57.93238889
1 add2 205.3911111 57.95194444
2 add3 205.3791667 57.98916667
3 add4 205.3713889 57.95611111
在sql 查询分析器里直接调用以下查询语句
--Declare The longitude,latitude
declare @LoaDeg varchar(50)
declare @LoaMin varchar(100)
declare @LoaSec varchar(100)
declare @LatDeg varchar(50)
declare @LatMin varchar(100)
declare @LatSec varchar(100)
--Set The Variable
Set @LoaDeg='left(longitude,3)'
Set @LoaMin='left((
longitude-'+@LoaDeg+')*60,2)'
Set @LoaSec='left((((longitude-'+@LoaDeg+')*60-'+@LoaMin+')*60),4)'
Set @LatDeg='left(longitude,3)'
Set @LatMin='left((
longitude-'+@LatDeg+')*60,2)'
Set @LatSec='left((((longitude-'+@LatDeg+')*60-'+@LatMin+')*60),4)'
--Execute The Command
exec('select ID,address,longitude,
'+@LoaDeg+' as LoaDegree,
'+@LoaMin+' as LoaMinute,
'+@LoaSec+' as LoaSecond
,
'+@LatDeg+' as LatDegree,
'+@LatMin+' as LatMinute,
'+@LatSec+' as LatSecond
from TableName')

即可得到:
ID address longitude LoaDegree LoaMinute LoaSecond latitude LatDegree LatMinute LatSecond
1 add1 205.3955833 205 23 44 57.93238889 205 23 44
2 add2 205.3911111 205 23 28 57.95194444 205 23 28
3 add3 205.3791667 205 22 45 57.98916667 205 22 45
4 add4 205.3713889 205 22 17 57.95611111 205 22 17

发表于 2012-4-25 23:51:59 | 显示全部楼层
本帖最后由 liubao 于 2015-9-1 11:12 编辑

必须得顶呀 ЙЙ Й
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

精彩活动上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|bbs.Hang99.Com 航99路桥论坛 ( 粤ICP备10236578号 )

GMT+8, 2024-11-23 15:37 , Processed in 0.081588 second(s), 21 queries .

Powered by Discuz! X3.4

© 2010-2019 Comsenz Inc.

粤公网安备 44200002443683号

快速回复 返回顶部 返回列表