Ich habe eine große Liste von x und y Koordinaten, in einem numpy
Array gespeichert.Finden Sie alle nächsten Nachbarn innerhalb einer bestimmten Entfernung
Coordinates = [[ 60037633 289492298]
[ 60782468 289401668]
[ 60057234 289419794]]
...
...
Was ich will, ist, alle nächsten Nachbarn in einem bestimmten Abstand zu finden (kann 3 Meter sagen) und das Ergebnis zu speichern, so dass ich später einige weitere Analyse auf dem Ergebnis tun.
Für die meisten Pakete, die ich gefunden habe, ist es notwendig zu entscheiden, wie viele NNs gefunden werden sollen, aber ich will nur alle innerhalb der festgelegten Entfernung.
Wie kann ich so etwas erreichen und was ist der schnellste und beste Weg, um so etwas für einen großen Datensatz (einige Millionen Punkte) zu erreichen?
Hast du das schon selbst versucht? Wie sieht dein Code gerade aus? Können Sie ein Beispiel dafür geben, was Sie zu berechnen versuchen (d. H. Was bedeutet 3 Meter)? Sind diese GPS-Koordinaten? – reynoldsnlp
'aus scipy Import räumlichen myTreeName = spatial.cKDTree (Koordinaten, leafsize = 100) für Artikel in Koordinaten: theResult = myTreeName.query (Punkt, k = 20, distance_upper_bound = 3)' Ist das, was ich versuchte vor, aber hier muss ich angeben, wie viele nächste Nachbarn ich finden möchte. Ja, das sind GPS-Koordinaten (X, Y) und ich möchte alle NNs in einem Radius von 3 Metern für jeden Punkt im Datensatz finden. – Kitumijasi