GRASS GIS 8 Programmer's Manual
8.5.0dev(2024)-bea8435a9e
|
Vector library - spatial index. More...
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat.h>
#include <string.h>
#include <grass/vector.h>
#include <grass/glocale.h>
Go to the source code of this file.
Functions | |
void | Vect_spatial_index_init (struct spatial_index *si, int with_z) |
Initialize spatial index structure. More... | |
void | Vect_spatial_index_destroy (struct spatial_index *si) |
Destroy existing spatial index. More... | |
void | Vect_spatial_index_add_item (struct spatial_index *si, int id, const struct bound_box *box) |
Add a new item to spatial index structure. More... | |
void | Vect_spatial_index_del_item (struct spatial_index *si, int id, const struct bound_box *box) |
Delete item from spatial index structure. More... | |
int | Vect_spatial_index_select (const struct spatial_index *si, const struct bound_box *box, struct ilist *list) |
Select items by bounding box to list. More... | |
Vector library - spatial index.
Higher level functions for a custom spatial index.
(C) 2001-2009 by the GRASS Development Team
This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.
Definition in file vector/Vlib/select.c.
void Vect_spatial_index_add_item | ( | struct spatial_index * | si, |
int | id, | ||
const struct bound_box * | box | ||
) |
Add a new item to spatial index structure.
[in,out] | si | pointer to spatial index structure |
id | item identifier | |
box | pointer to item bounding box |
Definition at line 62 of file vector/Vlib/select.c.
References bound_box::B, RTree_Rect::boundary, bound_box::E, G_debug(), G_malloc, bound_box::N, RTree::nsides_alloc, RTreeInsertRect(), bound_box::S, spatial_index::si_tree, bound_box::T, and bound_box::W.
void Vect_spatial_index_del_item | ( | struct spatial_index * | si, |
int | id, | ||
const struct bound_box * | box | ||
) |
Delete item from spatial index structure.
[in,out] | si | pointer to spatial index structure |
id | item identifier |
Definition at line 92 of file vector/Vlib/select.c.
References _, bound_box::B, RTree_Rect::boundary, bound_box::E, G_debug(), G_fatal_error(), G_malloc, bound_box::N, RTree::nsides_alloc, RTreeDeleteRect(), bound_box::S, spatial_index::si_tree, bound_box::T, and bound_box::W.
void Vect_spatial_index_destroy | ( | struct spatial_index * | si | ) |
Destroy existing spatial index.
Vect_spatial_index_init() must be call before new use.
si | pointer to spatial index structure |
Definition at line 46 of file vector/Vlib/select.c.
References G_debug(), RTreeDestroyTree(), and spatial_index::si_tree.
void Vect_spatial_index_init | ( | struct spatial_index * | si, |
int | with_z | ||
) |
Initialize spatial index structure.
si | pointer to spatial index structure |
Definition at line 30 of file vector/Vlib/select.c.
References G_debug(), RTreeCreateTree(), and spatial_index::si_tree.
int Vect_spatial_index_select | ( | const struct spatial_index * | si, |
const struct bound_box * | box, | ||
struct ilist * | list | ||
) |
Select items by bounding box to list.
si | pointer to spatial index structure | |
box | bounding box | |
[out] | list | pointer to list where selected items are stored |
Definition at line 137 of file vector/Vlib/select.c.
References bound_box::B, RTree_Rect::boundary, bound_box::E, G_malloc, bound_box::N, RTree::nsides_alloc, RTreeSearch(), bound_box::S, spatial_index::si_tree, bound_box::T, Vect_reset_list(), and bound_box::W.