123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- from qgis.core import (
- QgsProject,
- QgsVectorLayer,
- QgsProcessingFeatureSourceDefinition,
- QgsProcessing,
- QgsApplication
- )
- from qgis.analysis import QgsNativeAlgorithms
- QgsApplication.setPrefixPath("/usr", True)
- qgs = QgsApplication([], False)
- qgs.initQgis()
- QgsApplication.processingRegistry().addProvider(QgsNativeAlgorithms())
- layer_path = "/path/to/your/input_layer.shp"
- input_layer = QgsVectorLayer(layer_path, "Input Layer", "ogr")
- if not input_layer.isValid():
- print("Failed to load the input layer!")
- else:
- print("Input layer loaded successfully!")
- buffer_distance = 10
- output_path = "/path/to/your/output_buffer.shp"
- params = {
- 'INPUT': QgsProcessingFeatureSourceDefinition(input_layer.source(), selectedFeaturesOnly=False),
- 'DISTANCE': buffer_distance,
- 'SEGMENTS': 4,
- 'END_CAP_STYLE': 2,
- 'JOIN_STYLE': 2,
- 'MITER_LIMIT': 2,
- 'DISSOLVE': False,
- 'OUTPUT': output_path
- }
- processing_output = QgsApplication.processingRegistry().algorithmById("native:buffer").run(params)
- if processing_output['OUTPUT']:
- print(f"Buffer created successfully: {output_path}")
- else:
- print("Buffer creation failed!")
- output_layer = QgsVectorLayer(output_path, "Buffered Layer", "ogr")
- QgsProject.instance().addMapLayer(output_layer)
- qgs.exitQgis()
|