返回介绍

GMT 入门

GMT 实例

GMT 进阶

附录

其他

gmtspatial

发布于 2023-08-10 21:46:56 字数 2815 浏览 0 评论 0 收藏 0

贡献者

周茂


官方文档

gmtspatial

简介

对点,线和多边形进行地理空间操作

gmtspatial 读取一个或者多个文件,文件中包含线或多边形等特征,对这些特性进行操作,包括:面积计算,多边形相交等。

语法

gmt spatial [ table ] [

table

一个或多个ASCII或二进制表数据。若不提供表数据,则会从标准输入中读取。

可选选项

-A[amin_dist][unit]

空间最邻近分析:计算每个点的最邻近点,并报告点对之间的距离和 ID (ID 是以输入顺序从 0 开始计数)。-Aa 选项用来筛选距离大于 min_dist 的点对,输出数据可能会进行一定的平均。如果输出的 ID 为负数,则表示原始的点被平均,这里的 ID 的绝对值为取平均过程中第一个点的 ID。

:输入数据中假定包含 (lon, lat) 或者 (x, y),此外还可以包括 z 值和权重两列,在进行平均时,会同时计算位置和 z 值的加权平均值。

-C

GMT支持多种不同的距离单位,以及三种不同的球面距离计算方式。详情见 单位-j 选项

点位于多边形内/外

为了确定点在多边形内,外或在边界上,GMT 会平衡数据类型以及多边形形状等因素来确定算法。对于笛卡尔坐标,GMT 使用 non-zero winding 算法,该算法非常快。对于地理坐标,如果多边形不包括两极点且多边形的经度范围不超过 360 度,同样使用该算法。否则,GMT 会采用 full spherical ray-shooting 方法。

示例

确定远程澳大利亚国界线构成的多边形的中心点和面积

gmt spatial @GSHHS_h_Australia.txt -fg -Qk

lines.txt 文件中的线转换为闭合的多边形

gmt spatial lines.txt -F > polygons.txt

计算 polygons.txt 文件中的所有多边形的面积

gmt spatial polygons.txt -Q > areas.txt

使用与上例同样的文件,将面积写到段头信息中,同时将所有的多边形的顶点顺序转换为逆时针

gmt spatial polygons.txt -Q+h -E+p > areas.txt

计算 janmayen_land_full.txt 文件中所有多边形的面积,并把面积写到头段信息中,以面积对这些多边形从大到小排列,并只保留面积大于 1000 平方米的多边形

gmt spatial -Qe+h+p+c1000+sd -V janmayen_land_full.txt > largest_pols.txt

计算文件 A.txt 和文件 B.txt 的相交点

gmt spatial A.txt B.txt -Ie > crossovers.txt

以多边形文件 B.txt 裁剪多边形文件 A.txt ,输出结果为线

gmt spatial A.txt -TB.txt > line.txt

如果某多边形中存在有孔的多边形,首先对其中的有孔多边形进行标记并重置顶点顺序,以便后续的绘图或填充

gmt spatial file.txt -Sh > organized_file.txt

注意事项

GDAL/GMT 格式的文件被认为是完整的数据集,因此在使用该模块时,不能同时输入多个该格式的文件。正确的做法是先使用 gmtconvert 模块转换为普通的表数据,然后再使用该模块。

相关模块

gmtconvertgmtselectgmtsimplify

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文