pysal.lib.weights.vecW

pysal.lib.weights.vecW(origin_x, origin_y, dest_x, dest_y, threshold, p=2, alpha=-1.0, binary=True, ids=None, build_sp=False, silence_warnings=False)[源代码]

基于距离的矢量空间权重,使用原点x、y坐标和目标x、y坐标之间的四维距离计算

参数:
origin_x : 列表或数组

矢量原点x坐标

origin_y : 列表或数组

矢量原点Y坐标

dest_x : 列表或数组

矢量目标x坐标

dest_y : 列表或数组

矢量目标Y坐标

门槛 : 浮动

距离带

p : 浮动

Minkowski p-norm距离度量参数:1<=p<=无穷大2:欧几里得距离1:曼哈顿距离

binary : 布尔

如果为真w_i j=1,如果为d_i,j<=阈值,否则为w_i,j=0,如果为假w i j=d i j ^ alpha

阿尔法 : 浮动

权重的距离衰减参数(默认值为-1.0)。如果alpha为正数,则权重不会随距离而下降。如果binary为true,则忽略alpha

ids : 列表

用于相邻键和权重dict的值

build_sp : 布尔

建立稀疏距离矩阵是正确的,建立密集距离矩阵是错误的;在应用距离矩阵和阈值的稀疏性上,可以获得显著的速度增益。

silence_warnings : 布尔

默认情况下,如果数据集包含任何断开连接的观测值或孤岛,Pysal将打印警告。若要取消此警告,请将此参数设置为“真”。

返回
** **
W : 使用4维距离的对象

矢量原点和终点坐标。

实例

>>> import pysal.lib
>>> x1 = [5,6,3]
>>> y1 = [1,8,5]
>>> x2 = [2,4,9]
>>> y2 = [3,6,1]
>>> W1 = pysal.lib.weights.spintW.vecW(x1, y1, x2, y2, threshold=999)
>>> list(W1.neighbors[0])
[1, 2]
>>> W2 = pysal.lib.weights.spintW.vecW(x1, y2, x1, y2, threshold=8.5)
>>> list(W2.neighbors[0])
[1, 2]