[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