Étant donné un tableau de coordonnées géographiques et une autre coordonnée géographique, j'aimerais trouver la (les) coordonnée (s) la plus proche.Recherche de la coordonnée la plus proche d'une autre coordonnée
Par exemple, étant donné le tableau:
lat longue
52,525782 13,316927
52,526409 13,319083
52,525678Et le point: 52.525730, 13.314556
, puis le premier point 52.525782, 13.316927
sera retourné, car il est le plus proche. Est-ce que la seule façon de l'obtenir est de boucler tout le tableau et de trouver la distance entre les points? Que se passe-t-il si le tableau contient trop de coordonnées?
Quelle est la structure de tableau exactement, est lat un tableau et à long une autre ou est-ce un tableau comme 'deux [,]' –
@AlfieGoodacre Il est un tableau, comme 'deux [,]' –
I préfère voir une arborescence BSP - partition d'espace binaire. Ils prennent beaucoup de temps à générer à partir d'un ensemble comme celui-ci, mais il aura une recherche 'O (log n)'. Fondamentalement donné deux points il ya une ligne le long de laquelle ils sont équidistants, et même si le point le plus proche de votre requête n'est pas l'un de ces deux, trouver quel côté de cette ligne a le point de recherche peut exclure la moitié des autres points nous pouvons les ignorer en les comparant. – sqykly