GRASS GIS 8 Programmer's Manual  8.2.2dev(2023)-3d2c704037
vector/Vlib/read.c File Reference

Vector library - read features. More...

#include <sys/types.h>
#include <grass/vector.h>
#include <grass/glocale.h>
Include dependency graph for vector/Vlib/read.c:

Go to the source code of this file.

Functions

int Vect_get_next_line_id (const struct Map_info *Map)
 Get line id for sequential reading. More...
 
int Vect_read_next_line (const struct Map_info *Map, struct line_pnts *line_p, struct line_cats *line_c)
 Read next vector feature. More...
 
int Vect_read_line (const struct Map_info *Map, struct line_pnts *line_p, struct line_cats *line_c, int line)
 Read vector feature (topological level required) More...
 
int Vect_line_alive (const struct Map_info *Map, int line)
 Check if feature is alive or dead (topological level required) More...
 
int Vect_node_alive (const struct Map_info *Map, int node)
 Check if node is alive or dead (topological level required) More...
 
int Vect_area_alive (const struct Map_info *Map, int area)
 Check if area is alive or dead (topological level required) More...
 
int Vect_isle_alive (const struct Map_info *Map, int isle)
 Check if isle is alive or dead (topological level required) More...
 
off_t Vect_get_line_offset (const struct Map_info *Map, int line)
 Get feature offset (topological level required) More...
 

Detailed Description

Vector library - read features.

Higher level functions for reading/writing/manipulating vectors.

(C) 2001-2009, 2011-2013 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.

Author
Original author CERL, probably Dave Gerdes or Mike Higgins.
Update to GRASS 5.7 Radim Blazek and David D. Gray.
Update to GRASS 7 Martin Landa <landa.martin gmail.com>

Definition in file vector/Vlib/read.c.

Function Documentation

◆ Vect_area_alive()

int Vect_area_alive ( const struct Map_info Map,
int  area 
)

Check if area is alive or dead (topological level required)

Note: Topology must be built at level >= GV_BUILD_AREAS

Parameters
Mappointer to Map_info structure
areaarea id
Returns
1 area alive
0 area is dead or index is out of range

Definition at line 245 of file vector/Vlib/read.c.

References _, Plus_head::Area, G_warning(), Plus_head::n_areas, NULL, and Map_info::plus.

Referenced by vector2perimeters(), and Vedit_delete_areas_cat().

◆ Vect_get_line_offset()

off_t Vect_get_line_offset ( const struct Map_info Map,
int  line 
)

Get feature offset (topological level required)

Note: Topology must be built at level >= GV_BUILD_BASE

Used for Vect_restore_line().

Parameters
Mappointer to Map_info structure
linefeature id
Returns
feature offset
-1 on error

Definition at line 295 of file vector/Vlib/read.c.

◆ Vect_get_next_line_id()

int Vect_get_next_line_id ( const struct Map_info Map)

Get line id for sequential reading.

This function returns id of feature which has been read by calling Vect_read_next_line().

Parameters
Mappointer to Map_info struct
Returns
feature id
-1 on error

Definition at line 88 of file vector/Vlib/read.c.

References _, G_debug(), G_warning(), Map_info::next_line, and VECT_OPEN.

◆ Vect_isle_alive()

int Vect_isle_alive ( const struct Map_info Map,
int  isle 
)

Check if isle is alive or dead (topological level required)

Note: Topology must be built at level >= GV_BUILD_AREAS

Parameters
Mappointer to Map_info structure
isleisle id
Returns
1 isle alive
0 isle is dead or index is out of range

Definition at line 269 of file vector/Vlib/read.c.

References _, G_warning(), Plus_head::Isle, Plus_head::n_isles, NULL, and Map_info::plus.

◆ Vect_line_alive()

int Vect_line_alive ( const struct Map_info Map,
int  line 
)

Check if feature is alive or dead (topological level required)

Note: Topology must be built at level >= GV_BUILD_BASE

Parameters
Mappointer to Map_info structure
linefeature id
Returns
1 feature alive
0 feature is dead or index is out of range

Definition at line 197 of file vector/Vlib/read.c.

◆ Vect_node_alive()

int Vect_node_alive ( const struct Map_info Map,
int  node 
)

Check if node is alive or dead (topological level required)

Note: Topology must be built at level >= GV_BUILD_BASE

Parameters
Mappointer to Map_info structure
nodenode id
Returns
1 node alive
0 node is dead or index is out of range

Definition at line 221 of file vector/Vlib/read.c.

References _, G_warning(), Plus_head::n_nodes, Plus_head::Node, NULL, and Map_info::plus.

◆ Vect_read_line()

int Vect_read_line ( const struct Map_info Map,
struct line_pnts line_p,
struct line_cats line_c,
int  line 
)

Read vector feature (topological level required)

This function implements random access. Constraits are ignored.

Note: Topology must be built at level >= GV_BUILD_BASE

A warning is printed on failure.

Parameters
Mappointer to vector map
[out]line_pfeature geometry (pointer to line_pnts struct)
[out]line_cfeature categories (pointer to line_cats struct)
linefeature id (starts at 1)
Returns
feature type
-1 on failure
-2 nothing to read

Definition at line 160 of file vector/Vlib/read.c.

Referenced by NetA_initialise_varray(), and Vect_get_area_cats().

◆ Vect_read_next_line()

int Vect_read_next_line ( const struct Map_info Map,
struct line_pnts line_p,
struct line_cats line_c 
)

Read next vector feature.

This function implements sequential access, constraints are reflected, see Vect_set_constraint_region(), Vect_set_constraint_type(), or Vect_set_constraint_field() for details.

Use Vect_rewind() to reset reading. Topological level is not required.

A warning is printed on failure.

Parameters
Mappointer Map_info struct
[out]line_pfeature geometry (pointer to line_pnts struct)
[out]line_cfeature categories (pointer to line_cats struct)
Returns
feature type (GV_POINT, GV_LINE, ...)
-1 on error
-2 nothing to read

Definition at line 121 of file vector/Vlib/read.c.

References _, G_debug(), G_warning(), Map_info::next_line, and VECT_OPEN.