Version 24 (modified by 12 years ago) ( diff ) | ,
---|
PostGIS data provider in GRASS 7
PostGIS data can be accessed in GRASS 7 using GRASS-OGR data provider or preferably by native GRASS-PostGIS data provider. Note that GRASS-OGR data provider supports only simple feature access.
Development of PostGIS data provider has been supported by Fondazione Edmund Mach and Comune di Trento (Italy).
This data provider allows GRASS to read (see read_pg.c) and write (see write_pg.c) PostGIS data directly without any external library (like in the case of GRASS-OGR data provider). GRASS-PostGIS data provider is implemented using libpq library.
Note that GRASS-PostGIS data provider is compiled only when GRASS is configured with --with-postgres
switch.
Overview of subroutines to read PostGIS data:
Level | Sequantial access | Random access |
1 (without topology) | V1_read_next_line_pg() | V1_read_line_pg() |
2 (with pseudo-topology/topology) | V2_read_next_line_pg() | V2_read_line_pg() |
Overview of subroutines to write PostGIS data:
Level | Write new feature | Delete existing feature | Rewrite existing feature |
1 (without topology) | V1_write_line_pg() | V1_rewrite_line_pg() | V1_delete_line_pg() |
2 (with pseudo-topology - simple feature access) | V2_write_line_sfa() | V2_rewrite_line_sfa() | V2_delete_line_sfa() |
2 (with topology - PostGIS Topology) | V2_write_line_pg() |
By default data are read/write as simple features. If PostGIS Topology schema is defined then the data provider reads/writes topological elements from provided schema.
Note that direct access like for GRASS-OGR data provider is not currently implemented. In other words to access PostGIS data (using GRASS-PostGIS data provider) is required to create a link using v.external
command.
Simple features access
GRASS-PostGIS provider allows to read and write PostGIS data stored as simple features on level 1 (without topology) and also on level 2 (in this case a pseudo-topology is built over simple features).
Read example:
Write example:
For more examples see wiki page from GRASS Wiki.
Topological access
For more information see PostGIS Topology page.supports