| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
大量收QQ微信精准粉/交友粉,非诚勿扰千里之行 始于足下
共有 565 人关注过本帖
标题:【求助】经纬度的数学问题
只看楼主 加入收藏
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:909
专家分:5237
注 册:2015-8-10
结帖率:100%
  已结贴   问题点数:20  回复次数:7   
【求助】经纬度的数学问题
现在手上有一条管道,知道其各点的经纬度坐标,业主要求绘制出一个管线附件2km的一个安全区域。
找到一个很好用的地图软件——奥维,支持kml文件导入,自己编写VBA生成kml来绘制管道很方便,但是安全区遇到问题了。
简单的说问题是,如何实现经纬度表示端点的线段的偏移,也就是经纬度的平移。
下面是一张图,简单的一根直线,我按照直角坐标系的矢量旋转计算的结果,明显不对,正常的两端都是一个半圆,中间也是相对于管道(中间的黄线)对称的。
或者另一个思路就是知道参考点的经纬度,知道向东、向北平移的量,如何计算得到平移之后的点的经纬度
附件: 您没有浏览附件的权限,请 登录注册
2018-01-03 15:48
wds1
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:24
帖 子:253
专家分:1401
注 册:2016-3-10
  得分:20 
我觉得原来坐标如果是(x1,y1),向东移X2,向北移Y2
你直接获得(x1+x2,y1+y2)就是新坐标么。

对于新坐标的值换算经纬度,需要你自己根据地图实际比例计算。




2018-01-03 17:04
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:909
专家分:5237
注 册:2015-8-10
  得分:0 
以下是引用wds1在2018-1-3 17:04:03的发言:

我觉得原来坐标如果是(x1,y1),向东移X2,向北移Y2
你直接获得(x1+x2,y1+y2)就是新坐标么。

对于新坐标的值换算经纬度,需要你自己根据地图实际比例计算。

谢一个先
是一个思路,我也想到了。但是有两个问题:
1. 向东移X2,向北移Y2——这个垂直方向,或者说平移方向如何确定??
2. 没有找到X、Y坐标系与经纬度坐标系之间的转换关系。网上只能找到经纬度距离的计算。
2018-01-04 08:49
wds1
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:24
帖 子:253
专家分:1401
注 册:2016-3-10
  得分:0 
经纬度换算关系为1°经纬度大约是111kM。

下面连接可以输出经纬度,计算距离
http://www.storyday.com/wp-content/uploads/2008/09/latlung_dis.html
例如:
同纬度,经度35-36距离111.3195;
纬度0,10,经度35-36距离912.6659;
同理你要知道经纬度偏移可以算距离偏移。

多查查百度,一般都会有。

2018-01-04 09:46
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:909
专家分:5237
注 册:2015-8-10
  得分:0 
以下是引用wds1在2018-1-4 09:46:19的发言:

经纬度换算关系为1°经纬度大约是111kM。

下面连接可以输出经纬度,计算距离
http://www.storyday.com/wp-content/uploads/2008/09/latlung_dis.html
例如:
同纬度,经度35-36距离111.3195;
纬度0,10,经度35-36距离912.6659;
同理你要知道经纬度偏移可以算距离偏移。

多查查百度,一般都会有。

这个链接是距离的计算,这个都没问题了
我也找到了高斯克吕格坐标系统与经纬度的换算,但是结果还是不大对,我再研究研究吧
2018-01-04 11:09
wds1
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:24
帖 子:253
专家分:1401
注 册:2016-3-10
  得分:0 
我再仔细看了你的需求,我觉得这么做。
1、定义区间:
  直线部分:上端假设A1-A2,下端B1-B2
  半圆部分:定义相邻点例如上半圆C1-Cn,下半圆,D1-Dn
2、计算垂直距离
  直线部分,根据坐标是否落在A1-A2上【或附近】,按照直线斜率计算出垂直2KM的区域点;B1-B2类似
  半圆部分,根据坐标是否落在C1-C2,C2-C3,。。。Cn-1-Cn上【或附近】,按照曲线,计算出切线面的垂直2KM的区域点;B1-B2类似


2018-01-04 13:36
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:909
专家分:5237
注 册:2015-8-10
  得分:0 
以下是引用wds1在2018-1-4 13:36:16的发言:

我再仔细看了你的需求,我觉得这么做。
1、定义区间:
  直线部分:上端假设A1-A2,下端B1-B2
  半圆部分:定义相邻点例如上半圆C1-Cn,下半圆,D1-Dn
2、计算垂直距离
  直线部分,根据坐标是否落在A1-A2上【或附近】,按照直线斜率计算出垂直2KM的区域点;B1-B2类似
  半圆部分,根据坐标是否落在C1-C2,C2-C3,。。。Cn-1-Cn上【或附近】,按照曲线,计算出切线面的垂直2KM的区域点;B1-B2类似

你说的是如何画圆的问题,这部分没啥疑问。我解决不了的还是坐标系转换的问题,按照你的提醒找到了高斯坐标系(话说也挺恶心的)。
两端圆不对的原因找到了,三角运算的时候角度忘记转换为弧度了。现在已经OK了。

附件: 您没有浏览附件的权限,请 登录注册
2018-01-04 15:37
csl591
Rank: 4
等 级:贵宾
威 望:10
帖 子:74
专家分:92
注 册:2009-2-5
  得分:0 
这个学习了,人要不断地学习。
2018-01-05 16:04







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025606 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved