Beispiel #1
0
    def write_vector_layer(self, layer, filename, filetype='SHP',
                           encoding=None):
        """Write a QGIS vector layer to disk
        """
        SUPPORTED = ('SHP',)  # QGIS 1.6 only handles shapefile (SHP) outputs
        if not layer:
            self.raiseError('Missing layer file')
        elif not layer.isValid():
            self.raiseError('Invalid layer file')
        else:
            if not encoding:
                encoding = 'CP1250'
            if filetype in SUPPORTED:
                if filetype == 'SHP':
                    crsDest = QgsCoordinateReferenceSystem(layer.srs())
                    error = QgsVectorFileWriter.writeAsShapefile(
                        layer, filename, encoding, crsDest, False)
                    #print "QgsLayer:89", error,  filename, encoding, crsDest
                # TODO IN FUTURE
                # add support for other vector types
            else:
                if filetype:
                    self.raiseError('Vector layer type "%s" not supported' % \
                                    str(filetype))
                else:
                    self.raiseError('Vector layer type not specified')

            """# COMPLEX VECTOR LAYER WRITING