kd_dnn()

Поиск узлов в заданном радиусе.

Прототип:

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

Аргументы:

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

Библиотека:

kd-tree

Описание:

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

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

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

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

double point[n];
struct uniq_id *found;
double *distances, radius = 2000;
...
//fill point array
...
if ( (count = kd_dnn( kd_t, (double *)point, radius, &found, &distances)) == 0 )
{
printf( "KD-tree: kd_dnn found nothing\n" );
return 0;
}




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