我正在使用 Pysal 工具来分析几个 shapefile(多边形类型),其中包含在 QGIS 中完成的分割结果。
我使用加载 shapefile
segshp = pysal.weights.Queen.from_shapefile(vect)
是对应的 shapefile 的名称。
问题是,当我查看邻居字典时,如果一个多边形共享少于 2 个像素,则它不被视为邻居。让我表现得更好一点:
使用 ArcGIS,我计算了多边形邻居(分析工具 --> Proximity ---> 多边形邻居),例如,多边形 1227 有 4 个邻居,如图所示。
但是当使用 Pysal 在 Python 中加载时,多边形 1227 只有 3 个邻居,而缺少的一个是 3307,它只共享 2 个像素的边界。其他仅共享 1 或 2 个像素的多边形也会发生同样的情况。这个 2 像素的“阈值”正是我在分析一些多边形时看到的。
为了考虑所有邻居,是否有改变“阈值”的方法?我在 Pysal 文档中看到过,并认为它可能与命令有关
pysal.weights.user.min_threshold_dist_from_shapefile
或类似的东西,但老实说,我不知道。
我也尝试了 pysal.weights.Rook... 选项,但它识别的邻居更少,发现更多的岛屿。
非常感谢