Hi
On Sun, Dec 29, 2013 at 9:32 AM, Pim Verver <[email protected]> wrote: > Hi Tim, > > > > I executed an exact copy of your line of code and got the same error’ > > > > This is what I tried: > > > > canvas = iface.mapCanvas() > > aLayer = iface.activeLayer() > > if aLayer.dataProvider().name() == 'postgres': > > writer = QgsVectorFileWriter > > error = writer.writeAsVectorFormat(aLayer, r"/tmp/out.shp", "CP1250", > None, "ESRI Shapefile", False, None,"","", False, None, > QgsVectorFileWriter.NoSymbology, 1.0) > > > > if error == QgsVectorFileWriter.NoError: > > vlayer = QgsVectorLayer(r"D:\Documenten_Travelingo\SkyDrive Pro\Horeca > routes\Projectbestanden\deBaak Driebergen\Shape bronnen", aLayer.name() + > ".shp", "ogr") > > QgsMapLayerRegistry.instance().addMapLayer(vlayer) > > > > And the error: Tceback (most recent call last): > > File "<input>", line 1, in <module> > > File "D:/Documenten_Travelingo/SkyDrive Pro/Horeca > routes/PostgrestoShape.py", line 5, in <module> > > error = writer.writeAsVectorFormat(aLayer, r"/tmp/out.shp", "CP1250", > None, "ESRI Shapefile", False, None,"","", False, None, > QgsVectorFileWriter.NoSymbology, 1.0) > > AttributeError: type object 'QgsVectorFileWriter' has no attribute > 'NoSymbology' > > > > I work with the console of a Dufour 64 bits version on a Windows 8.1 > machine. The qgis_core.dll is present in C:\Program Files\QGIS > Dufour\apps\qgis\bin. Can it be that the windows version is an old > compilation because as I understand the SymbologyExport parameter was just > recently added to the source code? > > > I think the last two parameters were added with DXF export coming in 2.2 so for 2.0 this should work for you: error = writer.writeAsVectorFormat(aLayer, r"/tmp/out.shp", "CP1250", None, "ESRI Shapefile", False, None,"","", False, None) aLayer.saveNamedStyle("/tmp/out.qml") Regards Tim > Kind regards > > *Van:* Tim Sutton [mailto:[email protected]] > *Verzonden:* zaterdag 28 december 2013 22:19 > *Aan:* Pim Verver > *CC:* [email protected] > *Onderwerp:* Re: [Qgis-developer] SymbologyExport parameter > > > > Hi > > > > I'm not sure why the Symbology flag is not working (havent time to look > sorry) but a quick fix might be to do this (which worked for me in a quick > test): > > > > error = writer.writeAsVectorFormat(aLayer, r"/tmp/out.shp", "CP1250", > None, "ESRI Shapefile", False, None,"","", False, None, > QgsVectorFileWriter.NoSymbology, 1.0) > > aLayer.saveNamedStyle("/tmp/out.qml") > > > > (u'Created default style file as /tmp/out.qml', True) > > > > Hope that helps! > > > > Regards > > > > Tim > > > > > > On Sat, Dec 28, 2013 at 4:25 PM, Pim Verver <[email protected]> wrote: > > Hi, > > I am using the QGis python console for the use of exporting an active > layer from postgist to a shape file layer. I want to include the > symbology as is possible through the GUI of QGis 2 (Dufour). > I am using the > writeAsVectorFormat<http://www.qgis.org/api/classQgsVectorFileWriter.html#a289af78b5b609fbcb0572aaf505f2822>method > of the QgsVectorFileWriter class, but keep getting the message that > there are “Too many arguments” as if the parameter doesn´t exist. That > seems correct given the fact that the mouse popup for the parameters > doesn’t indicate a Symbology parameter. However in the official QGis API > the parameter is mentioned: > http://www.qgis.org/api/classQgsVectorFileWriter.html#a1aac90d30d811d2888d1aab4098ad63c. > The symbology parameter seems tob e added in the latest release (QGis 2) > > Am I using it the wrong way or is someting else going on? > > The alternative would be save the style als SLD and import the style file > after creating the shape layer, but if I can avoid that … > > The console code sofar: > > canvas = iface.mapCanvas() > > aLayer = iface.activeLayer() > > if aLayer.dataProvider().name() == 'postgres': > > writer = QgsVectorFileWriter > > error = writer.writeAsVectorFormat(aLayer, > r"D:\Documenten_Travelingo\SkyDrive Pro\Horeca > routes\Projectbestanden\deBaak Driebergen\Shape bronnen\\"+ aLayer.name() + > ".shp", "CP1250", None, "ESRI Shapefile", False, None,"","", False, None, > "NoSymbology", 1.0) > > # then import the shape file in a new layer > > if error == QgsVectorFileWriter.NoError: > > vlayer = QgsVectorLayer(r"D:\Documenten_Travelingo\SkyDrive Pro\Horeca > routes\Projectbestanden\deBaak Driebergen\Shape bronnen", aLayer.name() + > ".shp", "ogr") > > QgsMapLayerRegistry.instance().addMapLayer(vlayer) > > Th error is raised at the writeAsVectorFormat method and its parameter > NoSymbology. > > Thanx in advance > > Kinds regards, > > Pim Verver > > > > > _______________________________________________ > Qgis-developer mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/qgis-developer > > > > > > -- > > Tim Sutton - QGIS Project Steering Committee Member > ============================================== > Please do not email me off-list with technical > support questions. Using the lists will gain > more exposure for your issues and the knowledge > surrounding your issue will be shared with all. > > Irc: timlinux on #qgis at freenode.net > ============================================== > -- Tim Sutton - QGIS Project Steering Committee Member ============================================== Please do not email me off-list with technical support questions. Using the lists will gain more exposure for your issues and the knowledge surrounding your issue will be shared with all. Irc: timlinux on #qgis at freenode.net ==============================================
_______________________________________________ Qgis-developer mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/qgis-developer
