GRASS 8 Programmer's Manual 8.6.0dev(2026)-1878fdfec5
Loading...
Searching...
No Matches
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 (struct Map_info *Map)
 Get line id for sequential reading.
 
int Vect_read_next_line (struct Map_info *Map, struct line_pnts *line_p, struct line_cats *line_c)
 Read next vector feature.
 
int Vect_read_line (struct Map_info *Map, struct line_pnts *line_p, struct line_cats *line_c, int line)
 Read vector feature (topological level required)
 
int Vect_line_alive (struct Map_info *Map, int line)
 Check if feature is alive or dead (topological level required)
 
int Vect_node_alive (struct Map_info *Map, int node)
 Check if node is alive or dead (topological level required)
 
int Vect_area_alive (struct Map_info *Map, int area)
 Check if area is alive or dead (topological level required)
 
int Vect_isle_alive (struct Map_info *Map, int isle)
 Check if isle is alive or dead (topological level required)
 
off_t Vect_get_line_offset (struct Map_info *Map, int line)
 Get feature offset (topological level required)
 

Detailed Description

Vector library - read features.

Higher level functions for reading/writing/manipulating vectors.

SPDX-FileCopyrightText: 2001-2009, 2011-2013 GRASS Development Team SPDX-License-Identifier: GPL-2.0-or-later

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 ( 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 _, G_warning(), and NULL.

Referenced by Vect_build_partial(), Vect_remove_small_areas_ext(), Vect_remove_small_areas_nat(), Vect_topo_check(), Vect_write_ascii(), vector2perimeters(), and Vedit_delete_areas_cat().

◆ Vect_get_line_offset()

off_t Vect_get_line_offset ( 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.

References NULL.

◆ Vect_get_next_line_id()

int Vect_get_next_line_id ( 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 83 of file vector/Vlib/read.c.

References _, G_debug(), G_warning(), and VECT_OPEN.

◆ Vect_isle_alive()

int Vect_isle_alive ( 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(), and NULL.

◆ Vect_line_alive()

int Vect_line_alive ( struct Map_info Map,
int  line 
)

◆ Vect_node_alive()

int Vect_node_alive ( 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(), and NULL.

Referenced by Vect_clean_small_angles_at_nodes().

◆ Vect_read_line()

int Vect_read_line ( 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. Constraints 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 157 of file vector/Vlib/read.c.

References _, G_debug(), G_free(), G_warning(), Vect_get_full_name(), and VECT_OPEN.

Referenced by NetA_get_node_costs(), NetA_initialise_varray(), NetA_varray_to_nodes(), Vect__get_area_points_nat(), Vect__load_plus_pg(), Vect_break_polygons_file(), Vect_break_polygons_mem(), Vect_build_nat(), Vect_clean_small_angles_at_nodes(), Vect_find_line_list(), Vect_get_area_cats(), Vect_get_line_box(), Vect_get_line_cat(), Vect_merge_lines(), Vect_net_build_graph(), Vect_net_nearest_nodes(), Vect_net_ttb_build_graph(), Vect_net_ttb_shortest_path(), Vect_overlay_and(), Vect_read_line_to_wkb(), Vect_remove_duplicates(), Vect_remove_small_areas_ext(), Vect_remove_small_areas_nat(), Vect_select_lines_by_polygon(), Vect_set_varray_from_cat_list(), Vect_set_varray_from_db(), Vect_snap_line(), Vect_snap_lines(), Vect_topo_check(), Vedit_add_vertex(), Vedit_bulk_labeling(), Vedit_chtype_lines(), Vedit_copy_lines(), Vedit_flip_lines(), Vedit_merge_lines(), Vedit_modify_cats(), Vedit_move_lines(), Vedit_move_vertex(), Vedit_remove_vertex(), Vedit_snap_lines(), Vedit_snap_point(), and Vedit_split_lines().

◆ Vect_read_next_line()

int Vect_read_next_line ( 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 116 of file vector/Vlib/read.c.

References _, G_debug(), G_free(), G_warning(), Vect_get_full_name(), and VECT_OPEN.

Referenced by Gp_load_sites(), Gv_load_vect(), IL_vector_input_data_2d(), P_estimate_splinestep(), P_Read_Vector_Region_Map(), Vect_build_nat(), Vect_copy_map_lines_field(), Vect_get_map_box1(), and Vect_write_ascii().