libpysal.weights.vecW

libpysal.weights.vecW(origin_x, origin_y, dest_x, dest_y, threshold, p=2, alpha=-1.0, binary=True, ids=None, build_sp=False, **kwargs)[source]

Distance-based spatial weight for vectors that is computed using a 4-dimensional distance between the origin x,y-coordinates and the destination x,y-coordinates

Parameters
origin_xlist or array

of vector origin x-coordinates

origin_ylist or array

of vector origin y-coordinates

dest_xlist or array

of vector destination x-coordinates

dest_ylist or array

of vector destination y-coordinates

thresholdfloat

distance band

pfloat

Minkowski p-norm distance metric parameter: 1<=p<=infinity 2: Euclidean distance 1: Manhattan distance

binarybool

If true w_{ij}=1 if d_{i,j}<=threshold, otherwise w_{i,j}=0 If false wij=dij^{alpha}

alphafloat

distance decay parameter for weight (default -1.0) if alpha is positive the weights will not decline with distance. If binary is True, alpha is ignored

idslist

values to use for keys of the neighbors and weights dicts

build_spbool

True to build sparse distance matrix and false to build dense distance matrix; significant speed gains may be obtained dending on the sparsity of the of distance_matrix and threshold that is applied

**kwargskeyword arguments

optional arguments for pysal.weights.W

Returns
——
WDistanceBand W object that uses 4-dimenional distances between

vectors origin and destination coordinates.

Examples

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