Compare commits
2 Commits
c44aa661e0
...
2357703fa9
Author | SHA1 | Date | |
---|---|---|---|
2357703fa9 | |||
71270c9f6d |
4
.gitignore
vendored
4
.gitignore
vendored
@ -1 +1,5 @@
|
||||
__init__.py
|
||||
|
||||
|
||||
# Python Modules
|
||||
*_test.py
|
39
scrub_layer_class.py
Normal file
39
scrub_layer_class.py
Normal file
@ -0,0 +1,39 @@
|
||||
from qgis.core import *
|
||||
from qgis.analysis import QgsNativeAlgorithms
|
||||
|
||||
|
||||
class ScrubLayer:
|
||||
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_name = layer_name
|
||||
self.layer = self.load_layer()
|
||||
|
||||
def load_layer(self):
|
||||
the_layer = QgsVectorLayer(self.layer_path, self.layer_name, 'ogr')
|
||||
if not the_layer.isValid():
|
||||
raise ValueError(f'Failed to load layer {self.layer_name} from {self.layer_path}')
|
||||
else:
|
||||
QgsProject.instance().addMapLayer(the_layer)
|
||||
return the_layer
|
||||
|
||||
@staticmethod
|
||||
def cleanup():
|
||||
QgsApplication.exitQgis()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app_path = 'C:/Program Files/QGIS 3.34.1/apps/qgis'
|
||||
new_path = 'C:/Users/a_adli/PycharmProjects/hydroquebec_archetype_gispy/' \
|
||||
'data/test_data/mtl_north/test_north_mtl.shp'
|
||||
data_layer_name = 'mtl_north'
|
||||
handle_layer = ScrubLayer(app_path, new_path, 'mtl_north')
|
||||
print(handle_layer.layer.featureCount())
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user