实际有的数据比这要更加不规则;
对于问题一,MATLAB有一个非常好用的函数,boundary(x,y,n); x和y表示散点图的点位;n表示shrink factor,在0-1之间,n越大,提取的边界越精细;n越小,则边界的越规则;返回值是点位的索引;
对于问题二,需要一些技巧性的操作,我自己的办法是:
gmt gmtspatial poly_a.txt poly_b.txt -Si > a.txt
gmt gmtspatial poly_b.txt poly_a.txt -Si > b.txt
paster a.txt b.txt > poly.txt
注意:由于求交集时时求poly_b.txt在poly_a.txt 里面的那一部分,所以要求两次,再拼接起来,就是它们的交集了(图中绿色部分)。
对于问题三,用grdmask中的-S选项可以扩大边界。或者用问题二的方法去并集。
原文:https://www.cnblogs.com/gisalameda/p/12195342.html