scripts/fixgeometries.py (24 lines of code) (raw):

""" Small script to fix geometries of the first file argument using the native QGIS processing algorithm. You may need to adjust the path to you installation. """ from qgis.analysis import QgsNativeAlgorithms from qgis.core import ( QgsApplication, QgsProcessingFeedback, QgsVectorLayer ) import sys import processing from processing.core.Processing import Processing print("Initializing QGIS...") qgs = QgsApplication([], False) qgs.initQgis() Processing.initialize() QgsApplication.processingRegistry().addProvider(QgsNativeAlgorithms()) # Getting the file paths in_file = sys.argv[1] out_file = sys.argv[2] # Running the algorithm params = { 'INPUT': QgsVectorLayer(in_file, 'layer1', 'ogr'), 'OUTPUT': out_file } feedback = QgsProcessingFeedback() print("Running the fix geometries algorithm...") res = processing.run("native:fixgeometries", params, feedback=feedback) print("Done!")