|
GRASS 8 Programmer's Manual 8.6.0dev(2026)-1d1e47ad9d
|
Vector library - Open PostGIS layer as vector map layer. More...
#include <string.h>#include <stdlib.h>#include <grass/vector.h>#include <grass/dbmi.h>#include <grass/glocale.h>#include "local_proto.h"#include "pg_local_proto.h"
Go to the source code of this file.
Macros | |
| #define | NOPG_UNUSED |
Functions | |
| int | V1_open_old_pg (struct Map_info *Map, int update) |
| Open vector map - PostGIS feature table on non-topological level. | |
| int | V2_open_old_pg (struct Map_info *Map) |
| Open vector map - PostGIS feature table on topological level. | |
| int | V1_open_new_pg (struct Map_info *Map, const char *name, int with_z) |
| Prepare PostGIS database for creating new feature table (level 1) | |
| int | Vect__open_topo_pg (struct Map_info *Map, int head_only, int update) |
| Read full-topology for PostGIS links. | |
| int | Vect__load_plus_head (struct Map_info *Map) |
| Read topo from PostGIS topology schema – header info only. | |
| int | Vect__load_plus_pg (struct Map_info *Map, int head_only) |
| Read topo info from PostGIS topology schema. | |
| int | Vect__load_map_nodes_pg (struct Map_info *Map, int geom_only) |
| Read nodes from DB. | |
| int | Vect__load_map_lines_pg (struct Map_info *Map) |
| Read features from DB. | |
Vector library - Open PostGIS layer as vector map layer.
Higher level functions for reading/writing/manipulating vectors.
(C) 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.
Definition in file open_pg.c.
Prepare PostGIS database for creating new feature table (level 1)
New PostGIS table is created when writing features by Vect_wrile_line().
| [out] | Map | pointer to Map_info structure |
| name | name of PostGIS feature table to create | |
| with_z | WITH_Z for 3D vector data otherwise WITHOUT_Z |
Definition at line 226 of file open_pg.c.
References _, DB_SQL_MAX, G_debug(), G_fatal_error(), G_get_overwrite(), G_store(), G_warning(), GV_PG_FID_COLUMN, GV_PG_GEOMETRY_COLUMN, name, Format_info_pg::res, and SF_GEOMETRY.
Open vector map - PostGIS feature table on non-topological level.
| [in,out] | Map | pointer to Map_info structure |
| update | TRUE for write mode, otherwise read-only |
Definition at line 73 of file open_pg.c.
References _, DB_SQL_MAX, FALSE, G_debug(), G_fatal_error(), G_store(), G_warning(), Format_info_pg::res, and TRUE.
Open vector map - PostGIS feature table on topological level.
Simple feature access:
| [in,out] | Map | pointer to Map_info structure |
Definition at line 166 of file open_pg.c.
References _, DB_SQL_MAX, G_debug(), G_fatal_error(), G_warning(), G_zero(), AMI_STREAM< T >::name(), Format_info_pg::res, Vect_get_full_name(), and Vect_open_fidx().
Referenced by Vect__open_old().
Read features from DB.
| Map | pointer to Map_info struct |
Definition at line 1566 of file open_pg.c.
References _, Plus_head::built, DB_SQL_MAX, dig_alloc_lines(), G_debug(), G_warning(), G_zero(), GV_BUILD_BASE, Plus_head::Line, Plus_head::n_blines, Plus_head::n_clines, Plus_head::n_lines, Plus_head::n_llines, and Plus_head::n_plines.
Referenced by Vect__load_plus_pg().
Read nodes from DB.
| Map | pointer to Map_info struct |
| geom_only | read only node's geometry |
Definition at line 1492 of file open_pg.c.
References _, Format_info_offset::array, Format_info_offset::array_alloc, Format_info_offset::array_num, DB_SQL_MAX, dig_alloc_nodes(), G_debug(), G_malloc, G_warning(), Plus_head::n_nodes, and NULL.
Referenced by Vect__load_plus_pg().
Read topo from PostGIS topology schema – header info only.
| [in,out] | plus | pointer to Plus_head struct |
Definition at line 1128 of file open_pg.c.
References _, Plus_head::box, DB_SQL_MAX, G_debug(), G_warning(), Plus_head::n_areas, Plus_head::n_blines, Plus_head::n_clines, Plus_head::n_isles, Plus_head::n_lines, Plus_head::n_llines, Plus_head::n_nodes, Plus_head::n_plines, Plus_head::off_t_size, and Vect__execute_get_value_pg().
Referenced by Vect__load_plus_pg().
Read topo info from PostGIS topology schema.
| pg_info | pointer to Format_info_pg | |
| [in,out] | plus | pointer to Plus_head struct |
| head_only | TRUE to read only header info |
Definition at line 1308 of file open_pg.c.
References _, Plus_head::Area, P_topo_c::area, Plus_head::built, P_area::centroid, DB_SQL_MAX, dig_alloc_areas(), dig_alloc_isles(), dig_cidx_add_cat(), dig_line_box(), dig_spidx_add_area(), dig_spidx_add_isle(), FALSE, G_debug(), G_warning(), G_zero(), GV_AREA, GV_BOUNDARY, GV_BUILD_ALL, GV_BUILD_AREAS, GV_BUILD_ATTACH_ISLES, GV_BUILD_CENTROIDS, GV_CENTROID, GV_LEFT, GV_RIGHT, Plus_head::Isle, Plus_head::Line, Plus_head::n_areas, Plus_head::n_isles, Plus_head::n_lines, NULL, P_line::offset, Plus_head::Spidx_new, P_line::topo, P_line::type, Plus_head::update_cidx, Vect__free_cache(), Vect__load_map_lines_pg(), Vect__load_map_nodes_pg(), Vect__load_plus_head(), Vect_build_line_area(), Vect_destroy_line_struct(), Vect_destroy_list(), Vect_find_area(), Vect_get_area_points(), Vect_get_isle_points(), Vect_new_line_struct(), Vect_new_list(), Vect_read_line(), line_pnts::x, and line_pnts::y.
Referenced by Vect__open_topo_pg().
Read full-topology for PostGIS links.
Note: Only 2D topological primitives are currently supported
| [in,out] | Map | pointer to Map_info structure |
| head_only | TRUE to read only header | |
| update | TRUE to clean GRASS topology in update mode |
Definition at line 327 of file open_pg.c.
References _, Plus_head::cidx_up_to_date, dig_init_plus(), FALSE, G_fatal_error(), Plus_head::Spidx_new, TRUE, Plus_head::update_cidx, Vect__clean_grass_db_topo(), Vect__load_plus_pg(), and VECT_OPEN_CODE.
Referenced by Vect__open_old().