Define self.layer
This commit is contained in:
parent
71270c9f6d
commit
2357703fa9
|
@ -1,30 +1,39 @@
|
||||||
from qgis.core import *
|
from qgis.core import *
|
||||||
|
from qgis.analysis import QgsNativeAlgorithms
|
||||||
|
|
||||||
|
|
||||||
class ScrubLayer:
|
class ScrubLayer:
|
||||||
def __init__(self, layer_path, layer_name):
|
def __init__(self, qgis_path, layer_path, layer_name):
|
||||||
|
# Set the path to QGIS installation
|
||||||
|
QgsApplication.setPrefixPath(qgis_path, True)
|
||||||
|
|
||||||
|
# Initialize QGIS application
|
||||||
|
qgs = QgsApplication([], False)
|
||||||
|
qgs.initQgis()
|
||||||
|
|
||||||
self.layer_path = layer_path
|
self.layer_path = layer_path
|
||||||
self.layer_name = layer_name
|
self.layer_name = layer_name
|
||||||
self.layer = self._layer()
|
self.layer = self.load_layer()
|
||||||
|
|
||||||
@property
|
def load_layer(self):
|
||||||
def layer(self):
|
the_layer = QgsVectorLayer(self.layer_path, self.layer_name, 'ogr')
|
||||||
return self._layer
|
|
||||||
|
|
||||||
@layer.setter
|
|
||||||
def layer(self):
|
|
||||||
the_layer = QgsVectorLayer(self.layer_path, self.layer_name, "ogr")
|
|
||||||
if not the_layer.isValid():
|
if not the_layer.isValid():
|
||||||
print(f'{self.layer_name} failed to load!')
|
raise ValueError(f'Failed to load layer {self.layer_name} from {self.layer_path}')
|
||||||
else:
|
else:
|
||||||
self._layer = QgsProject.instance().addMapLayer(the_layer)
|
QgsProject.instance().addMapLayer(the_layer)
|
||||||
|
return the_layer
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def cleanup():
|
||||||
|
QgsApplication.exitQgis()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
new_path = \
|
app_path = 'C:/Program Files/QGIS 3.34.1/apps/qgis'
|
||||||
'C:/Users/a_adli/PycharmProjects/' \
|
new_path = 'C:/Users/a_adli/PycharmProjects/hydroquebec_archetype_gispy/' \
|
||||||
'hydroquebec_archetype_gispy/data/' \
|
'data/test_data/mtl_north/test_north_mtl.shp'
|
||||||
'test_data/mtl_north/test_north_mtl.shp'
|
|
||||||
data_layer_name = 'mtl_north'
|
data_layer_name = 'mtl_north'
|
||||||
handle_layer = ScrubLayer(new_path, 'mtl_north')
|
handle_layer = ScrubLayer(app_path, new_path, 'mtl_north')
|
||||||
handle_layer.layer.
|
print(handle_layer.layer.featureCount())
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user