własna wtyczka intersect - Wersja do druku +- Forum QGIS (http://forum.quantum-gis.pl) +-- Dział: Desktop GIS (http://forum.quantum-gis.pl/forum-4.html) +--- Dział: QGIS (http://forum.quantum-gis.pl/forum-5.html) +--- Wątek: własna wtyczka intersect (/thread-1206.html) |
własna wtyczka intersect - Crypturgus - 17-04-2015 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. RE: własna wtyczka intersect - Crypturgus - 19-04-2015 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. |