import os import sys from qgis.core import ( QgsApplication, QgsProject, QgsCoordinateReferenceSystem, QgsProcessingContext, QgsProcessingAlgorithm, ) def ensure_paths(paths): for p in paths: if p not in sys.path: sys.path.append(p) # Busca o usuário que está executando o script user = os.getenv("USER") qgs_paths = [ "/usr/share/qgis/python", f"/home/{user}/.local/share/QGIS/QGIS3/profiles/default/python", f"/home/{user}/.local/share/QGIS/QGIS3/profiles/default/python/plugins", "/usr/share/qgis/python/plugins", # "/usr/lib/python310.zip", "/usr/lib/python3.10", "/usr/lib/python3.10/lib-dynload", f"/home/{user}/.local/lib/python3.10/site-packages", "/usr/local/lib/python3.10/dist-packages", "/usr/lib/python3/dist-packages", f"/home/{user}/.local/share/QGIS/QGIS3/profiles/default/python", "/usr/lib/qgis", ] ensure_paths(qgs_paths) QgsApplication.setPrefixPath("/usr/bin/qgis", True) app = QgsApplication([], False) app.initQgis() from processing.core.Processing import Processing Processing.initialize() from qgis import processing from qgis.core import QgsMeshLayer, QgsVectorLayer, QgsProviderRegistry mesh_path = ( 'NETCDF:"variaveis_2021_1.nc"' ) points_path = ( "estacoes_meteorologicas_bacia.gpkg" ) print(QgsProviderRegistry.instance().providerList()) mesh_layer = QgsMeshLayer(mesh_path, "mesh", "mdal") # Set mesh crs to 4326 src = QgsCoordinateReferenceSystem("EPSG:4326") print(mesh_layer.isValid()) print(mesh_layer) mesh_layer.setCrs(src) points_layer = QgsVectorLayer(points_path, "points", "ogr") configs = { "INPUT": mesh_layer, "DATASET_GROUPS": [0, 1], "STARTING_TIME": {"type": "dataset-time-step", "value": [0, 0]}, "FINISHING_TIME": {"type": "dataset-time-step", "value": [0, 743]}, "TIME_STEP": 0, "INPUT_POINTS": points_layer, "COORDINATES_DIGITS": 8, "DATASET_DIGITS": 8, "OUTPUT": "example_test.csv", } processing.run("native:meshexporttimeseries", configs) app.exitQgis()