pysal.explore.spaghetti.Network.nearestneighbordistances

Network.nearestneighbordistances(sourcepattern, destpattern=None, n_processes=None, gen_tree=False, all_dists=None, snap_dist=False, keep_zero_dist=True)[源代码]

计算源模式和目标模式之间的模式间最近邻距离或模式内最近邻距离。

参数:
sourcepattern : STR

指向网络的点模式的键。

destpattern : STR

(可选)捕捉到网络的点模式的键。

n_processes : 内部,结构

(可选)指定要使用的内核数。默认值为1核心。使用(int)指定一个确切的数字或核心。使用(“all”)请求所有可用的核心。

gen_tree : 布尔

重建最短路径真,或跳过假

all_dists : numpy.ndarray

存储所有点之间距离的形状数组(n,n)。

snap_dist : 布尔

包括从原始位置到网络上捕捉位置的距离。默认值为假。

keep_zero_dist : 布尔

在最小距离(真)或排除(假)中包括零值。默认值为true。如果源模式与目标模式相同,则对角线将填充nan。

返回:
nearest : 双关语

关键是源点ID,值是包含最近目标点ID和距离的列表元组。

实例

>>> import pysal.explore.spaghetti as spgh
>>> ntw = spgh.Network(examples.get_path('streets.shp'))
>>> ntw.snapobservations(examples.get_path('crimes.shp'), 'crimes')
>>> nn = ntw.nearestneighbordistances('crimes', keep_zero_dist=True)
>>> nn[11], nn[18]
(([18, 19], 165.33982412719126), ([19], 0.0))
>>> nn = ntw.nearestneighbordistances('crimes', keep_zero_dist=False)
>>> nn[11], nn[18]
(([18, 19], 165.33982412719126), ([11], 165.33982412719126))