[Qgis-developer] Use Georeferencer Core-Plugin with python
Matthias Kuhn
matthias.kuhn at gmx.ch
Mon May 19 09:33:49 PDT 2014
The python modules gui and core are exported and the "iface" variable
(QgisInterface) knows about their presence. But QgisInterface should
not have any dependencies on plugin code, therefore it's harder to
access this code.
It may not be hard if you only make use of code which you use in a
standalone library way (maybe that would already be enough for your
case). If you want to get access to a running plugin instance this is a
different story. You can have a look at the code in [1] for an example
of how this might be accomplished. Although the code seems not to be
working, I've got to check what's still missing there, but in principle
the ideas in commit [1] should work.
Best,
Matthias
[1]
https://github.com/m-kuhn/QGIS/commit/571b4fa7e6afcefb9c4911339db2c4b7689ce6a9
On Mon 19 May 2014 05:34:41 PM CEST, Felix Schmidt wrote:
> @Matthias: what do you mean with:
> Am 19.05.2014 16:41, schrieb Matthias Kuhn: "the code is not exported
> to the gui or core libraries/sip modules"?
>
>> It will not be so easy to just write wrappers because the code is not
>> exported to the gui or core libraries/sip modules.
>> I have written code that makes it possible to generate python
>> bindings for (C++) plugins and I'm considering creating a
>> pull-request for it.
>>
>> Matthias
>>
>>
>> On 05/19/2014 04:33 PM, G. Allegri wrote:
>>> It depends on what parts of the Georeferencer you need. If you don't
>>> need the GUI but only the math, you could consider writing a SIP
>>> wrapper around QgsGeorefTransformInterface implementations [1].
>>> Otherwise, if Python performance would suffice, you could grab the
>>> low level math from QgsGeorefTransform and QgsLeastSquares [2] and
>>> translate it to Python.
>>>
>>> giovanni
>>>
>>> [1]
>>> https://github.com/qgis/QGIS/blob/master/src/plugins/georeferencer/qgsgeoreftransform.cpp
>>> [2]
>>> https://github.com/qgis/QGIS/blob/master/src/plugins/georeferencer/qgsleastsquares.cpp
>>>
>>>
>>>
>>> 2014-05-19 16:32 GMT+02:00 G. Allegri <giohappy at gmail.com
>>> <mailto:giohappy at gmail.com>>:
>>>
>>> It depends on what parts of the Georeferencer you need. If you
>>> don't need the GUI but only the math, you could consider writing
>>> a SIP wrapper around QgsGeorefTransformInterface implementations
>>> [1].
>>> Otherwise, if Python performance would suffice, you could grab
>>> the low level math from QgsGeorefTransform and QgsLeastSquares
>>> [2] and translate it to Python.
>>>
>>> giovanni
>>>
>>> [1]
>>> https://github.com/qgis/QGIS/blob/master/src/plugins/georeferencer/qgsgeoreftransform.cpp
>>> [2]
>>> https://github.com/qgis/QGIS/blob/master/src/plugins/georeferencer/qgsleastsquares.cpp
>>>
>>>
>>> 2014-05-19 16:10 GMT+02:00 Felix Schmidt
>>> <felix.schmidt at uni-weimar.de <mailto:felix.schmidt at uni-weimar.de>>:
>>>
>>> Hello Giovanni,
>>> thanks for your answer. Do you think it is easier to write
>>> the Plugin for the historical border extraction in c++
>>> instead of python, cause of the binding implementation?
>>>
>>> Felix
>>>
>>> Am 19.05.2014 14:52, schrieb G. Allegri:
>>>
>>> Hi Felix,
>>> I fear you will have to write your own bindings if you
>>> want to leavarage the Georeferencer plugin code. It's a
>>> plugin, so it's functionality isn't exposed through QGIS
>>> API.
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Giovanni Allegri
>>> http://about.me/giovanniallegri
>>> Twitter: https://twitter.com/_giohappy_
>>> blog: http://blog.spaziogis.it
>>> GEO+ geomatica in Italia http://bit.ly/GEOplus
>>>
>>>
>>>
>>>
>>> --
>>> Giovanni Allegri
>>> http://about.me/giovanniallegri
>>> Twitter: https://twitter.com/_giohappy_
>>> blog: http://blog.spaziogis.it
>>> GEO+ geomatica in Italia http://bit.ly/GEOplus
>>>
>>>
>>> _______________________________________________
>>> Qgis-developer mailing list
>>> Qgis-developer at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>
>
More information about the Qgis-developer
mailing list