计算特殊邻域的焦点统计?
我正在寻找在指定条件附近的栅格中每个像元的焦点统计信息。 背景-我有三个二进制栅格,每个栅格代表一种感兴趣的植被类型。我想计算研究区域内任何单元格(例如,总和/总单元格)在20 km ^ 2之内每种植被类型的覆盖率。问题是我不能在每个像元周围使用简单的圆形或正方形邻域,因为如果这样做,用于计算总和的搜索区域将包含我研究区域之外的区域。此例外非常重要,因为统计数据将用作栖息地模型的输入,并且不能将我研究区域之外的区域视为可能的栖息地-它们已被城市化。包括它们会给我错误的统计数据。所以,我n由覆盖符合我的标准的区域所需的像元数确定)。标准是它们不属于市区范围内。我在想应该使用某种形式的细胞自动机。我从来没有在CA工作过。 我想我想要的是入门代码,或指向正确方向的东西。 回复以下评论: 假设我正在为研究站点边界上的一个单元格计算此统计信息。如果我将研究区域以外的所有区域都分配为零(或忽略NoData),那么我将获得一个统计数据,该统计数据大约代表了我感兴趣的区域覆盖范围的一半。因此,在约10 km ^ 2的区域中,覆盖范围百分比,而不是20 km ^ 2的区域。由于我正在研究家庭范围的尺寸,因此这一点很重要。邻居必须改变形状,因为那是动物观看/使用景观的方式。如果他们需要20 km ^ 2,他们会改变形状或家园。如果我不检查忽略NoData,则单元格输出将为NoData-NoData没有帮助。 截至2014年10月24日的“进度” 这是到目前为止我使用Shapely和Fiona提出的代码: import numpy as np import pprint import shapely from shapely.geometry import* import fiona from fiona import collection import math traps = fiona.open('C:/Users/Curtis/Documents/ArcGIS/GIS_Data/occurrence/ss_occ.shp', 'r') study_area = fiona.open('C:/Users/Curtis/Documents/ArcGIS/GIS_Data/Study_Area.shp', 'r') for i in study_area: …