Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
własna wtyczka intersect
17-04-2015, 20:11,
#1
własna wtyczka intersect
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.
19-04-2015, 12:02,
#2
RE: własna wtyczka intersect
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.


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Intersect (iloczyn) dla kilkudziesięciu warstw?? surykat 1 10 720 24-04-2013, 23:05
Ostatni post: borys

Skocz do: