经纬度BL换算到高斯平面直角坐标XY(高斯投影正算)的源码及.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

经纬度BL换算到高斯平面直角坐标xy(高斯投影正算)

private function bl2xy(byref a2 as double, byref f2 as double, byref e2 as double, _ byref s2 as double, byref t2 as double as boolean 'a2 输入中央子午线,以度.分形式输入,如115度30分则输入115.30; 起算数据l0

'f2 以度小数形式输入经度值, l

'e2 以度小数形式输入纬度值,b

's2 计算结果,横坐标y

't2 计算结果,纵坐标x

'投影带号计算n=[l/6]+1 如:测得经度103.xxxx,故n=[103.x/6]+1=17+1=18

'中央经线经度l0 = n*6-3 = [l/6]*6+3

dim b2 as double

'dim g2 as double

dim h2 as double

dim i2 as double

dim j2 as double

dim k2 as double

dim l2 as double

dim m2 as double

dim n2 as double

dim o2 as double

dim p2 as double

dim q2 as double

dim r2 as double

b2 = int(a2 + (int(a2 * 100 - int(a2 * 100 / 60 + (a2 * 10000 -

int(a2 * 100 * 100 / 3600

'把l0化成度(a2

'g2 = f2 - b2 ' l -l0

'h2 = g2 / 57.2957795130823 '化作弧度

h2 = (f2 - b2 / 57.2957795130823 '将经差的单位化为弧度

i2 = tan(e2 / 57.2957795130823 'tan (b

j2 = cos(e2 / 57.2957795130823 ' cos (b

k2 = 0.006738525415 * j2 * j2

l2 = i2 * i2

m2 = 1 + k2

n2 = 6399698.9018 / sqr(m2

o2 = h2 * h2 * j2 * j2

p2 = i2 * j2

q2 = p2 * p2

r2 = (32005.78006 + q2 * (133.92133 + q2 * 0.7031 s2 = ((((l2 - 18 * l2 - (58 * l2 - 14 * k2 + 5 * o2 / 20 + m2 -

l2 * o2 / 6 + 1 * n2 * (h2 * j2

s2 = s2 + 18500000 '在计算的基础上加上了“带号”(18)和“东移”(500km)

'计算结果,横坐标y

t2 = 6367558.49686 * e2 / 57.29577951308 - p2 * j2 * r2 + ((((l2 -

58 * l2 + 61 * _

o2 / 30 + (4 * k2 + 5 * m2 - l2 * o2 / 12 + 1 * n2 * i2 * o2 / 2

'计算结果,纵坐标x

'msgbox "pts2= " & s2 & " pt t2= " & t2

bl2xy = true

end function

相关文档
最新文档