pysal.explore.spaghetti.Network.allneighbordistances

Network.allneighbordistances(sourcepattern, destpattern=None, fill_diagonal=None, n_processes=None, gen_tree=False, snap_dist=False)[源代码]

在单点模式中计算i和j之间的所有距离,或者从源模式计算每个i和从目的模式计算所有j之间的所有距离。

参数:
sourcepattern : str或spaghetti.network.pointpattern

点模式的键捕捉到网络或完整的spaghetti.network.point pattern对象。

destpattern : STR

(可选)指向网络或完整spaghetti.network.point pattern对象的点模式的键。

fill_diagonal : 浮点

(可选)填充成本矩阵的对角线。默认为“无”,将用numpy.nan填充对角线。不要为自定义填充对角线声明destpattern。

n_processes : 内部,结构

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

gen_tree : 布尔

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

snap_dist : 布尔

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

返回:
nearest : numpy.ndarray

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

tree_nearest : 双关语

最近的网络节点到点模式节点最短路径查找

实例

>>> import pysal.explore.spaghetti as spgh
>>> ntw = spgh.Network(examples.get_path('streets.shp'))
>>> ntw.snapobservations(examples.get_path('crimes.shp'),
...                                        'crimes',
...                                         attribute=True)
>>> s2s_dist = ntw.allneighbordistances('crimes')
>>> s2s_dist[0,0], s2s_dist[1,0]
(nan, 3105.189475447081)
>>> ntw.snapobservations(examples.get_path('schools.shp'),
...                                        'schools',
...                                        attribute=False)
>>> s2d_dist = ntw.allneighbordistances('crimes',
...                                     destpattern='schools')
>>> s2d_dist[0,0], s2d_dist[1,0]
(4520.72353741989, 6340.422971967316)
>>> s2d_dist, tree = ntw.allneighbordistances('schools',
...                                           gen_tree=True)
>>> tree[(6, 7)]
(173, 64)