Forum QGIS

Pełna wersja: własna wtyczka intersect
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam,
zacząłem pisać własna wtyczkę i zderzyłem się z następującym problemem.
Mam dwie warstwy punktową i poligonową, chciałbym warstwie punktowej nadać jeden z atrybutów warstwy poligonowej.

Nie mam pojęcia jak to zrobić. Pomoże mi ktoś zrozumieć problem?
wiem, że trzeba dla jednej warstwy stworzyć indeks przestrzenny a później wykonać intersect i...
Przeglądałem jak wyglądają wtyczki z ftools. Zarówno tą od intersect jak i ta od spatialjoin, ale niewiele z tego rozumiem.
Narazie mam tyle kodu:
(nie mam pojęcia jak poprawnie dodać kod)

[undefined=undefined]
def run_intersect(self):
self.point_file_path = '/home/mati/Dokumenty/wtykadane/punkty.shp'
self.polygon_file_path = '/home/mati/Dokumenty/wtykadane/poligony.shp'
self.point_layer = QgsVectorLayer(self.point_file_path,
os.path.splitext(self.point_file_path)[0], 'ogr')
self.polygon_layer = QgsVectorLayer(self.polygon_file_path,os.path.splitext(self.polygon_file_path)[0], 'ogr')
self.polygon_provider = self.polygon_layer.dataProvider()
self.point_provider = self.point_layer.dataProvider()

def getSpatialIndex(self, workLayer):
index = QgsSpatialIndex()
for feature in workLayer.getFeatures():
index.insertFeature(feature)
return index

def getInsert(self, spatial_index, workLayer):
index_list = []
for feature in workLayer.getFeatures():
geom = QgsGeometry(feature.geometry())
index_list.append(spatial_index.intersects(geom.boundingBox()))
return index_list

[/undefined]

Nadal nie wiem co dalej.
Pomoże Ktoś, gdzie o tym doczytac itp.