Учитывая массив геокоординат и другую гео координату, я хотел бы найти ближайшую координату (ей).Поиск ближайшей координаты с другой координатой
Например, если массив:
лат длиной
52,525782 13,316927
52,526409 13,319083
52,525678 13.320317
И пункт: 52.525730, 13.314556
, тогда будет возвращен первый пункт 52.525782, 13.316927
, так как он является самым близким.
Это единственный способ совершить переход через весь массив и найти расстояние между точками? Что произойдет, если массив содержит слишком много координат?
Какова структура массива точно, Lat один массив и длинный другой или это массив типа 'двойной [,]' –
@AlfieGoodacre Это один массив, так же, как 'двойной [,]' –
I скорее увидит дерево BSP - двоичный пространственный раздел. Они занимают много времени, чтобы сгенерировать из такого набора, но он будет искать 'O (log n)'. В основном, учитывая две точки, существует линия, вдоль которой они равноудалены, и даже если ближайшая точка к вашему запросу не является одной из этих двух, то найти, какая сторона этой линии имеет точку запроса, может исключить половину других точек и мы можем пропустить их сравнение. – sqykly