PostGIS: Difference between revisions
Line 36: | Line 36: | ||
You can also link a GRASS layer to a PostgreSQL attribute table, though {{cmd|v.db.connect}}. | You can also link a GRASS layer to a PostgreSQL attribute table, though {{cmd|v.db.connect}}. | ||
== Export to PostGIS == | == Export to PostGIS == |
Revision as of 10:49, 29 October 2011
See also working with external data in GRASS 7.
Help pages
- Database management in GRASS GIS help page
- SQL support in GRASS GIS help page
- PostgreSQL driver in GRASS help page
- ODBC driver in GRASS help page
Link to external dataset
- input maps: v.external
- (in GRASS 6 links are read only, for GRASS 7 see working with external data in GRASS 7)
- output maps: v.external.out (GRASS 7 only)
Import into GRASS
There is a fundamental difference between the PostGIS format which is non-topological (OGC simple feature-based) and the internal GRASS format which is topological and which, thus, does not really allow for overlapping polygons. You can digitize them, but they are not really useful...
Link into GRASS
You can register a PostGIS layer into GRASS using v.external, eg. PostGIS layer 'lakes' from database 'pgis_nc'
v.external dsn=PG:dbname=pgis_nc layer=lakes
It will create in the current mapset new vector map 'lakes', the module also builds pseudo-topology for this map,
Important note: In GRASS 6 this link is read-only, in GRASS 7 it's possible to modify linked layers directly via OGR library, see working with external data in GRASS 7.
You can also link a GRASS layer to a PostgreSQL attribute table, though v.db.connect.
Export to PostGIS
To export GRASS vector map layer to PostGIS layer use v.out.ogr, eg.
v.out.ogr in=lakes@PERMANENT dsn=PG:dbname=pgis_nc format=PostgreSQL type=area
Note that exporting data can be quite time-consuming task, especially when input vector map attributes are stored in DBF format. It's recommended to store attribute data in SQLite format rather then in old-fashioned DBF format. For example when exporting vector map 'lakes' from North Carolina sample dataset.
- Attributes in DBF format
real 1m15.072s user 1m6.160s sys 0m3.824s
- Attributes in SQLite format
real 0m11.796s user 0m5.564s sys 0m4.148s