Leaving source code for future reference: Exporting Shapefile or Vector Layer to Spatialite using QgsVectorFileWriter
# -*- coding: utf-8 -*- import sys from qgis.core import * app = QgsApplication(sys.argv, False) # need to locate srs.db app.setPkgDataPath( '/usr/local/share/qgis' ) # need to locate qgis libraries app.setPrefixPath( '/usr/local' ) # need to locate c++ plugins (*.so) app.setPluginPath( '/usr/local/lib/qgis/plugins' ) app.initQgis() # show the environment variables print 'lib path:', app.libraryPath() print 'plugin path:', app.pluginPath() print 'srs.db:', app.srsDbFilePath() # vlayer = QgsVectorLayer('track.shp', 'layer_name_you_like', 'ogr') # crs = vlayer.crs() # if not crs.isValid(): # choose a 4326 - WGS84 CRS crs = QgsCoordinateReferenceSystem( 4326, QgsCoordinateReferenceSystem.EpsgCrsId ) error = QgsVectorFileWriter.writeAsVectorFormat( vlayer, 'test.sqlite', 'System', crs, 'SQLite', False, None, ["SPATIALITE=YES",] ) if error != QgsVectorFileWriter.NoError: print 'Error number:', error On Mon, Jul 15, 2013 at 2:19 PM, Daniel <daniel...@gmail.com> wrote: > Answer: > > vlayer = QgsVectorLayer('track.shp', 'layer_name_you_like', 'ogr') > > error_msg = '' > > error = QgsVectorFileWriter.writeAsVectorFormat( vlayer, 'test.sqlite', > 'System', vlayer.crs(), 'SQLite', False, error_msg, [ "SPATIALITE=YES" , ] ) > > where: > > vlayer => vector layer which will be exported > to spatialite > 'test.sqlite' => absolute path to new spatialite > database file > 'System' => string that represents the file > encoding > vlayer.crs() => vector layer crs > 'SQLite' => provider name > False => export onlySelected? > error_msg => if there is any error message will be > put in that variable (if user don't care about error handling, set to None) > [ "SPATIALITE=YES" , ] => database options. (here is the trick) > > > > Also, there is a class > http://www.qgis.org/api/classQgsVectorLayerImport.html > > But, I didn't have success in create an empty database using the > QgsVectorLayerImport. I think that class (QgsVectorLayerImport) expects a > created spatialite database. > > -- > Daniel Vaz > -- Daniel Vaz
_______________________________________________ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer