Hi Salvatore,

Thanks! I'm working on a python class to easily publishing process based on PyWPS and QGIS-Processing.

I have updated my script exemple :
======================
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys, os
import inspect

#first qgis
from qgis.core import *
#next PyQt4
from PyQt4.QtCore import *
from PyQt4.QtGui import *

# init QApplication for processing and set the customSettingFolder
#a = QApplication( sys.argv )
QgsApplication( sys.argv, False, "/my/custom/path" )

# supply path to where is your qgis installed
QgsApplication.setPrefixPath("/my/build", True)

# load providers
QgsApplication.initQgis()

p = QgsProject.instance()
p.read( QFileInfo( "/my/project.qgs" ) )
print p.title()

mlr = QgsMapLayerRegistry.instance()

qa = QApplication( sys.argv )
from processing.core.Processing import Processing
cmd_folder = os.path.split(inspect.getfile(inspect.currentframe()))[0]
if cmd_folder not in sys.path:
    sys.path.insert(0, cmd_folder)
Processing.initialize()

from processing.tools import *
#general.alglist( 'znt' )

#general.alghelp( 'modeler:znt' )

paramalg = []

print "runalg start"
general.runalg( 'process:identifier', *paramalg )
print "runalg end"

# quit
QgsApplication.exitQgis()
#a.exit()
QApplication.exit()
======================

Regards,
René-Luc D'Hont
3Liz

Le 02/01/2014 21:52, Salvatore Larosa a écrit :
Hi,

I just tested it and works wonderfully!
I also have tried it as web process for PyWPS and works very well!

Thanks a lot for this!

Best Regards,
-SL

On Mon, Dec 16, 2013 at 3:46 PM, rldhont <[email protected]> wrote:

    Hi dev,

    I just created a pull request to run QGIS-Processing headless.
    I have tested it with a qgis and a modeler algorithm.

    https://github.com/qgis/QGIS/pull/1031

    Review and comments are welcome

    To test QGIS Processing algorithm headlessly, you can use this
    python code
    __________________________________

    import sys, os
    import inspect

    from PyQt4.QtCore import *
    from PyQt4.QtGui import *
    from qgis.core import *


    # supply path to where is your qgis installed
    QgsApplication.setPrefixPath("/path/to/your/qgis/build", True)

    # load providers
    QgsApplication.initQgis()

    # load a project
    p = QgsProject.instance()
    p.read( QFileInfo( "/path/to/a/project.qgs" ) )

    # init QApplication for processing
    a = QApplication( sys.argv )

    # init QGIS Processing
    from processing.core.Processing import Processing
    cmd_folder = os.path.split(inspect.getfile(inspect.currentframe()))[0]
    if cmd_folder not in sys.path:
        sys.path.insert(0, cmd_folder)
    Processing.initialize()

    # import QGIS Processing tools
    from processing.tools import *

    # print an algorithms search
    general.alglist( 'buffer')

    # print an algorithm help
    general.help( 'qgis:fixeddistancebuffer' )


    # run an algorithm
    alg = Processing.getAlgorithm( 'qgis:fixeddistancebuffer' )
    general.runalg( 'qgis:fixeddistancebuffer',
    '/vector/layer/input/uri', 0.1, 5, False,
    '/vector/layer/output.shp' );

    # quit
    QgsApplication.exitQgis()
    ____________________________

    export
    
PYTHONPATH=/path/to/build/share/qgis/python:/path/to/build/share/qgis/python/plugins
    export LD_LIBRARY_PATH=/path/to/build/lib
    python my_scrpit.py
    _____________________________

    Regards
    _______________________________________________
    Qgis-developer mailing list
    [email protected]
    http://lists.osgeo.org/mailman/listinfo/qgis-developer




--
Salvatore Larosa
linkedIn: http://linkedin.com/in/larosasalvatore
twitter: @lrssvt
skype: s.larosa
IRC: lrssvt on freenode

_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to