高斯直角坐标系坐标怎么和经纬网转换

您的位置:> -&
-& >下载 档案号:#133794
软件授权:
软件大小:
软件语言:
软件评级:
官方主页:
更新时间:
应用平台:
复制到论坛
复制到博客
绿盟口号! 伸出你的手 - 绿色分享:
官方评级:3/125
同类软件推荐
本类下载排行经纬度转换高斯坐标_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
格式 文档名称 用户评分 浏览量 下载量&& 查看话题
【分享】高斯克吕格与经纬度坐标值转换代码(VB)
高斯克吕格与经纬度坐标值转换代码
'Writen by Rodger Yuan 9 5 2006
'用于在经纬度坐标和高斯克吕格坐标之间的转换。
'高斯克吕格为一种投影,根据椭球体和基准面不同又有所区分,常用的北京54和西安80即
'采用这种投影方式,投影后的坐标为平面坐标系,单位为米
'现在参数的坐标系采用测绘坐标系,x为纵坐标,y为横坐标
'返回参数为自定义类型,双精度点
'调用转换函数前需要调用初始化过程进行初始化
'-------------------------------------------------------------------------------
'Public Sub init(ByVal TuoqiuCanshu As Canshu, ByVal Daihao As Integer)
'说明: 用于初始化转换参数
'TuoqiuCanshu&&枚举类型,提供北京54、西安80和WGS84三个椭球参数
'Daihao&&整型&&为高斯克吕格投影六度分带带号,取值为1~60
'-------------------------------------------------------------------------------
'Public Sub initEx(ByVal dE As Double, ByVal dN As Double, ByVal k0 As Double)
'说明: 用于进一步初始化转换参数(暂不提供)
'dE&&东偏移
'dE&&北偏移
'k0&&比例因子
'-------------------------------------------------------------------------------
'Public Function JWgetGK(ByVal W As Double, ByVal J As Double) As PointD
'************************************************************************
'基本变量定义
Dim a As Double '椭球体长半轴
Dim b As Double '椭球体短半周
Dim f As Double '扁率
Dim e As Double '第一偏心率
Dim eq As Double '第二偏心率
Dim dh As Integer '带号
Dim FE As Double '东偏移
Dim FN As Double '北偏移
Dim L0 As Double '中央经度
Dim k0 As Double '比例因子
Const PI As Double = 3.79
Public Enum Canshu
& & Beijing54 = 0
& & Xian80 = 1
& & WGS84 = 2
Public Type PointD
& & X As Double
& & Y As Double
Public Sub init(ByVal TuoqiuCanshu As Canshu, ByVal Daihao As Integer)
Select Case TuoqiuCanshu
'Krassovsky (北京54采用)
'IAG 75(西安80采用)
Case 0: '北京五四
& & a = 6378245
Case 1: '西安八零
& & a = 6378140
Case 2: 'WGS84
& & a = 6378137
End Select
f = (a - b) / a
e = Sqr(1 - (b / a) ^ 2)
eq = Sqr((a / b) ^ 2 - 1)
60 Then Exit Sub
dh = Daihao
L0 = (6 * dh - 3) * PI / 180
FE = 500000 + dh * 1000000
Public Sub initEx(ByVal dE As Double, ByVal dN As Double, ByVal dk0 As Double)
Public Function JWgetGK(ByVal W As Double, ByVal J As Double) As PointD
'给出经纬度坐标,转换为高克投影坐标
Dim BY As Double
Dim LX As Double
Dim TC As Double
Dim CC As Double
Dim AC As Double
Dim MC As Double
Dim NC As Double
Dim rx As Double
Dim ry As Double
Dim resultP As PointD
BY = W * PI / 180
LX = J * PI / 180
TC = Math.Tan(BY) ^ 2
CC = eq ^ 2 * Cos(BY) ^ 2
AC = (LX - L0) * Cos(BY)
MC = a * ((1 - e ^ 2 / 4 - 3 * e ^ 4 / 64 - 5 * e ^ 6 / 256) * BY - (3 * e ^ 2 / 8 + 3 * e ^ 4 / 32 + 45 * e ^ 6 / 1024) * Sin(2 * BY) + (15 * e ^ 4 / 256 + 45 * e ^ 6 / 1024) * Sin(4 * BY) - (35 * e ^ 6 / 3072) * Sin(6 * BY))
NC = a / Sqr(1 - e ^ 2 * (Sin(BY)) ^ 2)
rx = k0 * (MC + NC * Tan(BY) * (AC ^ 2 / 2 + (5 - TC + 9 * CC + 4 * CC ^ 2) * AC ^ 4 / 24) + (61 - 58 * TC + T ^ 2 + 270 * CC - 330 * TC * CC) * AC ^ 6 / 720)
ry = FE + k0 * NC * (AC + (1 - TC + CC) * AC ^ 3 / 6 + (5 - 18 * TC + TC ^ 2 + 14 * CC - 58 * TC * CC) * AC ^ 5 / 120)
resultP.X = rx
resultP.Y = ry
JWgetGK = resultP
End Function
Public Function GKgetJW(ByVal X As Double, ByVal Y As Double) As PointD
'给出高克投影坐标,转换为经纬度坐标
Dim BY As Double
Dim LX As Double
Dim e1 As Double
Dim FI As Double
Dim Mf As Double
Dim Bf As Double
Dim Tf As Double
Dim Cf As Double
Dim Nf As Double
Dim Rf As Double
Dim D As Double
Dim RW As Double '纬度
Dim RJ As Double '经度
Dim resultP As PointD
e1 = (1 - b / a) / (1 + b / a)
Mf = (XN - FN) / k0
FI = Mf / (a * (1 - e ^ 2 / 4 - 3 * e ^ 4 / 64 - 5 * e ^ 6 / 256))
Bf = FI + (3 * e1 / 2 - 27 * e1 ^ 3 / 32) * Sin(2 * FI) + (21 * e1 ^ 2 / 16 - 55 * e1 ^ 4 / 32) * Sin(4 * FI) + (151 * e1 ^ 3 / 96) * Sin(6 * FI)
Tf = Tan(Bf) ^ 2
Cf = eq ^ 2 * Cos(Bf) ^ 2
Nf = a / Sqr(1 - e ^ 2 * Sin(Bf) ^ 2)
Rf = a * (1 - e ^ 2) / Sqr((1 - e ^ 2 * Sin(Bf) ^ 2) ^ 3)
D = (YE - FE) / (k0 * Nf)
RW = Bf - (Nf * Tan(Bf) / Rf) * (D ^ 2 / 2 - (5 + 3 * Tf + Cf - 9 * Tf * Cf) * D ^ 4 / 24 + (61 + 90 * Tf + 45 * Tf ^ 2) * D ^ 6 / 720)
RJ = L0 + 1 / Cos(Bf) * (D - (1 + 2 * Tf + Cf) * D ^ 3 / 6 + (5 + 28 * Tf + 6 * Cf + 8 * Tf * Cf + 24 * Tf ^ 2) * D ^ 5 / 120)
resultP.X = RW * 180 / PI
resultP.Y = RJ * 180 / PI
GKgetJW = resultP
End Function
好象在反算时,计算初始值要用迭代,你这没有? 强人,
再回头请教 :arm:
谢谢 谢谢您的 分享,不知你还上不上小木虫,
有问题请教,金币多多,谢谢。 i wanna to try again~thank you~:hand:
var cpro_id = 'u1216994';
欢迎监督和反馈:本帖内容由
提供,小木虫仅提供交流平台,不对该内容负责。欢迎协助我们监督管理,共同维护互联网健康,如果您对该内容有异议,请立即发邮件到
联系通知管理员,也可以通过QQ周知,我们的QQ号为:8835100
我们保证在1个工作日内给予处理和答复,谢谢您的监督。
小木虫,学术科研第一站,为中国学术科研研究提供免费动力
广告投放请联系QQ: &
违规贴举报删除请联系邮箱: 或者 QQ:8835100
Copyright &
eMuch.net, All Rights Reserved. 小木虫 版权所有如何将经纬度坐标转换成对应的高斯坐标?_百度知道
如何将经纬度坐标转换成对应的高斯坐标?
最好有什么软件啥的
提问者采纳
试试在ARCgis中,转换坐标系。
其他类似问题
高斯坐标的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁经纬度坐标与高斯坐标的转换代码_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
经纬度坐标与高斯坐标的转换代码
功​能​说​明​:​ ​将​绝​对​高​斯​坐​标​(​y​,​x​)​转​换​成​绝​对​的​地​理​坐​标​(​w​d​,​j​d​)​。​ ​ ​ ​ ​ ​ ​ ​ ​*​/​
​
​/​/​ ​d​o​u​b​l​e​ ​y​;​ ​ ​ ​ ​ ​输​入​参​数​:​ ​高​斯​坐​标​的​横​坐​标​,​以​米​为​单​位​ ​
​
​/​/​ ​d​o​u​b​l​e​ ​x​;​ ​ ​输​入​参​数​:​ ​高​斯​坐​标​的​纵​坐​标​,​以​米​为​单​位
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢
20080份文档

我要回帖

更多关于 高斯直角坐标系 的文章

 

随机推荐