最近需要做一些空间自相关的分析,要将研究区分割成1km*1km的面并赋值。在这个过程中走了很多弯路,分享出来和大家一起学习。首先我这有:
- 研究区的矢量边界(shapfile)
- 要sampling的栅格数据(tiff),和研究区大小一致
生成渔网的过程不再赘述,生成后选择select by location,用矢量边界把渔网的形状裁出来,这时候可以默认生成label点(point)数据,也可以用feature to point生成每个渔网上的点数据。
这个时候发现point的边界超过了矢量数据,因为只要渔网和矢量数据有交集就会被选中,但是点是每个网格的中心,很容易超出去,如下图:
这个时候采集数据会出现null值,很不方便,我的做法是继续select by location,选择处在研究区适量边界中的点(这个时候用clip其实也可以)。input选点,select选研究区适量边界
处在适量边界外的点就被过滤掉了,导出数据就得到栅格数据内部的点:
然后继续select by location(禁止套娃),用新生成的点数据再去选择最开始生产的渔网,把点和面对应起来,这样用点采集到的数据就可以赋值给面了:
网上还有些大神用的是反选的方法,在这里这是提供一种思路,希望和大家一起学习!(鞠躬)