[英]scipy spatial to get the distance from a 3D point and an array of 3D points
問題
我有一個位置point = [(580991.4677, 4275267.6366, 192.2548)]
我要計算從point
到X
最近位置的距離並將其插入到該點。 這意味着dist
將是這樣的: [(580991.4677, 4275267.6366, 192.2548, <distance value>)]
匹配點並不重要,但是距離值很重要。
樣本數據:X
[(580991.4344, 4275267.6452, 192.3217),
(580991.4369, 4275267.4457, 192.3945),
(580991.4375, 4275267.4929, 192.396),
(580991.4599, 4275267.5186, 192.3361),
(580991.4644, 4275267.5889, 192.2631)]
腳本
到目前為止,我可以計算出n距離。 但這是在計算數組X中的點之間的距離,而不是與點對象相比。
import scipy.spatial.distance
dist = scipy.spatial.distance.pdist(X, metric='euclidean')
結果
array([0.21238253, 0.16948566, 0.12994295, 0.08662361, 0.04722764,
0.09619756, 0.19628665, 0.06892213, 0.16613856, 0.10144624])
有指針嗎?
從文檔開始: https : //docs.scipy.org/doc/scipy/reference/genic/scipy.spatial.distance.pdist.html
scipy.spatial.distance.pdist
計算單個列表中每對點之間的距離。
如果要計算point
與X
每個條目之間的距離,則可能需要cdist
來執行以下操作:
計算兩個輸入集合中的每對之間的距離。
因此您將調用: scipy.spatial.distance.cdist(point, X)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.