123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869 |
- /*! \page vlibLists Vector Library Structures and Functions
- by GRASS Development Team (http://grass.osgeo.org)
- \tableofcontents
- \section vlibStructures List of vector library data structures
- All data structure used by the vector library are defined in
- include/vect/dig_structs.h. See the lists below.
- \subsection vlibStructuresMajor Major
- - \ref Map_info
- - \ref Plus_head
- - \ref dig_head
- \subsection vlibStructuresSupporting Supporting
- - \ref bound_box
- - \ref gvfile
- - \ref Port_info
- - \ref Coor_info
- - \ref spatial_index
- \subsection vlibStructuresFormat-related Format-related
- - \ref Format_info
- - \ref Format_info_ogr
- \subsection vlibStructuresDB-related DB-related
- - \ref field_info
- - \ref dblinks
- \subsection vlibStructuresGeometry-related Geometry-related
- - \ref line_pnts
- \subsection vlibStructuresCategory-related Category-related
- - \ref line_cats
- - \ref cat_list
- - \ref Cat_index
- \subsection vlibStructuresTopology-related Topology-related
- - \ref P_node
- - \ref P_line
- - \ref P_area
- - \ref P_isle
- \subsection vlibStructuresMisc Misc
- - \ref ilist
- - \ref varray
- \subsection vlibStructuresObsolete Obsolete
- - \ref site_att
- - \ref recycle
- \section vlibFunc List of vector library functions
- The vector library provides the GRASS programmer with routines to
- process vector data. The routines in the vector library are presented
- in functional groupings, rather than in alphabetical order. The order
- of presentation will, it is hoped, provide better understanding of how
- the library is to be used, as well as show the interrelationships
- among the various routines. Note that a good way to understand how to
- use these routines is to look at the source code for GRASS modules
- which use them.
- Note: All routines start with one of following prefixes Vect_, V1_,
- V2_ or dig_. To avoid name conficts, programmers should not create
- variables or routines in their own modules which use this prefix.
- The Vect_*() functions are the programmer's API for GRASS vector
- programming. The programmer should use only routines with this prefix.
- \subsection vlibArea Vector area functions
- - Vect_get_area_area()
- - Vect_get_area_boundaries()
- - Vect_get_area_centroid()
- - Vect_get_area_isle()
- - Vect_get_area_num_isles()
- - Vect_area_perimeter()
- - Vect_get_area_points()
- - Vect_get_isle_area()
- - Vect_get_isle_boundaries()
- - Vect_get_isle_points()
- - Vect_point_in_area()
- \subsection vlibArray Vector array functions
- - Vect_new_varray()
- - Vect_set_varray_from_cat_list()
- - Vect_set_varray_from_cat_string()
- - Vect_set_varray_from_db()
- \subsection vlibBox Vector bounding box functions
- - Vect_box_copy()
- - Vect_box_clip()
- - Vect_box_extend()
- - Vect_box_overlap()
- - Vect_get_area_box()
- - Vect_get_isle_box()
- - Vect_get_line_box()
- - Vect_get_map_box()
- - Vect_point_in_box()
- - Vect_region_box()
- \subsection vlibBreakLines Vector break lines functions
- - Vect_break_lines()
- - Vect_break_lines_list()
- \subsection vlibBreakPolygons Vector break polygons functions
- - Vect_break_polygons()
- \subsection vlibBridges Vector bridges functions
- - Vect_chtype_bridges()
- - Vect_remove_bridges()
- \subsection vlibBuffer Vector buffer functions
- - Vect_line_buffer()
- - Vect_line_parallel()
- \subsection vlibBuild Vector build functions
- \subsubsection vlibBuildMain Main build functions
- - Vect_build()
- - Vect_build_partial()
- - Vect_get_built()
- - Vect_build_sidx_from_topo()
- - Vect_build_sidx()
- - Vect_save_sidx()
- - Vect_save_topo()
- - Vect_sidx_dump()
- - Vect_topo_dump()
- \subsubsection vlibBuildNat Native build functions
- - Vect_attach_centroids()
- - Vect_attach_isle()
- - Vect_attach_isles()
- - Vect_build_line_area()
- - Vect_build_nat()
- - Vect_isle_find_area()
- \subsubsection vlibBuildOgr OGR build functions
- - Vect_build_ogr()
- \subsection vlibCats Vector categories functions
- - Vect_array_to_cat_list()
- - Vect_cat_del()
- - Vect_cat_get()
- - Vect_cat_in_array()
- - Vect_cat_in_cat_list()
- - Vect_cat_set()
- - Vect_destroy_cat_list()
- - Vect_destroy_cats_struct()
- - Vect_field_cat_del()
- - Vect_get_area_cats()
- - Vect_get_area_cat()
- - Vect_get_line_cat()
- - Vect_new_cat_list()
- - Vect_new_cats_struct()
- - Vect_reset_cats()
- - Vect_str_to_cat_list()
- \subsection vlibCleanNodes Vector clean nodes functions
- - Vect_clean_small_angles_at_nodes()
- \subsection vlibClose Vector close functions
- - Vect_close()
- \subsection vlibConstraint Vector constraint functions
- - Vect_get_constraint_box()
- - Vect_remove_constraints()
- - Vect_set_constraint_region()
- - Vect_set_constraint_type()
- \section vlibDangles Vector dangles functions
- - Vect_chtype_dangles()
- - Vect_remove_dangles()
- - Vect_select_dangles()
- \subsection vlibDbcolumns Vector dbcolumns functions
- - Vect_get_column_names()
- - Vect_get_column_names_types()
- - Vect_get_column_types()
- \subsection vlibError Vector error functions
- - Vect_get_fatal_error()
- - Vect_set_fatal_error()
- \subsection vlibField Vector layer (field) functions
- (note: vector layer is historically called "field")
- - Vect_add_dblink()
- - Vect_check_dblink()
- - Vect_default_field_info()
- - Vect_get_dblink()
- - Vect_get_field()
- - Vect_get_field_by_name()
- - Vect_map_add_dblink()
- - Vect_map_check_dblink()
- - Vect_map_del_dblink()
- - Vect_new_dblinks_struct()
- - Vect_read_dblinks()
- - Vect_reset_dblinks()
- - Vect_set_db_updated()
- - Vect_subst_var()
- - Vect_write_dblinks()
- \subsection vlibFind Vector find functions
- - Vect_find_area()
- - Vect_find_island()
- - Vect_find_line()
- - Vect_find_line_list()
- - Vect_find_node()
- \subsection vlibGraph Vector graph functions
- - Vect_graph_add_edge()
- - Vect_graph_build()
- - Vect_graph_init()
- - Vect_graph_set_node_costs()
- - Vect_graph_shortest_path()
- \subsection vlibHeader Vector header functions
- - Vect_get_comment()
- - Vect_get_constraint_box()
- - Vect_get_date()
- - Vect_get_full_name()
- - Vect_get_map_date()
- - Vect_get_map_name()
- - Vect_get_mapset()
- - Vect_get_name()
- - Vect_get_organization()
- - Vect_get_person()
- - Vect_get_proj()
- - Vect_get_proj_name()
- - Vect_get_scale()
- - Vect_get_thresh()
- - Vect_get_zone()
- - Vect_is_3d()
- - Vect_print_header()
- - Vect_read_header()
- - Vect_set_comment()
- - Vect_set_date()
- - Vect_set_map_date()
- - Vect_set_map_name()
- - Vect_set_organization()
- - Vect_set_person()
- - Vect_set_scale()
- - Vect_set_thresh()
- - Vect_set_zone()
- - Vect_write_header()
- \subsection vlibHist Vector history functions
- - Vect_hist_command()
- - Vect_hist_copy()
- - Vect_hist_read()
- - Vect_hist_rewind()
- - Vect_hist_write()
- \subsection vlibInitHead Vector header functions
- - Vect_copy_head_data()
- \subsection vlibIntersect Vector intersection functions
- - Vect_line_check_intersection()
- - Vect_line_intersection()
- - Vect_segment_intersection()
- \subsection vlibLegalVname Vector valid map name functions
- - Vect_check_input_output_name()
- - Vect_legal_filename()
- \subsection vlibLevel Vector level functions
- - Vect_level()
- \subsection vlibLevelTwo Vector topological (level 2) functions
- - Vect_get_centroid_area()
- - Vect_get_line_areas()
- - Vect_get_line_nodes()
- - Vect_get_node_coor()
- - Vect_get_node_line()
- - Vect_get_node_line_angle()
- - Vect_get_node_n_lines()
- - Vect_get_num_areas()
- - Vect_get_num_dblinks()
- - Vect_get_num_faces()
- - Vect_get_num_islands()
- - Vect_get_num_lines()
- - Vect_get_num_nodes()
- - Vect_get_num_primitives()
- - Vect_get_num_updated_lines()
- - Vect_get_num_updated_nodes()
- - Vect_get_updated_line()
- - Vect_get_updated_node()
- - Vect_set_release_support()
- \subsection vlibLine Vector feature functions
- - Vect_append_point()
- - Vect_append_points()
- - Vect_copy_pnts_to_xyz()
- - Vect_copy_xyz_to_pnts()
- - Vect_destroy_line_struct()
- - Vect_get_num_line_points()
- - Vect_line_box()
- - Vect_line_delete_point()
- - Vect_line_distance()
- - Vect_line_geodesic_length()
- - Vect_line_get_point()
- - Vect_line_insert_point()
- - Vect_line_length()
- - Vect_line_prune()
- - Vect_line_prune_thresh()
- - Vect_line_reverse()
- - Vect_line_segment()
- - Vect_new_line_struct()
- - Vect_point_on_line()
- - Vect_points_distance()
- - Vect_reset_line()
- \subsection vlibList Vector list functions
- - Vect_destroy_list()
- - Vect_list_append()
- - Vect_list_append_list()
- - Vect_list_delete()
- - Vect_list_delete_list()
- - Vect_new_list()
- - Vect_reset_list()
- - Vect_val_in_list()
- - Vect_destroy_boxlist()
- - Vect_boxlist_append()
- - Vect_boxlist_append_boxlist()
- - Vect_boxlist_delete()
- - Vect_boxlist_delete_boxlist()
- - Vect_new_boxlist()
- - Vect_reset_boxlist()
- - Vect_val_in_boxlist()
- \subsection vlibMap Vector map functions
- - Vect_copy()
- - Vect_copy_map_lines()
- - Vect_copy_table()
- - Vect_copy_table_by_cats()
- - Vect_copy_tables()
- - Vect_delete()
- - Vect_rename()
- \subsection vlibMergeLines Vector merge line functions
- - Vect_merge_lines()
- \subsection vlibNet Vector network functions
- - Vect_net_build_graph()
- - Vect_net_get_line_cost()
- - Vect_net_get_node_cost()
- - Vect_net_nearest_nodes()
- - Vect_net_shortest_path()
- - Vect_net_shortest_path_coor()
- \subsection vlibOpen Vector open functions
- - Vect_coor_info()
- - Vect_maptype_info()
- - Vect_maptype()
- - Vect_open_new()
- - Vect__open_old()
- - Vect_open_old()
- - Vect_open_old_head()
- - Vect_open_sidx()
- - Vect_open_topo()
- - Vect_open_update()
- - Vect_open_update_head()
- - Vect_set_open_level()
- \subsection vlibOverlay Vector overlay functions
- - Vect_overlay()
- - Vect_overlay_str_to_operator()
- \subsection vlibVpoly Vector polygon functions
- - Vect_find_poly_centroid()
- - Vect_get_point_in_area()
- - Vect_point_in_area_outer_ring()
- - Vect_point_in_island()
- - Vect_get_point_in_poly()
- - Vect_get_point_in_poly_isl()
- \subsection vlibRead Vector read functions
- \subsubsection vlibread1_2 Level 1 and 2
- - Vect_read_next_line()
- \subsubsection vlibRead2 Level 2 only
- - Vect_area_alive()
- - Vect_isle_alive()
- - Vect_line_alive()
- - Vect_node_alive()
- - Vect_read_line()
- \subsection vlibRemoveAreas Vector remove functions
- \subsubsection vlibRemoveAreas Vector remove areas functions
- - Vect_remove_small_areas()
- \subsubsection vlibRemoveDuplicates Vector remove duplicates functions
- - Vect_line_check_duplicate()
- - Vect_remove_duplicates()
- \subsection vlibRewind Vector rewind functions
- - Vect_rewind()
- \subsection vlibSelect Vector select functions
- - Vect_select_areas_by_box()
- - Vect_select_areas_by_polygon()
- - Vect_select_isles_by_box()
- - Vect_select_lines_by_box()
- - Vect_select_lines_by_polygon()
- - Vect_select_nodes_by_box()
- \subsection vlibIndex Vector index functions
- \subsubsection vlibSindex Vector spatial index functions
- - Vect_spatial_index_add_item()
- - Vect_spatial_index_del_item()
- - Vect_spatial_index_destroy()
- - Vect_spatial_index_init()
- - Vect_spatial_index_select()
- \subsection vlibCindex Vector category index functions
- (note: vector layer is historically called "field")
- - Vect_cidx_dump()
- - Vect_cidx_find_next()
- - Vect_cidx_find_all()
- - Vect_cidx_get_cat_by_index()
- - Vect_cidx_get_field_index()
- - Vect_cidx_get_field_number()
- - Vect_cidx_get_num_cats_by_index()
- - Vect_cidx_get_num_fields()
- - Vect_cidx_get_num_types_by_index()
- - Vect_cidx_get_num_unique_cats_by_index()
- - Vect_cidx_get_type_count()
- - Vect_cidx_get_type_count_by_index()
- - Vect_cidx_open()
- - Vect_cidx_save()
- - Vect_set_category_index_update()
- \subsection vlibSnap Vector snap functions
- - Vect_snap_lines()
- - Vect_snap_lines_list()
- \subsection vlibTinFuns Vector TIN functions
- - Vect_tin_get_z()
- \subsection vlibType Vector type option functions
- - Vect_option_to_types()
- \subsection vlibDelete Vector delete functions
- \subsubsection vlibDelete2 Level 2 only
- - Vect_delete_line()
- \subsection vlibWrite Vector write functions
- \subsubsection vlibWrite1_2 Level 1 and 2
- - Vect_write_line()
- \subsubsection vlibWrite2 Level 2 only
- - Vect_rewrite_line()
- \subsection vlibAsciiFn Vector ASCII functions
- - Vect_read_ascii()
-
- - Vect_read_ascii_head()
- - Vect_write_ascii()
-
- - Vect_write_ascii_head()
- \subsection vlibSFAFn Vector Simple Feature Access API
- Functions from GRASS Simple Feature API (in progress, incomplete).
- - Vect_sfa_get_line_type()
- - Vect_sfa_check_line_type()
- - Vect_sfa_line_dimension()
- - Vect_sfa_line_geometry_type()
- - Vect_sfa_line_astext()
- - Vect_sfa_is_line_simple()
- - Vect_sfa_is_line_closed()
- \subsection vlibGeosFn Vector GEOS functions
- Note: The functions are available only if GRASS is compiled with
- <tt>--with-geos</tt> switch.
- - Vect_read_line_geos()
- - Vect_read_area_geos()
- - Vect_line_to_geos()
- - Vect_get_area_points_geos()
- - Vect_get_isle_points_geos()
- \subsection vlibPgFn Vector PostgreSQL/PostGIS functions
- Note: The functions are available only if GRASS is compiled with
- <tt>--with-postgres</tt> switch.
- - Vect_open_topo_pg()
- - Vect_build_pg()
- (For internal use only)
- - V1_open_old_pg(), V2_open_old_pg() called by Vect_open_old()
- - V1_open_new_pg(), V2_open_new_pg() called by Vect_open_new()
- - V1_rewind_pg(), V2_rewind_pg() called by Vect_rewind()
- - V1_close_pg(), V2_close_pg() called by Vect_close()
- - V1_read_line_pg(), V2_read_line_pg() called by Vect_read_line()
- - V1_read_next_line_pg(), V2_read_next_line_pg() called by Vect_read_next_line()
- - V1_delete_line_pg(), V2_delete_line_sfa() called by Vect_delete_line()
- - V1_write_line_pg(), V2_write_line_pg() called by Vect_write_line()
- - V1_rewrite_line_pg(), V2_rewrite_line_sfa() called by Vect_rewrite_line()
- - V2_write_area_pg(), see \gmod{v.out.postgis} for implementation issues
- */
|