1
/*! \page vlibLists Vector Library Stuctures and Functions
3
by GRASS Development Team (http://grass.osgeo.org)
7
\section vlibStructures List of vector library data structures
9
All data structure used by the vector library are defined in
10
include/vect/dig_structs.h. See the lists bellow.
12
\subsection vlibStructuresMajor Major
18
\subsection vlibStructuresSupporting Supporting
26
\subsection vlibStructuresFormat-related Format-related
29
- \ref Format_info_ogr
31
\subsection vlibStructuresDB-related DB-related
36
\subsection vlibStructuresGeometry-related Geometry-related
40
\subsection vlibStructuresCategory-related Category-related
46
\subsection vlibStructuresTopology-related Topology-related
53
\subsection vlibStructuresMisc Misc
58
\subsection vlibStructuresObsolete Obsolete
64
\section vlibFunc List of vector library functions
66
The vector library provides the GRASS programmer with routines to
67
process vector data. The routines in the vector library are presented
68
in functional groupings, rather than in alphabetical order. The order
69
of presentation will, it is hoped, provide better understanding of how
70
the library is to be used, as well as show the interrelationships
71
among the various routines. Note that a good way to understand how to
72
use these routines is to look at the source code for GRASS modules
75
Note: All routines start with one of following prefixes Vect_, V1_,
76
V2_ or dig_. To avoid name conficts, programmers should not create
77
variables or routines in their own modules which use this prefix.
79
The Vect_*() functions are the programmer's API for GRASS vector
80
programming. The programmer should use only routines with this prefix.
82
\subsection vlibArea Vector area functions
84
- Vect_get_area_area()
86
- Vect_get_area_boundaries()
88
- Vect_get_area_centroid()
90
- Vect_get_area_isle()
92
- Vect_get_area_num_isles()
94
- Vect_area_perimeter()
96
- Vect_get_area_points()
98
- Vect_get_isle_area()
100
- Vect_get_isle_boundaries()
102
- Vect_get_isle_points()
104
- Vect_point_in_area()
107
\subsection vlibArray Vector array functions
111
- Vect_set_varray_from_cat_list()
113
- Vect_set_varray_from_cat_string()
115
- Vect_set_varray_from_db()
118
\subsection vlibBox Vector bounding box functions
128
- Vect_get_area_box()
130
- Vect_get_isle_box()
132
- Vect_get_line_box()
136
- Vect_point_in_box()
141
\subsection vlibBreakLines Vector break lines functions
145
- Vect_break_lines_list()
148
\subsection vlibBreakPolygons Vector break polygons functions
150
- Vect_break_polygons()
153
\subsection vlibBridges Vector bridges functions
155
- Vect_chtype_bridges()
157
- Vect_remove_bridges()
160
\subsection vlibBuffer Vector buffer functions
164
- Vect_line_parallel()
167
\subsection vlibBuild Vector build functions
169
\subsubsection vlibBuildMain Main build functions
173
- Vect_build_partial()
177
- Vect_build_sidx_from_topo()
190
\subsubsection vlibBuildNat Native build functions
192
- Vect_attach_centroids()
196
- Vect_attach_isles()
198
- Vect_build_line_area()
202
- Vect_isle_find_area()
205
\subsubsection vlibBuildOgr OGR build functions
210
\subsection vlibCats Vector categories functions
212
- Vect_array_to_cat_list()
218
- Vect_cat_in_array()
220
- Vect_cat_in_cat_list()
224
- Vect_destroy_cat_list()
226
- Vect_destroy_cats_struct()
228
- Vect_field_cat_del()
230
- Vect_get_area_cats()
232
- Vect_get_area_cat()
234
- Vect_get_line_cat()
236
- Vect_new_cat_list()
238
- Vect_new_cats_struct()
242
- Vect_str_to_cat_list()
245
\subsection vlibCleanNodes Vector clean nodes functions
247
- Vect_clean_small_angles_at_nodes()
250
\subsection vlibClose Vector close functions
255
\subsection vlibConstraint Vector constraint functions
257
- Vect_get_constraint_box()
259
- Vect_remove_constraints()
261
- Vect_set_constraint_region()
263
- Vect_set_constraint_type()
266
\section vlibDangles Vector dangles functions
268
- Vect_chtype_dangles()
270
- Vect_remove_dangles()
272
- Vect_select_dangles()
275
\subsection vlibDbcolumns Vector dbcolumns functions
277
- Vect_get_column_names()
279
- Vect_get_column_names_types()
281
- Vect_get_column_types()
284
\subsection vlibError Vector error functions
286
- Vect_get_fatal_error()
288
- Vect_set_fatal_error()
291
\subsection vlibField Vector layer (field) functions
293
(note: vector layer is historically called "field")
297
- Vect_check_dblink()
299
- Vect_default_field_info()
305
- Vect_get_field_by_name()
307
- Vect_map_add_dblink()
309
- Vect_map_check_dblink()
311
- Vect_map_del_dblink()
313
- Vect_new_dblinks_struct()
315
- Vect_read_dblinks()
317
- Vect_reset_dblinks()
319
- Vect_set_db_updated()
323
- Vect_write_dblinks()
326
\subsection vlibFind Vector find functions
334
- Vect_find_line_list()
339
\subsection vlibGraph Vector graph functions
341
- Vect_graph_add_edge()
347
- Vect_graph_set_node_costs()
349
- Vect_graph_shortest_path()
352
\subsection vlibHeader Vector header functions
356
- Vect_get_constraint_box()
360
- Vect_get_full_name()
362
- Vect_get_map_date()
364
- Vect_get_map_name()
370
- Vect_get_organization()
376
- Vect_get_proj_name()
386
- Vect_print_header()
394
- Vect_set_map_date()
396
- Vect_set_map_name()
398
- Vect_set_organization()
408
- Vect_write_header()
411
\subsection vlibHist Vector history functions
413
- Vect_hist_command()
424
\subsection vlibInitHead Vector header functions
426
- Vect_copy_head_data()
429
\subsection vlibIntersect Vector intersection functions
431
- Vect_line_check_intersection()
433
- Vect_line_intersection()
435
- Vect_segment_intersection()
438
\subsection vlibLegalVname Vector valid map name functions
440
- Vect_check_input_output_name()
442
- Vect_legal_filename()
445
\subsection vlibLevel Vector level functions
450
\subsection vlibLevelTwo Vector topological (level 2) functions
452
- Vect_get_centroid_area()
454
- Vect_get_line_areas()
456
- Vect_get_line_nodes()
458
- Vect_get_node_coor()
460
- Vect_get_node_line()
462
- Vect_get_node_line_angle()
464
- Vect_get_node_n_lines()
466
- Vect_get_num_areas()
468
- Vect_get_num_dblinks()
470
- Vect_get_num_faces()
472
- Vect_get_num_islands()
474
- Vect_get_num_lines()
476
- Vect_get_num_nodes()
478
- Vect_get_num_primitives()
480
- Vect_get_num_updated_lines()
482
- Vect_get_num_updated_nodes()
484
- Vect_get_updated_line()
486
- Vect_get_updated_node()
488
- Vect_set_release_support()
491
\subsection vlibLine Vector feature functions
493
- Vect_append_point()
495
- Vect_append_points()
497
- Vect_copy_pnts_to_xyz()
499
- Vect_copy_xyz_to_pnts()
501
- Vect_destroy_line_struct()
503
- Vect_get_num_line_points()
507
- Vect_line_delete_point()
509
- Vect_line_distance()
511
- Vect_line_geodesic_length()
513
- Vect_line_get_point()
515
- Vect_line_insert_point()
521
- Vect_line_prune_thresh()
523
- Vect_line_reverse()
525
- Vect_line_segment()
527
- Vect_new_line_struct()
529
- Vect_point_on_line()
531
- Vect_points_distance()
536
\subsection vlibList Vector list functions
538
- Vect_destroy_list()
542
- Vect_list_append_list()
546
- Vect_list_delete_list()
554
- Vect_destroy_boxlist()
556
- Vect_boxlist_append()
558
- Vect_boxlist_append_boxlist()
560
- Vect_boxlist_delete()
562
- Vect_boxlist_delete_boxlist()
566
- Vect_reset_boxlist()
568
- Vect_val_in_boxlist()
571
\subsection vlibMap Vector map functions
575
- Vect_copy_map_lines()
579
- Vect_copy_table_by_cats()
588
\subsection vlibMergeLines Vector merge line functions
593
\subsection vlibNet Vector network functions
595
- Vect_net_build_graph()
597
- Vect_net_get_line_cost()
599
- Vect_net_get_node_cost()
601
- Vect_net_nearest_nodes()
603
- Vect_net_shortest_path()
605
- Vect_net_shortest_path_coor()
608
\subsection vlibOpen Vector open functions
612
- Vect_maptype_info()
622
- Vect_open_old_head()
630
- Vect_open_update_head()
632
- Vect_set_open_level()
634
\subsection vlibOverlay Vector overlay functions
638
- Vect_overlay_str_to_operator()
641
\subsection vlibVpoly Vector polygon functions
643
- Vect_find_poly_centroid()
645
- Vect_get_point_in_area()
647
- Vect_point_in_area_outer_ring()
649
- Vect_point_in_island()
651
- Vect_get_point_in_poly()
653
- Vect_get_point_in_poly_isl()
656
\subsection vlibRead Vector read functions
658
\subsubsection vlibread1_2 Level 1 and 2
660
- Vect_read_next_line()
662
\subsubsection vlibRead2 Level 2 only
675
\subsection vlibRemoveAreas Vector remove functions
677
\subsubsection vlibRemoveAreas Vector remove areas functions
679
- Vect_remove_small_areas()
682
\subsubsection vlibRemoveDuplicates Vector remove duplicates functions
684
- Vect_line_check_duplicate()
686
- Vect_remove_duplicates()
689
\subsection vlibRewind Vector rewind functions
694
\subsection vlibSelect Vector select functions
696
- Vect_select_areas_by_box()
698
- Vect_select_areas_by_polygon()
700
- Vect_select_isles_by_box()
702
- Vect_select_lines_by_box()
704
- Vect_select_lines_by_polygon()
706
- Vect_select_nodes_by_box()
709
\subsection vlibIndex Vector index functions
712
\subsubsection vlibSindex Vector spatial index functions
714
- Vect_spatial_index_add_item()
716
- Vect_spatial_index_del_item()
718
- Vect_spatial_index_destroy()
720
- Vect_spatial_index_init()
722
- Vect_spatial_index_select()
725
\subsection vlibCindex Vector category index functions
727
(note: vector layer is historically called "field")
731
- Vect_cidx_find_next()
733
- Vect_cidx_find_all()
735
- Vect_cidx_get_cat_by_index()
737
- Vect_cidx_get_field_index()
739
- Vect_cidx_get_field_number()
741
- Vect_cidx_get_num_cats_by_index()
743
- Vect_cidx_get_num_fields()
745
- Vect_cidx_get_num_types_by_index()
747
- Vect_cidx_get_num_unique_cats_by_index()
749
- Vect_cidx_get_type_count()
751
- Vect_cidx_get_type_count_by_index()
757
- Vect_set_category_index_update()
760
\subsection vlibSnap Vector snap functions
764
- Vect_snap_lines_list()
767
\subsection vlibTinFuns Vector TIN functions
772
\subsection vlibType Vector type option functions
774
- Vect_option_to_types()
777
\subsection vlibDelete Vector delete functions
779
\subsubsection vlibDelete2 Level 2 only
783
\subsection vlibWrite Vector write functions
785
\subsubsection vlibWrite1_2 Level 1 and 2
789
\subsubsection vlibWrite2 Level 2 only
791
- Vect_rewrite_line()
793
\subsection vlibAsciiFn Vector ASCII functions
797
- Vect_read_ascii_head()
801
- Vect_write_ascii_head()
803
\subsection vlibSFAFn Vector Simple Feature Access API
805
Functions from GRASS Simple Feature API (in progress, incomplete).
807
- Vect_sfa_get_line_type()
809
- Vect_sfa_check_line_type()
811
- Vect_sfa_line_dimension()
813
- Vect_sfa_line_geometry_type()
815
- Vect_sfa_line_astext()
817
- Vect_sfa_is_line_simple()
819
- Vect_sfa_is_line_closed()
821
\subsection vlibGeosFn Vector GEOS functions
823
Note: The functions are available only if GRASS is compiled with
824
<tt>--with-geos</tt> switch.
826
- Vect_read_line_geos()
828
- Vect_read_area_geos()
830
- Vect_line_to_geos()
832
- Vect_get_area_points_geos()
834
- Vect_get_isle_points_geos()
836
\subsection vlibPgFn Vector PostgreSQL/PostGIS functions
838
Note: The functions are available only if GRASS is compiled with
839
<tt>--with-postgres</tt> switch.
841
- Vect_open_topo_pg()
845
(For internal use only)
847
- V1_open_old_pg(), V2_open_old_pg() called by Vect_open_old()
849
- V1_open_new_pg(), V2_open_new_pg() called by Vect_open_new()
851
- V1_rewind_pg(), V2_rewind_pg() called by Vect_rewind()
853
- V1_close_pg(), V2_close_pg() called by Vect_close()
855
- V1_read_line_pg(), V2_read_line_pg() called by Vect_read_line()
857
- V1_read_next_line_pg(), V2_read_next_line_pg() called by Vect_read_next_line()
859
- V1_delete_line_pg(), V2_delete_line_sfa() called by Vect_delete_line()
861
- V1_write_line_pg(), V2_write_line_pg() called by Vect_write_line()
863
- V1_rewrite_line_pg(), V2_rewrite_line_sfa() called by Vect_rewrite_line()
865
- V2_write_area_pg(), see \gmod{v.out.postgis} for implementation issues