result field in Processing 'count points in polygon' must be integer

This commit is contained in:
Giovanni Manghi 2014-10-23 11:11:03 +01:00
parent aeb9d934ed
commit 6f30ab9be7
3 changed files with 9 additions and 3 deletions

View File

@ -66,12 +66,14 @@ class PointsInPolygon(GeoAlgorithm):
fieldName = self.getParameterValue(self.FIELD)
polyProvider = polyLayer.dataProvider()
fields = polyProvider.fields()
fields.append(QgsField(fieldName, QVariant.Int))
(idxCount, fieldList) = vector.findOrCreateField(polyLayer,
polyLayer.pendingFields(), fieldName)
writer = self.getOutputFromName(
self.OUTPUT).getVectorWriter(fieldList.toList(),
self.OUTPUT).getVectorWriter(fields.toList(),
polyProvider.geometryType(),
polyProvider.crs())

View File

@ -70,13 +70,15 @@ class PointsInPolygonUnique(GeoAlgorithm):
classFieldName = self.getParameterValue(self.CLASSFIELD)
polyProvider = polyLayer.dataProvider()
fields = polyProvider.fields()
fields.append(QgsField(fieldName, QVariant.Int))
classFieldIndex = pointLayer.fieldNameIndex(classFieldName)
(idxCount, fieldList) = vector.findOrCreateField(polyLayer,
polyLayer.pendingFields(), fieldName)
writer = self.getOutputFromName(
self.OUTPUT).getVectorWriter(fieldList.toList(),
self.OUTPUT).getVectorWriter(fields.toList(),
polyProvider.geometryType(),
polyProvider.crs())

View File

@ -73,12 +73,14 @@ class PointsInPolygonWeighted(GeoAlgorithm):
self.getParameterValue(self.WEIGHT))
polyProvider = polyLayer.dataProvider()
fields = polyProvider.fields()
fields.append(QgsField(fieldName, QVariant.Int))
(idxCount, fieldList) = vector.findOrCreateField(polyLayer,
polyLayer.pendingFields(), fieldName)
writer = self.getOutputFromName(
self.OUTPUT).getVectorWriter(fieldList.toList(),
self.OUTPUT).getVectorWriter(fields.toList(),
polyProvider.geometryType(),
polyProvider.crs())