[QGIS Commit] r10899 - in trunk/qgis/src/plugins/grass: config
modules scripts
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Wed Jun 10 04:44:28 EDT 2009
Author: rblazek
Date: 2009-06-10 04:44:27 -0400 (Wed, 10 Jun 2009)
New Revision: 10899
Added:
trunk/qgis/src/plugins/grass/modules/qgis.v.out.ogr.pg.1.png
trunk/qgis/src/plugins/grass/modules/qgis.v.out.ogr.pg.2.png
trunk/qgis/src/plugins/grass/modules/qgis.v.out.ogr.pg.qgm
trunk/qgis/src/plugins/grass/scripts/qgis.v.out.ogr.pg.py
Modified:
trunk/qgis/src/plugins/grass/config/default.qgc
Log:
new script + qgis module for vector to PostGIS export, fix for #1190
Modified: trunk/qgis/src/plugins/grass/config/default.qgc
===================================================================
--- trunk/qgis/src/plugins/grass/config/default.qgc 2009-06-10 07:39:56 UTC (rev 10898)
+++ trunk/qgis/src/plugins/grass/config/default.qgc 2009-06-10 08:44:27 UTC (rev 10899)
@@ -52,7 +52,7 @@
</section>
<section label="Export vector">
<grass name="v.out.ogr"/>
- <grass name="v.out.ogr.postgis"/>
+ <grass name="qgis.v.out.ogr.pg"/>
<grass name="v.out.ogr.gml"/>
<grass name="v.out.ogr.mapinfo"/>
<grass name="v.out.ascii"/>
Added: trunk/qgis/src/plugins/grass/modules/qgis.v.out.ogr.pg.1.png
===================================================================
(Binary files differ)
Property changes on: trunk/qgis/src/plugins/grass/modules/qgis.v.out.ogr.pg.1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/qgis/src/plugins/grass/modules/qgis.v.out.ogr.pg.2.png
===================================================================
(Binary files differ)
Property changes on: trunk/qgis/src/plugins/grass/modules/qgis.v.out.ogr.pg.2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/qgis/src/plugins/grass/modules/qgis.v.out.ogr.pg.qgm
===================================================================
--- trunk/qgis/src/plugins/grass/modules/qgis.v.out.ogr.pg.qgm (rev 0)
+++ trunk/qgis/src/plugins/grass/modules/qgis.v.out.ogr.pg.qgm 2009-06-10 08:44:27 UTC (rev 10899)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label="Export vector to PostGIS (PostgreSQL) database table." module="qgis.v.out.ogr.pg.py">
+ <option key="input" layeroption="layer" typeoption="type" />
+ <option key="olayer" />
+ <option key="database" />
+ <!--option key="schema" /-->
+ <option key="host" />
+ <option key="port"/>
+ <option key="user"/>
+ <option key="password"/>
+</qgisgrassmodule>
Added: trunk/qgis/src/plugins/grass/scripts/qgis.v.out.ogr.pg.py
===================================================================
--- trunk/qgis/src/plugins/grass/scripts/qgis.v.out.ogr.pg.py (rev 0)
+++ trunk/qgis/src/plugins/grass/scripts/qgis.v.out.ogr.pg.py 2009-06-10 08:44:27 UTC (rev 10899)
@@ -0,0 +1,138 @@
+#!/usr/bin/env python
+
+############################################################################
+#
+# MODULE: qgis.v.out.ogr.pg.py
+# AUTHOR(S): Radim Blazek
+#
+# PURPOSE: Export a vectore to PostGIS (PostgreSQL) database table
+# COPYRIGHT: (C) 2009 by Radim Blazek
+#
+# This program is free software under the GNU General Public
+# License (>=v2). Read the file COPYING that comes with GRASS
+# for details.
+#
+#############################################################################
+
+#%Module
+#% description: Export vector to PostGIS (PostgreSQL) database table.
+#% keywords: vector, export, database
+#%End
+
+#%option
+#% key: input
+#% type: string
+#% gisprompt: old,vector,vector
+#% key_desc : name
+#% description: Name of input vector map
+#% required : yes
+#%end
+
+#%option
+#% key: layer
+#% type: integer
+#% description: Number of input layer
+#% answer: 1
+#% required : yes
+#%end
+
+#%option
+#% key: type
+#% type: string
+#% description: Feature type(s)
+#% options: point,kernel,centroid,line,boundary,area,face
+#% multiple: yes
+#% required : yes
+#%end
+
+#%option
+#% key: olayer
+#% type: string
+#% description: Name of output database table
+#% required : yes
+#%end
+
+#%option
+#% key: host
+#% type: string
+#% label: Host
+#% description: Host name of the machine on which the server is running.
+#% required : no
+#%end
+
+#%option
+#% key: port
+#% type: integer
+#% label: Port
+#% description: TCP port on which the server is listening, usually 5432.
+#% required : no
+#%end
+
+#%option
+#% key: database
+#% type: string
+#% key_desc : name
+#% gisprompt: old_dbname,dbname,dbname
+#% label: Database
+#% description: Database name
+#% required : yes
+#%end
+
+# AFAIK scheme is not supported well by OGR
+##%option
+##% key: schema
+##% type: string
+##% label: Schema
+##% description: Database schema.
+##% required : no
+##%end
+
+#%option
+#% key: user
+#% type: string
+#% label: User
+#% description: Connect to the database as the user username instead of the default.
+#% required : no
+#%end
+
+#%option
+#% key: password
+#% type: string
+#% label: Password
+#% description: Password will be stored in file!
+#% required : no
+#%end
+
+import sys
+import os
+import string
+try:
+ import grass
+except:
+ raise Exception ("Cannot find 'grass' Python module. Python is supported by GRASS from version 6.4" )
+
+def main():
+ input = options['input']
+ layer = options['layer']
+ type = options['type']
+ olayer = options['olayer']
+ host = options['host']
+ port = options['port']
+ database = options['database']
+ #schema = options['schema']
+ user = options['user']
+ password = options['password']
+
+ # Construct dsn string
+ dsn = "PG:dbname=" + database
+ if host: dsn += " host=" + host
+ if port: dsn += " port=" + port
+ if user: dsn += " user=" + user
+ if password: dsn += " password=" + password
+
+ if grass.run_command('v.out.ogr', input=input, layer=layer, type=type, format="PostgreSQL", dsn=dsn, olayer=olayer ) != 0:
+ grass.fatal("Cannot export vector to database.")
+
+if __name__ == "__main__":
+ options, flags = grass.parser()
+ main()
Property changes on: trunk/qgis/src/plugins/grass/scripts/qgis.v.out.ogr.pg.py
___________________________________________________________________
Name: svn:executable
+ *
More information about the QGIS-commit
mailing list