Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##geo=group
- ##Warstwa1=vector polygon
- ##Warstwa2=vector point
- ##Pole_wyb=field Warstwa2
- ##Wyjscie=output vector
- from qgis.core import *
- from PyQt4.QtCore import QVariant
- warstwa1 = processing.getObject(Warstwa1)
- warstwa2 = processing.getObject(Warstwa2)
- pola = QgsFields (warstwa1.fields())
- pole = QgsField('ILOSC', QVariant.Int)
- pola.append(pole)
- pole = QgsField('SUMA', QVariant.Double)
- pola.append(pole)
- pole = QgsField('SREDNIA', QVariant.Double)
- pola.append(pole)
- writer = processing.VectorWriter(
- Wyjscie,
- warstwa1.dataProvider().encoding(),
- pola,
- warstwa1.wkbType(),
- warstwa1.crs())
- feats = processing.features(warstwa1)
- n = len(feats)
- for i, feat in enumerate(feats):
- progress.setPercentage(int(100 * i / n))
- #do something with 'feat'
- obiekt = QgsFeature(pola)
- geometria = feat.geometry()
- obiekt.setGeometry(geometria)
- for kolumna in warstwa1.fields():
- nazwa = kolumna.name()
- obiekt[nazwa] = feat[nazwa]
- geom = QgsGeometry(geometria)
- request = QgsFeatureRequest(geom.boundingBox())
- count = 0
- sum = 0.0
- for feat2 in processing.features(warstwa2, request):
- if geom.intersects(feat2.geometry()):
- count += 1
- sum+=float(feat2[Pole_wyb])
- obiekt["ILOSC"] = count
- obiekt["SUMA"] = sum
- obiekt["SREDNIA"] = obiekt["SUMA"]/obiekt["ILOSC"]
- writer.addFeature(obiekt)
- del writer
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement