def createNewLayer(self):
        self.tagFieldMap = dict()
        fields = QgsFields()
        self.fieldNames = []

        # hardcoded fields
        fields.append(QgsField("filepath", QVariant.String, "", 255))
        self.fieldNames.append("filepath")
        fields.append(QgsField("filename", QVariant.String, "", 255))
        self.fieldNames.append("filename")

        for tag in self.tagsList:
            tagName = tag.replace("EXIF:", "")

            fName = utils.createUniqueFieldName(tagName, self.fieldNames)

            fields.append(QgsField(fName, QVariant.String, "", 80))
            self.fieldNames.append(fName)
            self.tagFieldMap[tagName] = fName

        crs = QgsCoordinateReferenceSystem(4326)
        shapeWriter = QgsVectorFileWriter(self.outFileName, self.outEncoding, fields, QGis.WKBPoint, crs)
        del shapeWriter

        layer = QgsVectorLayer(self.outFileName, QFileInfo(self.outFileName).baseName(), "ogr")

        return layer
示例#2
0
    def createNewLayer(self):
        self.tagFieldMap = dict()
        fields = QgsFields()
        self.fieldNames = []

        # hardcoded fields
        fields.append(QgsField("filepath", QVariant.String, "", 255))
        self.fieldNames.append("filepath")
        fields.append(QgsField("filename", QVariant.String, "", 255))
        self.fieldNames.append("filename")

        for tag in self.tagsList:
            tagName = tag.replace("EXIF:", "")

            fName = utils.createUniqueFieldName(tagName, self.fieldNames)

            fields.append(QgsField(fName, QVariant.String, "", 80))
            self.fieldNames.append(fName)
            self.tagFieldMap[tagName] = fName

        crs = QgsCoordinateReferenceSystem(4326)
        shapeWriter = QgsVectorFileWriter(self.outFileName, self.outEncoding,
                                          fields, QGis.WKBPoint, crs)
        del shapeWriter

        layer = QgsVectorLayer(self.outFileName,
                               QFileInfo(self.outFileName).baseName(), "ogr")

        return layer
    def openExistingLayer(self):
        layer = QgsVectorLayer(self.outFileName, QFileInfo(self.outFileName).baseName(), "ogr")
        fMap = layer.dataProvider().fieldNameMap()
        fNames = fMap.keys()
        self.fieldNames = ["filepath", "filename"]

        self.tagFieldMap = dict()
        for tag in self.tagsList:
            tagName = tag.replace("EXIF:", "")

            fName = utils.createUniqueFieldName(tagName, self.fieldNames)

            if fName in fNames:
                self.tagFieldMap[tagName] = fName
                self.fieldNames.append(fName)

        return layer
示例#4
0
    def openExistingLayer(self):
        layer = QgsVectorLayer(self.outFileName,
                               QFileInfo(self.outFileName).baseName(), "ogr")
        fMap = layer.dataProvider().fieldNameMap()
        fNames = fMap.keys()
        self.fieldNames = ["filepath", "filename"]

        self.tagFieldMap = dict()
        for tag in self.tagsList:
            tagName = tag.replace("EXIF:", "")

            fName = utils.createUniqueFieldName(tagName, self.fieldNames)

            if fName in fNames:
                self.tagFieldMap[tagName] = fName
                self.fieldNames.append(fName)

        return layer