grdlandmask¶
官方文件: | grdlandmask |
---|---|
簡介: | 根據海岸線數據創建陸地-海洋的mask網格檔 |
grdlandmask 模塊讀取指定的海岸線數據,用於確定網格內的每個節點是位於陸地還是水域,並給不同類型的節點賦予不同的值,以生成掩膜文件。生成的掩膜文件可進一步用在 grdmath 中以掩蓋掉位於陸地或水域中的數據點。
語法¶
gmt grdlandmask -Gmask_grd_file -Iincrement -Rregion [ -Amin_area[/min_level/max_level][+a[g|i][s|S]][+r|l][+ppercent] ] [ -Dresolution[+f] ] [ -E[bordervalues] ] [ -Nmaskvalues ] [ -V[level] ] [ -rreg ] [ -x[[-]n] ] [ --PAR=value ]
必選選項¶
- -Gmask_grd_file
- 生成的掩膜網格檔的文件名
- -Ixinc[unit][+e|n][/yinc[unit][+e|n]]
指定X和Y方向的网格间隔
- xinc X方向的网格间隔
- yinc Y方向的网格间隔
- unit 网格间隔的单位。对于地理坐标系而言默认值为度,也可设置为其他距离单位
- +e 微调X和Y方向范围的最大值,使得其是网格间隔的整数倍(默认会微调网格间隔以适应给定的数据范围)
- +n 表明 xinc 和 yinc 不是网格间隔,而是X和Y方向的节点数。此时会根据节点数、网格区域范围以及网格配准方式重新计算网格间隔。
注意:
- 若 yinc 设置为0,则表示其与 xinc 相同
- 若使用 -Rgrdfile 选项,则网格间隔和配准方式已经根据网格文件自动初始化,此时依然可以使用 -I 和 -r 覆盖相应的值
- -Rxmin/xmax/ymin/ymax[+r][+uunit] (more …)
- 指定数据范围
可選選項¶
- -Amin_area[/min_level/max_level][+a[g|i][s|S]][+r|l][+ppercent]
不绘制面积过小的区域(湖泊或岛屿),或不绘制某个级别的湖泊边界。
在绘制湖泊时,若不管湖泊的面积大小而把所有湖泊的边界都画上去,可能导致图看上去比较乱,该选项用于对湖泊进行筛选。面积小于 min_area 平方千米或者湖泊级别不在 [min_level,max_level] 范围的边界都不会被绘制。默认值为 0/0/4,即绘制所有湖泊边界,即绘制0到4级所有级别的面积大于0的湖泊。
对于level=2,即湖岸线,包括常规的湖以及很宽的河流。加上 +r 则只绘制河流,加上 +l 则只绘制常规湖。
对于南极洲而言,因为有冰层的存在,所以海岸线有多种处理方式:
- +ai 用ice shell boundary作为南极洲的海岸线,默认值
- +ag 以ice grounding line作为海岸线
- +as 忽略南纬60度以南的海岸线,用户可以使用 plot 绘制自己的南极洲海岸线
- +aS 忽略南纬60度以北的海岸线
+pprecent:一个多边形,降低精度后,边数减少,面积变化,当面积变化过大时再绘制这个多边形就不合适了,该子选项用于去除那些面积与最高精度面积之比小于 percent 的多边形。
- -Dresolution[+f]
選擇海岸線數據精度。
GMT自帶的GSHHG海岸線數據有5個不同精度的版本,從高到低依次爲:full、high、intermediate、low和crude。GMT默認使用低精度數據。該選項可以指定要使用的數據精度,其中 f|h|i|l|c 分別代表5種不同的數據精度。也可以用 -Da 選項,此時GMT會根據當前繪圖區域的大小自動選擇合適的數據精度 [默認使用 -Da]
默認情況下,若找不到指定精度的海岸線數據,程序會自動報錯退出。該選項中加上 +f 則命令在找不到當前指定的精度數據時,自動尋找更低精度的數據。選項海岸線數據的精度,見 coast 中的介紹。
- -E[bordervalues]
恰好落在海岸線多邊形邊界上的數據的處理方式。
默認情況下,恰好位於海岸線多邊形邊界上的節點當作是在多邊形的內部,使用該選項則會將其認爲是在多邊形的外部。
此外,還可以在 -E 選項後加上四個值 cborder/lborder/iborder/pborder 或一個值 bordervalue (表示四個值具有相同的值),以啓用線段追蹤模式。在根據 -N 設置掩膜值之後,會進一步修改所有線段穿過的網格單元的值。例如,海岸線穿過的網格單元值將被修改爲 cborder;同理,島邊界、湖內島、湖內島中的小湖邊界穿過的網格單元值會被依次修改爲 lborder、iborder、pborder 的值。
- -Nmaskvalues
設置網格節點的值。可以是數字,也可以是NaN。該選項可以取兩種格式:
- -Nwet/dry :分別爲水域和陸地設置不同的值
- -Nocean/land/lake/island/pond :分別爲海洋、陸地、湖泊、島嶼、池塘設置不同的值
默認值爲 0/1/0/1/0 (即 0/1),即將水域內的網格設置爲0,將陸地內的網格設置爲1。
- -V[level] (more …)
- 设置 verbose 等级 [c]
- -r[g|p] (more …)
- 设置网格配置方式 [默认为网格线配准]
- -x[[-]n] (more …)
- 限制多核算法中能使用的核数(需要GMT开启OpenMP支持)
- -^ 或 -
- 显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -)
- -+ 或 +
- 显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明
- -? 或无参数
- 显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明
- --PAR=value
- 临时修改GMT参数的值,可重复多次使用。参数列表见 gmt.conf
注意事項¶
grdlandmask 生成的掩膜網格檔屬於 分類型 數據,即所有數據只能取幾個固定的值,比如 -N0/1 會將水域內的網格值設置爲0,將陸地內的網格值設置爲1。在這種情況下,對這種數據用標準方法(比如樣條)進行插值通常會得到無意義的結果,使用時需要小心。
然而,當你直接繪製該掩膜網格檔時,網格數據會被重新投影使得在投影后的座標下變成一個矩形。這個過程中涉及到了網格插值,默認使用的插值算法是樣條插值,因而可能會在圖中產生假象。因而建議在使用 grdimage 繪製此類數據時使用 -nn 選項即 nearest neighbor 插值算法以避免這一問題。
示例¶
將所有陸地上的節點設置爲NaN,水域上的節點設置爲1:
gmt grdlandmask -R-60/-40/-40/-30 -Dh -I5m -N1/NaN -Gland_mask.nc -V
生成全球1x1度的網格,並將不同性質的區域設置成不同的值:
gmt grdlandmask -R0/360/-90/90 -Dl -I1 -N0/1/2/3/4 -Glevels.nc -V