kd_knn()

Поиск K ближайших узлов.

Прототип:

#include <gis/gis_kdtree.h>
int kd_knn( gis_kd_tree_t *tree, int k, double *coors, struct gis_kd_uniq_id *ids, double *dists);

Аргументы:

tree
Указатель на КД дерево
k
Количество узлов, которое необходимо найти
coors
Указатель на массив координат узла
ids
Пустой массив идентификаторов для записи id найденных узлов
dists
Пустой массив расстояний для записи дистанции до найденных узлов

Библиотека:

kd-tree

Описание:

Функция осуществляет поиск ближайших узлов в дереве к точке, описанной массивом координат, переданных в качестве параметра coors.Идентификаторы найденных точек помещаются в массив ids, расстояния в массив dists.

Возвращаемое значение:

count
Количество найденных узлов

Примеры использования:

struct uniq_id found[2];
double distances[2];
if ( kd_knn( kd_t, 2, (double *)point, found, distances) != 2 )
{
printf( "KD-tree error: can't find 2 nearest points\n" );
return 0;
}




Предыдущий раздел: Описание API картографического фреймворка