leiste el contenido de initTestCase? https://github.com/luipir/QGIS/blob/bf6162f376fad6dd44fb2f540c536b7f2371a2a3/tests/src/analysis/testqgsprocessing.cpp#L577
tiene problemas en escribir la version python de este codigo c++? Luigi Pirelli ************************************************************************************************** * LinkedIn: https://www.linkedin.com/in/luigipirelli * Stackexchange: http://gis.stackexchange.com/users/19667/luigi-pirelli * GitHub: https://github.com/luipir * Mastering QGIS 2nd Edition: * https://www.packtpub.com/big-data-and-business-intelligence/mastering-qgis-second-edition * Hire me: http://goo.gl/BYRQKg ************************************************************************************************** On Sat, 1 Dec 2018 at 13:34, Miguel Sevilla-Callejo <[email protected]> wrote: > Hola, > > Hace un tiempo que pregunté esto por el grupo de Telegram y me indicaron > algunas maneras para Windows y no terminé de ver la forma para Linux y > quería aprovechar la ocasión para crear y dejar este hilo en la lista de > correos. > > La idea es saber qué paquetes de Python o cómo he de configurar el sistema > para crear un script de PyQGIS y sin entrar en la GUI de QGIS corran > aprovechando los algoritmos de procesamiento que tiene QGIS. > > Por lo visto no es sencillo pero quizá alguien ya lo intentó y resolvió > con anterioridad. > > He intentado seguir las indicaciones de esta entrada de Stackoverflow pero > no no me funciona: > > > https://gis.stackexchange.com/questions/279874/using-qgis3-processing-algorithms-from-standalone-pyqgis-scripts-outside-of-gui/279937#279937 > > Pego de lo comenté en Telegram aquí: > > Miguel Sevilla-Callejo, [09.10.18 17:40] > entiendo que he de importar los paquetes de qgis3: > > from qgis.core import ( > QgsApplication, > QgsProcessingFeedback, > QgsVectorLayer > ) > > Miguel Sevilla-Callejo, [09.10.18 17:40] > pero no se como cargar el processing > > Miguel Sevilla-Callejo, [09.10.18 17:41] > el post de stackoverflow en cuestion sigue con este código: > > # See https://gis.stackexchange.com/a/155852/4972 for details about the prefix > > QgsApplication.setPrefixPath('/usr', True) > qgs = QgsApplication([], False) > qgs.initQgis() > # Append the path where processing plugin can be > found#sys.path.append('/docs/dev/qgis/build/output/python/plugins') > import processingfrom processing.core.Processing import Processing > Processing.initialize() > > > Miguel Sevilla-Callejo, [09.10.18 17:42] > pero la cosa es que no termino de entender el sys.path.append que indica > pues ahí no hay nada en mi instalación 😞 > > Miguel Sevilla-Callejo, [09.10.18 17:42] > alguna idea? > > Continúa aquí: https://t.me/qgis_es/13895 > > Miguel Sevilla-Callejo, [09.10.18 18:15] > parece que ya se me carga aquí la cabecera: > > import sysfrom qgis.core import ( > QgsApplication, > QgsProcessingFeedback, > QgsVectorLayer > ) > > QgsApplication.setPrefixPath('/usr', True) > qgs = QgsApplication([], False) > qgs.initQgis() > > sys.path.append('/usr/share/qgis/python/plugins/') > import processingfrom processing.core.Processing import Processing > Processing.initialize() > > Miguel Sevilla-Callejo, [09.10.18 18:19] > la cosa es que ahora no me carga el proceso: > > processing.run( > "native:buffer", { > 'INPUT':dir_base + archivo_entrada, # archivo de entrada > 'DISTANCE':0.002, # distancia del buffer 0.002 grados geográficos > 'SEGMENTS':99, # aproximación en los giros > 'END_CAP_STYLE':0, > 'JOIN_STYLE':0, > 'MITER_LIMIT':2, > 'DISSOLVE':False, # no disolver > 'OUTPUT':dir_base + archivo_salida # archivo de salida > } > ) > > Miguel Sevilla-Callejo, [09.10.18 18:20] > mensaje: > QgsProcessingException: Error: Algorithm native:buffer not found > Fran Raga me dijo que me faltaba > > import from qgis.analysis import QgsNativeAlgorithms > Y Luiggi que: > "cuando carga qgis desde script processing esta vacio, en el sentido que > no hay provedores registrados > > hay que cargar el provedore de los native algorithms > > por el script en entorno linux, y esto no es nada de qgis es puro entorno > unix... neceista que haya dos variable de entorno bien puestas > > LD_LIBRARY_PATH donde encontrar los .so de qgis > > y PYTHONPATH donde encontrar los modulos de python (sumento que PYTHONHOME > esta ya bien por defecto) > > en el script clasico de qgis.bat en winzozz seria la varable PATH la > equivalente de LD_LIBRARY_PATH > " > Más delentante también me dijo que: "no... no es suficiente hacer import > de QgsNativeAlgorithms hay que registrar el provider" > ... > > En fin... la verdad es que me he perdido un poco en las últimas > explicaciones y leo que he de seguir los test en python (dónde?)... > > Luiggi me facilitó esto: > https://github.com/luipir/QGIS/blob/bf6162f376fad6dd44fb2f540c536b7f2371a2a3/tests/src/analysis/testqgsprocessing.cpp > pero, sinceremente me pierdo :-( > > Agradecería si alguien se toma la molestia de indicarme una fuente clara o > indicarme cómo podría hacerlo. > > Si no siempre me queda correr la GUI indicándole que tras abrir ejecute el > código del scritp con: > > qgis --code scriptname.py > > y quizá podría añadir al script (para cerrar la GUI) esto: > > from qgis.utils import iface > iface.actionExit().trigger() > > Aunque esto no lo he hecho funcionar (se me queda la GUI abierta). > > Un saludo > > -- > *Miguel Sevilla-Callejo* > Doctor en Geografía > _______________________________________________ > QGIS-es mailing list > [email protected] > https://lists.osgeo.org/mailman/listinfo/qgis-es >
_______________________________________________ QGIS-es mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/qgis-es
