#!/ usr/bin/python
# -*- coding:utf-8 -*-import mathdef LatLon2XY(latitude, longitude):a = 6378137.0# b = 6356752.3142# c = 6399593.6258# alpha = 1 / 298.257223563e2 = 0.0066943799013# epep = 0.00673949674227#将经纬度转换为弧度latitude2Rad = (math.pi / 180.0) * latitudebeltNo = int((longitude + 1.5) / 3.0) #计算3度带投影度带号L = beltNo * 3 #计算中央经线l0 = longitude - L #经差tsin = math.sin(latitude2Rad)tcos = math.cos(latitude2Rad)t = math.tan(latitude2Rad)m = (math.pi / 180.0) * l0 * tcoset2 = e2 * pow(tcos, 2)et3 = e2 * pow(tsin, 2)X = 111132.9558 * latitude - 16038.6496 * math.sin(2 * latitude2Rad) + 16.8607 * math.sin(4 * latitude2Rad) - 0.0220 * math.sin(6 * latitude2Rad)N = a / math.sqrt(1 - et3)x = X + N * t * (0.5 * pow(m, 2) + (5.0 - pow(t, 2) + 9.0 * et2 + 4 * pow(et2, 2)) * pow(m, 4) / 24.0 + (61.0 - 58.0 * pow(t, 2) + pow(t, 4)) * pow(m, 6) / 720.0)y = 500000 + N * (m + (1.0 - pow(t, 2) + et2) * pow(m, 3) / 6.0 + (5.0 - 18.0 * pow(t, 2) + pow(t, 4) + 14.0 * et2 - 58.0 * et2 * pow(t, 2)) * pow(m, 5) / 120.0)return x, y#x为带代号的坐标,L0为中央经线
def XY2LatLon(X, Y, L0):iPI = 0.0174532925199433a = 6378137.0f= 0.00335281006247ZoneWide = 3 #按3度带进行投影ProjNo = int(X / 1000000)L0 = L0 * iPIX0 = ProjNo * 1000000 + 500000Y0 = 0xval = X - X0yval = Y - Y0e2 = 2 * f - f * f #第一偏心率平方e1 = (1.0 - math.sqrt(1 - e2)) / (1.0 + math.sqrt(1 - e2))ee = e2 / (1 - e2) #第二偏心率平方M = yvalu = M / (a * (1 - e2 / 4 - 3 * e2 * e2 / 64 - 5 * e2 * e2 * e2 / 256))fai = u \+ (3 * e1 / 2 - 27 * e1 * e1 * e1 / 32) * math.sin(2 * u) \+ (21 * e1 * e1 / 16 - 55 * e1 * e1 * e1 * e1 / 32) * math.sin(4 * u) \+ (151 * e1 * e1 * e1 / 96) * math.sin(6 * u)\+ (1097 * e1 * e1 * e1 * e1 / 512) * math.sin(8 * u)C = ee * math.cos(fai) * math.cos(fai)T = math.tan(fai) * math.tan(fai)NN = a / math.sqrt(1.0 - e2 * math.sin(fai) * math.sin(fai))R = a * (1 - e2) / math.sqrt((1 - e2 * math.sin(fai) * math.sin(fai)) * (1 - e2 * math.sin(fai) * math.sin(fai)) * (1 - e2 * math.sin(fai) * math.sin(fai)))D = xval / NN#计算经纬度(弧度单位的经纬度)longitude1 = L0 + (D - (1 + 2 * T + C) * D * D * D / 6 + (5 - 2 * C + 28 * T - 3 * C * C + 8 * ee + 24 * T * T) * D * D * D * D * D / 120) / math.cos(fai)latitude1 = fai - (NN * math.tan(fai) / R) * (D * D / 2 - (5 + 3 * T + 10 * C - 4 * C * C - 9 * ee) * D * D * D * D / 24 + (61 + 90 * T + 298 * C + 45 * T * T - 256 * ee - 3 * C * C) * D * D * D * D * D * D / 720)#换换为deglongitude = longitude1 / iPIlatitude = latitude1 / iPIreturn latitude, longitude

高斯坐标反算公式——python实现相关推荐

  1. 高斯坐标反算坐标转经纬度

    最近做项目的时候,有一块需求是在地图上画图,涉及到经纬度.但是我们拿到的数据是北京54坐标,不是经纬度,辗转求方法不得,就自己在网上搜索算法并加以改造,实验得出在谷歌卫星地图上很准确,但是在百度地图. ...

  2. 高斯投影坐标正反算公式

    §8.3高斯投影坐标正反算公式 任何一种投影①坐标对应关系是最主要的:②如果是正形投影,除了满足正形投影的条件外(C-R偏微分方程),还有它本身的特殊条件. 8.3.1高斯投影坐标正算公式:  高斯投 ...

  3. 坐标反算计算起始方位角_谁会坐标正算反算的公式,怎么计算两个坐标的方位角...

    匿名用户 1级 2013-06-15 回答 现在都用5800了,谁还用4800.通过方位角和距离,求出和已知点都坐标增量.然后求出该点坐标.如果你都已知点是个假设的,那么还要用坐标转换,求出真正的坐标 ...

  4. 保姆级C语言版高斯坐标正算反算倾情奉献!

    文章目录 正反算原理速递 C语言正反算实现 坐标正算 坐标反算 扩展阅读: [小程序]坐标正算神器V1.0(附C/C#/VB源程序) 测量人看过来:多种语言编写的测量坐标反算神器附源码(C#/VB) ...

  5. 高斯坐标正反算c语言,高斯投影坐标正反算编程报告

    <高斯投影坐标正反算编程报告>由会员分享,可在线阅读,更多相关<高斯投影坐标正反算编程报告(11页珍藏版)>请在人人文库网上搜索. 1.高斯投影坐标正反算编程报告1. 编程思想 ...

  6. 高斯投影坐标正算公式详解

    高斯投影坐标正算 高斯投影又称横轴椭圆柱等角投影. 高斯投影6度带,自0度带子午线起每隔经差6度自西向东分带,一次编号1,2,3,-.我国6度带中央子午线的经度,由69度起每隔6度而至135度,共计1 ...

  7. 坐标反算c语言程序,道路坐标正反算无限个拐点计算器测量程序(新20070825)

    <道路坐标正反算无限个拐点计算器测量程序(新20070825)>由会员分享,可在线阅读,更多相关<道路坐标正反算无限个拐点计算器测量程序(新20070825)(10页珍藏版)> ...

  8. 由高斯投影坐标反算成经纬度

    // 由高斯投影坐标反算成经纬度 public static double[] GaussToBL(double X, double Y){double[] output = new double[2 ...

  9. 测量人看过来:多种语言编写的测量坐标反算神器附源码(C#/VB)

    坐标正算:[小程序]坐标正算神器V1.0(附源程序) 坐标反算一直是困扰测量人的一个问题,坐标反算是指已知两点坐标,反求边长和方位角.本文演示用C#和VB语言实现过程. 文章目录 一.坐标反算原理 1 ...

最新文章

  1. 经理人必须抛弃的十个习惯思维
  2. android+对比标签选择顺序是否正确的是,2019年Android题库含答案.docx
  3. 【Zookeeper】Zookeeper集群“脑裂”问题处理大全
  4. “你写的 Bug 让我来改好吗” | 每日趣闻
  5. ASP.NET-get与post模式的区别
  6. 抖音gorgon算法04php,抖音xgorgon(0401)获取方法及演示
  7. MYSQ 查看 2 进制日志
  8. Struts2_2_解决配置文件冗余_动作类对象数据封装_数据类型转换_表单数据信息提示
  9. LeetCode 2023. 连接后等于目标字符串的字符串对
  10. vc++6.0中创建工程时选Win32 Application和Win32 console Application的区别
  11. java实现用户分组,根据用户指定的组分组数据
  12. ds18b20温度转换指令_学习心得 | 温度检测工程模块划分总结与案例分析
  13. 用nginx-rrd监控nginx访问数
  14. SD卡、TF卡坏道及容量检测
  15. socket通信显示连接被拒绝问题总结
  16. Three.js 绘图之不规则路径 3D 墙体生成算法
  17. 运维网络设备监控平台搭建,网管平台 智能化网 管解决方案,实现智能拓扑管理
  18. Django电商项目(八)短信验证码的前后端实现
  19. MYSQL安装和初始化配置
  20. 解决QT加载dll失败问题

热门文章

  1. python爬取百度云网盘资源-源码
  2. 小队pkc++_骑士小队2人金属第一印象
  3. VTK:体绘制裁剪——Clipping技术
  4. 16、ADS使用记录之AB类功放设计
  5. org.dom4j.DocumentException: Error on line 1 of document : Content is not allowed in prolog. Nested
  6. 80%码农都难以逃脱的痛,你中招了嘛?
  7. 未来有几种?聊聊气候情景(climate scenarios)的故事
  8. [某人的题解]徒步旅行(travel)
  9. win7 上配置openGL开发环境(配套openGL 超级宝典Super Bible 6th)
  10. linux 修改系统时间和日期,Linux 修改系统日期和时间