pysal.lib.weights.nonplanar_neighbors

pysal.lib.weights.nonplanar_neighbors(w, geodataframe, tolerance=0.001)[源代码]

检测非平面多边形集合的邻居

参数:
w:Pysal w

具有报告的岛的空间权重对象

地理数据帧:地理数据帧

从中构造w的多边形数据帧。

公差:浮动

用于定义缓冲距离以允许模糊连续性检测的数据帧的最小水平或垂直范围(minextent)的百分比。缓冲距离等于公差*minextent。

返回:
W:PySal-W

空间权重对象,对模糊邻域进行编码。这将具有一个属性 non_planar_joins 以指示检测到的新联接。

笔记

这放宽了形状文件违反平面强制条件时相邻邻居的概念。它处理此类文件中存在的三种情况,当使用常规pysal连续方法时,这些情况将导致孤岛。第一个是应共享的附近多边形的边,但对单个多边形单独数字化,生成的边不重合,而是相交的边。第二种情况与第一种情况类似,只有生成的边不相交,而是“闭合”。最后一种情况是当一个多边形“在”第二个多边形内,但没有编码来表示包含多边形中的一个孔时出现。

缓冲检查假定投影几何坐标。

工具书类

平面执法:http://ibis.geog.ubc.ca/courses/klink/gis.notes/ncgia/u12.html sec12.6

实例

>>> import geopandas as gpd
>>> import pysal.lib
>>> df = gpd.read_file(pysal.lib.examples.get_path('map_RS_BR.shp'))
>>> w = pysal.lib.weights.contiguity.Queen.from_dataframe(df)
>>> import pysal.lib
>>> w.islands
[0, 4, 23, 27, 80, 94, 101, 107, 109, 119, 122, 139, 169, 175, 223, 239, 247, 253, 254, 255, 256, 261, 276, 291, 294, 303, 321, 357, 374]
>>> wnp = pysal.lib.weights.util.nonplanar_neighbors(w, df)
>>> wnp.islands
[]
>>> w.neighbors[0]
[]
>>> wnp.neighbors[0]
[23, 59, 152, 239]
>>> wnp.neighbors[23]
[0, 45, 59, 107, 152, 185, 246]
>>>

另请参见“nonplanarweights.ipynb”`

属性:
non_planar_joins : 词典

存储检测到的新联接。键是焦点单元的ID,值是邻居ID的列表。