平面仪
这是命令 Planimeter,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
Planimeter -- 计算测地多边形的面积
概要
平面仪 [ -r [ -s [ -l [ -e a f [ -w [ -p PREC [ -G | -E | -Q | -R [
--注释分隔符 评论delim [ - 版 | -h | - 帮帮我 [ - 输入文件 入档 |
--输入字符串 字符串 [ --行分隔符 线 [ - 输出文件 输出文件 ]
商品描述
测量测地线多边形的面积。 从标准输入读取多边形顶点,一
每行。 顶点可以作为纬度和经度、UTM/UPS 或 MGRS 坐标给出,
以同样的方式解释 地理转换(1). (MGRS 坐标表示中心
相应的 MGRS 方格。)输入的结尾、空行或不能
解释为顶点表示一个多边形的结束和下一个多边形的开始。 为了
每个多边形打印一条带有点数、周长(以米为单位)的汇总线,
和面积(以米 ^ 2 为单位)。
多边形的边由下式给出 最短的 连续顶点之间的测地线。
在某些情况下,可能有两个或多个这样的最短测地线,在这种情况下,
多边形不是由其顶点唯一指定的。 这只发生在很长的边缘
(对于 WGS84 椭球,任何短于 19970 公里的边由其末端唯一指定
分)。 在这种情况下,在长边的中间附近插入一个额外的顶点以
定义多边形的边界。
默认情况下,逆时针方向遍历的多边形返回正面积,
那些以顺时针方向穿过的区域返回负区域。 这个符号约定是
反转如果 -r 给出了选项。
当然,顺时针方向包围一个区域就相当于包围了
逆时针方向的椭圆体的其余部分。 使用的默认解释
by 平面仪 是导致面积较小的那个; 即,幅度
面积小于或等于椭球总面积的一半。 如果 -s
给出选项,则所使用的解释是导致正区域的解释;
即,面积是正的并且小于椭球的总面积。
面积计算仅支持简单(即非自相交)多边形。
多边形可以包括一个或两个极点。 无需关闭多边形。
配置
-r 切换多边形的逆时针遍历是否返回正值(
默认)或否定结果。
-s 切换是否返回签名结果(默认)。
-l 切换顶点是代表多边形(默认)还是折线。 为一个
折线,返回点的数量和连接它们的路径的长度;
路径未封闭,区域未报告。
-e 通过指定椭球 a f; 赤道半径是 a 和扁平化是 f.
设置 f = 0 结果是一个球体。 指定 f < 0 对于长椭圆体。 一个简单的
分数,例如 1/297,允许用于 f. 默认情况下,使用 WGS84 椭球, a =
6378137米, f = 1/298.257223563。 如果输入顶点作为 UTM/UPS 或 MGRS 坐标,
使用默认椭球,因为这些坐标转换为纬度和
经度始终使用 WGS84 参数。
-w 读取地理坐标时,经度在纬度之前(这可以是
被半球指示符覆盖, N, S, E, W).
-p 将输出精度设置为 PREC (默认 6); 周长给定(以米为单位)与
PREC 小数点后的数字; 面积以(米^ 2)给出(PREC - 5)
小数点后的数字。
-G 对测地线使用级数公式。 这是默认选项,是
推荐用于地面应用。 这个选项, -G,以及以下三个
期权, -E, -Q及 -R,是互斥的。
-E 使用“精确”算法(基于椭圆积分)进行测地线计算。
这些比 | 的(默认)系列扩展更准确。f| > 0.02。 (但
请注意,GeodesicExact 中区域的实现使用高阶序列和
这仅适用于适度的扁平化。)
-Q 在 authalic 球体上执行计算。 面积计算准确,甚至
如果扁平化很大, 提供 边缘足够短。 周长
计算不准确。
-R 连接顶点的线是菱形线而不是测地线。
--注释分隔符
将注释分隔符设置为 评论delim (例如,“#”或“//”)。 如果设置,输入
将扫描此分隔符的行,如果找到,则扫描分隔符和其余部分
该线将在处理前移除。 对于给定的多边形,最后一个这样的
找到的字符串将附加到输出行(由空格分隔)。
- 版
打印版本并退出。
-h 打印用法并退出。
- 帮帮我
打印完整文档并退出。
- 输入文件
从文件中读取输入 入档 而不是来自标准输入; 文件名“-”
代表标准输入。
--输入字符串
从字符串中读取输入 字符串 而不是来自标准输入。 所有事件
行分隔符(默认为分号)的 字符串 转换为
阅读开始前换行。
--行分隔符
将行分隔符设置为 线. 默认情况下,这是一个分号。
- 输出文件
将输出写入文件 输出文件 而不是标准输出; 文件名“-”
代表标准输出。
示例
示例(100km MGRS square 18SWK 的面积)
平面仪 <
18n 500000 4400000
18n 600000 4400000
18n 600000 4500000
18n 500000 4500000
EOF
=> 4 400139.53295860 10007388597.1913
以下代码从 gdalinfo 获取输出并报告数据覆盖的区域
(假设图像的边缘是测地线)。
#! / bin / sh的
egrep '^((上|下)(左|右)|中)' |
sed -e 's/d /d/g' -e "s/' /'/g" | tr -s '(),\r\t' ' ' | awk '{
如果($1 $2 ==“左上”)
ul = $6 " " $5;
否则 if ($1 $2 == "LowerLeft")
ll = $6 " " $5;
否则如果($ 1 $ 2 ==“右上”)
你 = $6 " " $5;
else if ($1 $2 == "LowerRight")
lr = $6 " " $5;
否则如果($ 1 ==“中心”){
printf "%s\n%s\n%s\n%s\n\n", ul, ll, lr, ur;
ul = ll = ur = lr = "";
}
}
' | 平面仪 | 剪切 -f3 -d' '
使用 onworks.net 服务在线使用 Planimeter