簡體   English   中英

scipy空間以獲取到3D點和3D點數組的距離

[英]scipy spatial to get the distance from a 3D point and an array of 3D points

問題

我有一個位置point = [(580991.4677, 4275267.6366, 192.2548)]我要計算從pointX最近位置的距離並將其插入到該點。 這意味着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計算單個列表中每對點之間的距離。

如果要計算pointX每個條目之間的距離,則可能需要cdist來執行以下操作:

計算兩個輸入集合中的每對之間的距離。

因此您將調用: scipy.spatial.distance.cdist(point, X)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM