格奥德

简介

geod +ellps=<ellipse> [-afFIlptwW [args]] [+opt[=arg] ...] file ...

invgeod +ellps=<ellipse> [-afFIlptwW [args]] [+opt[=arg] ...] file ...

描述

geod (直接)和 invgeod (逆)执行测地(大圆)计算,以确定给定初始点纬度、经度、方位角和距离(直)或初始点和终点纬度和经度之间的前后方位角和距离(逆)的终点的纬度、经度和后方位角。结果精确到四舍五入 \(|f| < 1/50\) 在哪里 \(f\) 正在变平。

invgeod 可能并非在所有平台上都可用;在这种情况下,请使用 geod -I 相反。

以下命令行选项可以按任意顺序显示:

-I

指定要执行的反测地计算。可用于执行 geod 作为替代 invgeod 执行。

-a

输出起始点和终点的纬度和经度、前后方位角和距离。

-t<a>

Where a specifies a character employed as the first character to denote a control line to be passed through without processing.

-le

提供可以使用 +ellps= 选择权。

-lu

列出可以使用 +units= 选择权。

-f <format>

Where format is a printf format string to control the output form of the geographic coordinate values. The default mode is DMS for geographic coordinates and "%.3f" for distance.

-F <format>

Where format is a printf format string to control the output form of the distance value (-F). The default mode is DMS for geographic coordinates and "%.3f" for distance.

-w<n>

Where n is the number of significant fractional digits to employ for seconds output (when the option is not specified, -w3 is assumed).

-W<n>

Where n is the number of significant fractional digits to employ for seconds output. When -W is employed the fields will be constant width with leading zeroes.

-p

此选项导致方位角值输出为0到360度之间的无符号DMS数。另请注意 -f .

这个 +opt 命令行选项与大地测量参数相关联,用于指定要使用的椭球体或球体。控制。从命令行按从左到右的顺序处理选项。选项的重入将被忽略,并假定第一次出现是所需的值。

地图投影 获取这些参数和控件的完整列表。

一个或多个文件(按从左到右的顺序处理)指定要转换的数据源。A - 将指定处理标准输入的位置。如果没有指定文件,则假定输入来自stdin。

对于直接测定,输入数据必须按纬度、经度、方位角和距离的顺序排列,输出将是终点的纬度、经度和后方位角。逆模式输入起始点和终点的纬度、经度,并输出起始点和终点的前后方位角以及各点之间的距离。

输入的地理坐标(经纬度)和方位角数据必须采用十进制度数或DMS格式,输入的距离数据必须采用与椭球体长轴或球体半径单位一致的单位。纬度必须在这个范围内 [-90d,90d] . 输出地理坐标将以DMS为单位(如果 -f 不使用开关)切换到0.001“,删除尾随的零值分秒字段。输出距离数据的单位与椭球体或球体半径相同。

地球的椭球图形可以用与程序相同的方式选择 proj 通过使用 +ellps=+a=+es= 等。

geod 也可用于沿两点之间的测地线或沿距地理点指定距离的弧确定中间点。在这两种情况下,必须用 +lat_1=lat+lon_1=lon 参数和终点 +lat_2=lat+lon_2=lon 或从初始点到 +S=distance+A=azimuth 必须指定。

如果要确定沿测地线的点,则 +n_S=integer 指定中间点的数量和/或 +del_S=distance 必须指定点之间的增量距离。

沿与初始点等距的弧确定点 +del_A=angle+n_A=integer 必须指定用于确定各个角度增量和要确定的点数的。

实例

以下脚本确定从马萨诸塞州波士顿到波特兰的测地方位角和距离(以美国法定英里为单位):

geod +ellps=clrk66 <<EOF -I +units=us-mi
42d15'N 71d07'W 45d31'N 123d41'W
EOF

结果如下:

-66d31'50.141" 75d39'13.083" 2587.504

前两个值是从波士顿到波特兰的方位角,后两个值是从波特兰到波士顿的方位角,然后是距离。

使用正向测地线的一个例子是使用波士顿位置,并通过方位角和距离确定波特兰的位置:

geod +ellps=clrk66 <<EOF +units=us-mi
42d15'N 71d07'W -66d31'50.141" 2587.504
EOF

它给出:

45d31'0.003"N 123d40'59.985"W 75d39'13.094"

注解

距离值中缺少精度会影响波特兰位置的精度。

进一步阅读

  1. GeographicLib <https://geographiclib.sourceforge.io> _.

  2. C、 F.F.卡尼, Algorithms for Geodesics 《大地测量学杂志》 87 (1), 43–55 (2013); addenda .

  3. A geodesic bibliography <https://geographiclib.sourceforge.io/geodesic-papers/biblio.html> _.