[Qgis-developer] implement data provider in python?

Etienne Tourigny etourigny.dev at gmail.com
Wed Aug 29 05:05:59 PDT 2012


On Wed, Aug 29, 2012 at 6:02 AM, G. Allegri <giohappy at gmail.com> wrote:
> Hi Barry,
> " you can't write data providers in Python". This is the point: I wonder if
> this is in absolute or it is in this moment. Given Qgis can load python and
> C++ plugins, I wondered if a similar thing could be achieved for data
> providers. I can imagine two ways:
>
>  - extend the data provider registry to load python modules and then extend
> the data provider class to make it call the data provider interface methods
> both on Python and C++ providers (doesn't the plugins loader/registry do
> something similar?)
>  - write a generic C++ data provider that acts as a proxy to the actual
> python data provider.
>
> I don't know how hard it would be, but I can't find any technical barrier...
>
> My use case are two.
> One is to have "dynamic layers", in the sense I explained in a previous
> email. Let's say I have some code that does clustering on some data source.
> I would like to expose it as "live", meaning that it appears as any other
> static layer, but it's processed realtime.

you might be able to achieve that using "plugin layers" which are map
layers that can be created and updated by plugins

> The other is having the possibility to bridge, easily, any kind of data
> source, using python as an adapter.
>
> giovanni
>
>
>
>
> 2012/8/29 Barry Rowlingson <b.rowlingson at lancaster.ac.uk>
>>
>> I have a vague memory that the python data provider idea was
>> considered a while ago. I was thinking about how one could get direct
>> access from Qgis to R spatial data sets stored in R's binary files.
>> One method would have been to write a provider in python that used Rpy
>> to bridge to R, but wasn't possible because you can't write data
>> providers in Python. It could be done in C by linking to R's C
>> library, but at that point I lost interest and used a looser coupling
>> to get my R data into Qgis.
>>
>> The argument then went that if the provider was designed to access a
>> file it would be a better idea to write a GDAL/OGR driver, then even
>> people outside QGIS could use it. Obviously that would have to be
>> C/C++ though.
>>
>> And then I think everyone got bored and went back to doing things.
>>
>> Do you have a specific use-case?
>>
>> On Wed, Aug 29, 2012 at 8:01 AM, G. Allegri <giohappy at gmail.com> wrote:
>> > Anybody interested in developing the concept and evaluating its
>> > feasibility?
>> > I'm considering the possibility to sponsor it.
>> >
>> > giovanni
>> >
>> > Sent from Nexus
>> >
>> > Il giorno 28/ago/2012 00:11, "G. Allegri" <giohappy at gmail.com> ha
>> > scritto:
>> >>
>> >> AFAIK it isn't possible to register a python script as a dataprovider.
>> >> Maybe it sounds odd, but I think it would interesting if we could have
>> >> it.
>> >> Has it been ever considered? How hard would it be to implement it?
>> >>
>> >> Giovanni
>> >>
>> >> Sent from Nexus
>
>
>
> _______________________________________________
> 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