英语法语西班牙语

Ad


OnWorks 网站图标

GeodSolve - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 GeodSolve

这是 GeodSolve 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


GeodSolve -- 执行测地线计算

概要


地理求解 [ -i | -l 纬度1 龙1 阿兹1 [ -a [ -e a f ] -u [ -d | -: [ -w [ -b [ -f
[ -p PREC [ -E [ --注释分隔符 评论delim [ - 版 | -h | - 帮帮我 [
- 输入文件 入档 | --输入字符串 字符串 [ --行分隔符 线 [
- 输出文件 输出文件 ]

商品描述


椭球上两点之间的最短路径 (纬度1, 龙1)和(纬度2, 龙2)是
称为测地线。 它的长度是 s12 并且从点 1 到点 2 的测地线有
前进方位角 阿兹1阿兹2 在两个端点。

地理求解 以三种模式之一运行:

1. 默认情况下, 地理求解 接受标准输入中包含的行 纬度1 龙1 阿兹1
s12 和印刷品 纬度2 龙2 阿兹2 在标准输出上。 这是直接测地线
计算。

2. 命令行参数 -l 纬度1 龙1 阿兹1 指定测地线。 地理求解 然后
接受一个序列 s12 标准输入和打印的值(每行一个) 纬度2 龙2
阿兹2 对于每个。 这会在单个测地线上生成一系列点。

3.随着 -i 命令行参数, 地理求解 执行逆测地线
计算。 它读取包含的行 纬度1 龙1 纬度2 龙2 并打印
对应的值 阿兹1 阿兹2 s12.

配置


-i 执行逆测地线计算(见上文 3)。

-l 线路模式(见上面 2); 沿由指定的测地线生成一系列点
纬度1 龙1 阿兹1。 该 -w flag 可用于交换 2 个地理区域的默认顺序
坐标,前提是它出现在 -l.

-a 电弧模式; 输入时 产量 s12 被替换 a12 上的弧长(以度为单位)
辅助球体。 参见“辅助球体”。

-e 通过指定椭球 a f; 赤道半径是 a 和扁平化是 f.
设置 f = 0 结果是一个球体。 指定 f < 0 对于长椭圆体。 一个简单的
分数,例如 1/297,允许用于 f. 默认情况下,使用 WGS84 椭球, a =
6378137米, f = 1/298.257223563。

-u 展开经度。 通常,输出经度减少到位于
[-180 度,180 度)。 但是使用此选项,返回的经度 龙2 是“展开”
以便 龙2 - 龙1 指示测地线环绕的频率和意义
地球。 使用 -f 选项,打印两个经度。

-d 输出角度为度、分、秒而不是十进制度数。

-: 喜欢 -d, 除了使用 : 作为分隔符而不是 d、' 和 " 分隔符。

-w 在输入和输出上,经度在纬度之前(除了在输入上,这可以是
被半球指示符覆盖, N, S, E, W).

-b 报告 背部 点 2 处的方位角,而不是前方位角。

-f 全输出; 每行输出包含 12 个数量: 纬度1 龙1 阿兹1 纬度2 龙2
阿兹2 s12 a12 m12 M12 M21 (S12). a12 在“辅助球体”中进行了描述。 四个
数量 m12, M12, M21(S12) 在“附加数量”中进行了描述。

-p 将输出精度设置为 PREC (默认 3); PREC 是相对于 1 m 的精度。
参见“精度”。

-E 使用“精确”算法(基于椭圆积分)进行测地线计算。
这些比 | 的(默认)系列扩展更准​​确。f| > 0.02。

--注释分隔符
将注释分隔符设置为 评论delim (例如,“#”或“//”)。 如果设置,输入
将扫描此分隔符的行,如果找到,则扫描分隔符和其余部分
该行将在处理之前被删除并随后附加到输出
行(以空格分隔)。

- 版
打印版本并退出。

-h 打印用法并退出。

- 帮帮我
打印完整文档并退出。

- 输入文件
从文件中读取输入 入档 而不是来自标准输入; 文件名“-”
代表标准输入。

--输入字符串
从字符串中读取输入 字符串 而不是来自标准输入。 所有事件
行分隔符(默认为分号)的 字符串 转换为
阅读开始前换行。

--行分隔符
将行分隔符设置为 线. 默认情况下,这是一个分号。

- 输出文件
将输出写入文件 输出文件 而不是标准输出; 文件名“-”
代表标准输出。

INPUT


地理求解 以度数和所有长度测量所有角度(s12) 以米为单位,以及所有区域
((S12)) 以米 ^2 为单位。 在输入角度(纬度、经度、方位角、弧长)上可以是
十进制度或度、分、秒。 例如,“40d30”、“40d30'”、“40:30”、
“40.5d”和40.5都是等价的。 默认情况下,纬度在经度之前
点( -w 标志切换此约定); 但是在输入时可以先给出
通过附加(或前置) N or S 到纬度和 E or W 到经度。 方位角
从北顺时针测量; 但是这可能会被覆盖 E or W.

有关允许的角度格式的详细信息,请参阅“地理坐标”部分
地理转换(1)。

辅助 SPHERE


椭球上的测地线可以转移到 在上面
距离是根据弧长测量的 a12 (以度为单位)而不是 s12.
a12, 180 度是一个赤道交叉点到下一个赤道的距离或
最小纬度到最大纬度。 测地线 a12 > 180度不
对应最短路径。 随着 -a 旗, s12 (在输入和输出上)是
取而代之 a12。 该 -a 旗帜确实 不能 影响由给出的全部输出 -f 标志(其中
总是包括两者 s12a12).

附加 QUANTITIES


-f flag 报告了另外四个数量。

缩短的测地线长度, m12, 被定义为如果初始方位角是
受到 d 的干扰阿兹1 (弧度)然后第二个点位移 m12 d阿兹1 ,在
方向垂直于测地线。 m12 以米为单位。 在曲面上
减少的长度服从对称关系, m12 + m21 = 0. 在平面上,我们有 m12 =
s12.

M12M21 是测地线尺度。 如果两个测地线在点 1 处平行并分开
一小段距离 dt,然后它们相隔一段距离 M12 dt 在第 2 点。 M21 is
类似地定义(测地线在点 2 处彼此平行)。 M12
M21 是无量纲量。 在平面上,我们有 M12 = M21 = 1。

如果点 1、2 和 3 位于单个测地线上,则以下加法规则成立:

s13 = s12 + s23,
a13 = a12 + a23,
S13 = S12 + S23,
m13 = m12 M23 + m23 M21,
M13 = M12 M23 - (1 - M12 M21) m23 / m12,
M31 = M32 M21 - (1 - M23 M32) m12 / m23。

最后, (S12) 是从点 1 到点 2 的测地线与赤道之间的面积;
即,它是逆时针测量的测地四边形的面积
角落(纬度1,龙1), (0,龙1), (0,龙2)和(纬度2,龙2)。 它以米 ^ 2 给出。

精确


PREC 给出输出的精度 PREC = 0 给出 1 m 精度, PREC = 3 给 1
mm 精度等。 PREC 是长度小数点后的位数。 为了
十进制度数,小数点后的位数是 PREC + 5. 对于 DMS
(degree, minute, seconds) 输出,小数点后的位数
秒部分是 PREC + 1. 最小值 PREC 是0,最大值是10。

错误


非法的输入行将向标准输出打印一条错误消息,以
“错误:”和原因 地理求解 返回退出代码 1。但是,错误不会
原因 地理求解 终止; 以下几行将被转换。

准确性


使用(默认)系列解决方案,GeodSolve 精确到约 15 nm(15 纳米)
对于 WGS84 椭球。 近似最大误差(表示为距离)
与 WGS84 椭球具有相同主半径和不同值的椭球
扁平化是

|f| 错误
0.01 25 纳米
0.02 30 纳米
0.05 10 微米
0.1 1.5 mm
0.2 300 mm

If -E 指定时,对于 WGS40,GeodSolve 的精度约为 40 nm(84 纳米)
椭圆体。 椭圆体的近似最大误差(表示为距离)
10000公里的四分之一子午线和不同的值 a / b = 1 - f is

1-f 误差 (nm)
1 / 128 387
1 / 64 345
1 / 32 269
1 / 16 210
1 / 8 115
1 / 4 69
1 / 2 36
1 15
2 25
4 96
8 318
16 985
32 2352
64 6008
128 19024

解决方案


为逆问题返回的最短距离(显然)是唯一定义的。
然而,在一些特殊情况下,有多个方位角产生相同的最短
距离。 以下是这些案例的目录:

纬度1 = - 纬度2 (两个点都不在杆子上)
If 阿兹1 = 阿兹2,测地线是唯一的。 否则有两个测地线和
第二个是通过设置 [阿兹1,阿兹2] = [阿兹2,阿兹1],[M12,M21] = [M21,M12],
(S12) = - (S12). (当扁圆的经度差接近 +/-180 时会发生这种情况
椭球体。)

龙2 = 龙1 +/- 180(两个点都不在极点上)
If 阿兹1 = 0 或 +/-180,测地线是唯一的。 否则有两个测地线和
第二个是通过设置 [阿兹1,阿兹2] = [-阿兹1,-阿兹2], (S12) = - (S12). (这
发生在 纬度2 靠近 -纬度1 对于长椭圆体。)

点 1 和 2 在相反的极点
有无数个测地线可以通过设置 [阿兹1,阿兹2] =
[阿兹1,阿兹2🇧🇷d,-d],对于任意 d. (对于球体,此规定适用于
第 1 点和第 2 点是对映点。)

s12 = 0(重合点)
有无数个测地线可以通过设置 [阿兹1,阿兹2] =
[阿兹1,阿兹2🇧🇷d,d],对于任意 d.

示例


从肯尼迪机场到新加坡樟宜机场的路线:

echo 40:38:23N 073:46:44W 01:21:33N 103:59:22E |
GeodSolve -i -: -p 0

003:18:29.9 177:29:09.2 15347628

航线上每隔 2000 公里的航点:

对于 ((i = 0; i <= 16; i += 2)); 做回声 ${i}000000;done |
GeodSolve -l 40:38:23N 073:46:44W 003:18:29.9 -: -p 0

40:38:23.0N 073:46:44.0W 003:18:29.9
58:34:45.1N 071:49:36.7W 004:48:48.8
76:22:28.4N 065:32:17.8W 010:41:38.4
84:50:28.0N 075:04:39.2E 150:55:00.9
67:26:20.3N 098:00:51.2E 173:27:20.3
49:33:03.2N 101:06:52.6E 176:07:54.3
31:34:16.5N 102:30:46.3E 177:03:08.4
13:31:56.0N 103:26:50.7E 177:24:55.0
04:32:05.7S 104:14:48.7E 177:28:43.6

使用 onworks.net 服务在线使用 GeodSolve


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad