weixin_42342672 2021-06-11 23:55 采纳率: 50%
浏览 505
已采纳

跪求xy坐标转经纬度转换公式

现有A、B两点的xy坐标位置,A点的坐标为(19573,-19145)B点的坐标为
-19646,17527,已知A点的经纬度为(118.81877912721681,32.28919981944475),B点的经纬度为(118.81327445028852,32.2877569526169),需要根据AB两点的xy坐标和经纬度得出转换公式。

 

  • 写回答

2条回答 默认 最新

  • 爱晚乏客游 2021-06-12 03:35
    关注

    简单写了个推理过程,计算用的python的numpy库。

    import numpy as np
    np.set_printoptions(precision=16) #设置下输出长度
    a=[19573.0,-19145.0]
    aa=[118.81877912721681,32.28919981944475]
    
    b=[-19646.0,17527.0]
    bb=[118.81327445028852,32.2877569526169]
    A=np.array([a,b],dtype=np.float64) #将a和b合并在一起
    B=np.array([aa,bb],dtype=np.float64) #将aa和bb合并
    inv_A=np.linalg.inv(A) #A的逆矩阵
    X= np.linalg.inv(A).dot(B)     #这个步骤就是 M=A-1 *b
    print("#############变换矩阵:#################")
    print(X)
    print("###############验证结果:#####################")
    print("A点坐标变换结果:")
    print(np.array(a).dot(X))
    print("B点坐标变换结果:")
    print(np.array(b).dot(X))
    
    #out
    #############变换矩阵:#################
    [[-0.1317705429596557 -0.035808893778398 ]
     [-0.140922622955161  -0.0382959873462538]]
    ###############验证结果:#####################
    A点坐标变换结果:
    [118.8187791272162   32.28919981944466]
    B点坐标变换结果:
    [118.8132744502891   32.28775695261709]

    X=[ a    b
           c     d ]

    所以最后的结果是坐标A[x,y]换算到经纬度的换算公式

    经度=a*x+c*y= -0.13177054*x-0.14092262 *y

    纬度=b*x+d*y=-0.03580889*x -0.03829599*y

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)
  • ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
  • ¥30 eclipse开启服务后,网页无法打开
  • ¥30 雷达辐射源信号参考模型
  • ¥15 html+css+js如何实现这样子的效果?
  • ¥15 STM32单片机自主设计
  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。