Re: [Qgis-developer] WCS and Raster improvements for QGIS
> Yes, requests must be somehow assigned to layers/providers so that > progress may be emitted from the right place. It could be maybe done > using GDALDatasetH pointer? Just another hack. I've no ideal solution for this. Your suggestion could be indeed a possibility : adding 2 methods GDALDatasetSetUserData() & GDALDatasetGetUserData() and the user data being passed to the custom http fetcher if it is defined. Except that I think that in the Open() method of the WCS driver, there are already HTTP requests done to determine some characteristics of the dataset, so that is not practical since the dataset handle isn't yet known at that time. Would need more thinking. > > In theory, we are going to use threads, which could complicate it even > more. It is not yet clear to me if QgsRasterDataProvider::readBlock of > an instance is also going to be called from multiple threads > simultaneously? That can be a problem. And it isn't specific to the WCS driver. It is generally not safe to access the *same* dataset handle concurrently from multiple threads with most GDAL drivers, because the XXXDataset or XXXRasterBand classes may have state variables that aren't protected against concurrent access. Looking a bit at the WCS driver, I can see that the osResultFilename and pabySavedDataBuffer member variables would certainly not appreciate concurrent access on the same dataset handle. But looking at how they are used, they is no need to make them persist between different calls to the IReadBlock() method. So they could be easily made local variables passed to the GDALOpenResult() and FlushMemoryResult() methods. But reading your later email where you mention that the native QGIS WCS driver is almost there, there's probably no need to dig further into this. Thanks for having shared your thoughts, Even ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
Hi On Fri, Jul 13, 2012 at 1:32 PM, Radim Blazek wrote: > On Fri, Jul 13, 2012 at 1:19 PM, Tim Sutton wrote: >>> My intention was not to force the use of GDAL, but to know if there were >>> technical reasons that would prevent from using it. This work could be an >>> opportunity to make its WCS driver better, for QGIS benefit, and all other >>> projects that rely on GDAL. >> >> Understood. Its why we shared our plans so that we can have this kind >> of discussion before the fact. > > Hmm, the native WCS is almost ready... > Also great. No problem from me! Regards Tim > Radim -- Tim Sutton - QGIS Project Steering Committee Member (Release Manager) == Please do not email me off-list with technical support questions. Using the lists will gain more exposure for your issues and the knowledge surrounding your issue will be shared with all. Visit http://linfiniti.com to find out about: * QGIS programming and support services * Mapserver and PostGIS based hosting plans * FOSS Consulting Services Skype: timlinux Irc: timlinux on #qgis at freenode.net == ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
On Fri, Jul 13, 2012 at 1:19 PM, Tim Sutton wrote: >> My intention was not to force the use of GDAL, but to know if there were >> technical reasons that would prevent from using it. This work could be an >> opportunity to make its WCS driver better, for QGIS benefit, and all other >> projects that rely on GDAL. > > Understood. Its why we shared our plans so that we can have this kind > of discussion before the fact. Hmm, the native WCS is almost ready... Radim ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
Hi On Fri, Jul 13, 2012 at 10:46 AM, Even Rouault wrote: > My intention was not to force the use of GDAL, but to know if there were > technical reasons that would prevent from using it. This work could be an > opportunity to make its WCS driver better, for QGIS benefit, and all other > projects that rely on GDAL. Understood. Its why we shared our plans so that we can have this kind of discussion before the fact. > > Best regards, > > Even > ___ > Qgis-developer mailing list > Qgis-developer@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/qgis-developer -- Tim Sutton - QGIS Project Steering Committee Member (Release Manager) == Please do not email me off-list with technical support questions. Using the lists will gain more exposure for your issues and the knowledge surrounding your issue will be shared with all. Visit http://linfiniti.com to find out about: * QGIS programming and support services * Mapserver and PostGIS based hosting plans * FOSS Consulting Services Skype: timlinux Irc: timlinux on #qgis at freenode.net == ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
On Fri, Jul 13, 2012 at 10:46 AM, Even Rouault wrote: >> - question/suggestion, GDAL i using CPLHTTPFetch() to get data from >> server, would it be possible to add a possibility to set user function >> to be used instead of default CPLHTTPFetch()? Something like >> SetHTTPFetchFunction( myHTTPFetch ). That would make it possible to >> use GDAL providers with QgsNetworkAccessManager for example. > > I was actually thinking to something like that when reading Marco's email. > Sounds perfectly doable. The only point that could be tricky is if you need a > user_data pointer that is specific to each WCS connexion. Yes, requests must be somehow assigned to layers/providers so that progress may be emitted from the right place. It could be maybe done using GDALDatasetH pointer? Just another hack. In theory, we are going to use threads, which could complicate it even more. It is not yet clear to me if QgsRasterDataProvider::readBlock of an instance is also going to be called from multiple threads simultaneously? Radim ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
Hi Radim, > - (I know that OS people don't like to here it and they will argue > that is is not a way ahead.) WCS is not widespread yet and there are > various issues with implementation in UMN Mapserver (and other > servers) and GDAL. Combination of that issues made it for example > impossible to support WCS 1.1 in QGIS via GDAL WCS provider. In QGIS > we can use various hacks to get over various issues with servers, for > example axis switching etc. which would not be accepted in GDAL. Well, when developing the WFS driver in OGR, I have had to implement various hacks to support the varying behaviour of the WFS servers in the wild, so I don't think it is an absolute obstacle. There's probably still work to deal with axis switching in GDAL. For geographic SRS, the support for axis switching is already there (I didn't check if it is used in the WCS driver, but it is there at the OGRSpatialReference level, and it is already used in the WMS and WFS drivers). I have also a patch pending to deal with projected SRS that have axis switched, if that's what is missing. If the issue is that some servers don't behave accordingly to the spec, we could imagine to have an option in the description XML to pass that information to the driver. > Then > there is a question of time, if you look at deployment on Linux, it > takes months or years to get fixed package into a distribution. In > last two days, I found for example new issues with both UMN Mapserver > and GDAL which we can get around in QGIS, but we would need to wait > years until fixed versions get to distributions. Not false, but I'm wondering why a new version of QGIS would be packaged faster than a GDAL one. QGIS could document that QGIS X needs at least GDAL >= Y if it needs Y for a functionality. > - question/suggestion, GDAL i using CPLHTTPFetch() to get data from > server, would it be possible to add a possibility to set user function > to be used instead of default CPLHTTPFetch()? Something like > SetHTTPFetchFunction( myHTTPFetch ). That would make it possible to > use GDAL providers with QgsNetworkAccessManager for example. I was actually thinking to something like that when reading Marco's email. Sounds perfectly doable. The only point that could be tricky is if you need a user_data pointer that is specific to each WCS connexion. My intention was not to force the use of GDAL, but to know if there were technical reasons that would prevent from using it. This work could be an opportunity to make its WCS driver better, for QGIS benefit, and all other projects that rely on GDAL. Best regards, Even ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
On Thu, Jul 12, 2012 at 5:15 PM, Marco Hugentobler wrote: > Hi > > In my opinion, it is better to use the Qt classes for the network requests > than curl. In QGIS, we have QgsNetworkAccessManager, which picks up > automatically the network settings from the options tab (proxy settings, > exclusion list, password, disk cache). It has nice progress reporting by > signal/slot, the possibility to interrupt the network request and a disk > cache. And the possibility to provide custom implementations for all that if > necessary. > > Like this, WFS, WPS, WMS providers, plugin installer and open layers plugin > (and third party python plugins) have a unified method to do network > requests. No need to use a different network library for each one (and the > mapping is never 1:1, there is always loss). > > So while it might be quicker (in terms of development time) to use the GDAL > provider, a standalone provider is always more native and flexible (that's > also the reason there are QGIS vector providers for postgres, wfs, gpx, > spatialite, grass while everything can be read with the OGR provider). Marco explained the situation better than I could do. I can only add that: - reading data with GetCoverage is only one part (about 50%) of the provider, there is a lot of things around, which we have to do in QGIS anyway - get list of coverages, describe coverages, GUI select etc. - even with native (or more native) WCS provider, we are still using GDAL to decode downloaded data - (I know that OS people don't like to here it and they will argue that is is not a way ahead.) WCS is not widespread yet and there are various issues with implementation in UMN Mapserver (and other servers) and GDAL. Combination of that issues made it for example impossible to support WCS 1.1 in QGIS via GDAL WCS provider. In QGIS we can use various hacks to get over various issues with servers, for example axis switching etc. which would not be accepted in GDAL. Then there is a question of time, if you look at deployment on Linux, it takes months or years to get fixed package into a distribution. In last two days, I found for example new issues with both UMN Mapserver and GDAL which we can get around in QGIS, but we would need to wait years until fixed versions get to distributions. - we are using GDAL/OGR heavily where possible. - question/suggestion, GDAL i using CPLHTTPFetch() to get data from server, would it be possible to add a possibility to set user function to be used instead of default CPLHTTPFetch()? Something like SetHTTPFetchFunction( myHTTPFetch ). That would make it possible to use GDAL providers with QgsNetworkAccessManager for example. Radim > Regards, > Marco > > Am 12.07.2012 15:51, schrieb Even Rouault: > >>> Yes - Radim already made a first pass implementation using GDAL WCS >>> though he said there were some problems with it - I think the most >>> critical being that it doesn't support proxy access (I am speaking >>> under correction here as I haven't looked into it in that much detail >>> myself). >> >> This should be rather easy to add. It is just a matter of setting the >> right >> option to CPLHTTPFetch() (and thus the curl library), namely : >> >> PROXY=val, to make requests go through a proxy server, where val is of >> the >> form proxy.server.com:port_number >> PROXYUSERPWD=val, where val is of the form username:password >> >> Note: They can also already be used by setting the GDAL_HTTP_PROXY and >> GDAL_HTTP_PROXYUSERPWD configuration options/environmenet variable, which >> will >> act on all GDAL/OGR drivers that go through the CPLHTTPFetch() function. >> >> I see Radim is already a GDAL committer, so there shouldn't be too much >> overhead >> if he wants to hack in the WCS driver. >> >>> I will let Radim comment on any other issues. I think from >>> the project perspective we don't mind too much which approach is used >>> if the result is efficient and integrates nicely into QGIS. >>> >>> Regards >>> >>> Tim >>> >>> >>> >>> -- >>> Tim Sutton - QGIS Project Steering Committee Member (Release Manager) >>> == >>> Please do not email me off-list with technical >>> support questions. Using the lists will gain >>> more exposure for your issues and the knowledge >>> surrounding your issue will be shared with all. >>> >>> Visit http://linfiniti.com to find out about: >>> * QGIS programming and support services >>> * Mapserver and PostGIS based hosting plans >>> * FOSS Consulting Services >>> Skype: timlinux >>> Irc: timlinux on #qgis at freenode.net >>> == >>> >> >> ___ >> Qgis-developer mailing list >> Qgis-developer@lists.osgeo.org >> http://lists.osgeo.org/mailman/listinfo/qgis-developer > > > > -- > Dr. Marco Hugentobler > Sourcepole - Linux & Open Source Solutions > Weberstrasse 5, CH-8004 Zürich, Switzerland > marco.hugentob...@sourcepole.ch http://www.sourcepole.ch
Re: [Qgis-developer] WCS and Raster improvements for QGIS
Given the planned work on the composer I wonder if you're considering to move the print code (e.g. [1]) outside of the GUI/app control, and make it available for the python API, maybe in a QgsComposerPrinter class. This would also make Atlas simpler... giovanni [1] https://github.com/qgis/Quantum-GIS/blob/master/src/app/composer/qgscomposer.cpp#L528 2012/7/12 Tim Sutton > Hi > > On Thu, Jul 12, 2012 at 5:15 PM, Marco Hugentobler > wrote: > > Hi > > > > In my opinion, it is better to use the Qt classes for the network > requests > > than curl. In QGIS, we have QgsNetworkAccessManager, which picks up > > automatically the network settings from the options tab (proxy settings, > > exclusion list, password, disk cache). It has nice progress reporting by > > signal/slot, the possibility to interrupt the network request and a disk > > cache. And the possibility to provide custom implementations for all > that if > > necessary. > > > > Like this, WFS, WPS, WMS providers, plugin installer and open layers > plugin > > (and third party python plugins) have a unified method to do network > > requests. No need to use a different network library for each one (and > the > > mapping is never 1:1, there is always loss). > > > > So while it might be quicker (in terms of development time) to use the > GDAL > > provider, a standalone provider is always more native and flexible > (that's > > also the reason there are QGIS vector providers for postgres, wfs, gpx, > > spatialite, grass while everything can be read with the OGR provider). > > > > Thanks Marco for filling in the background to the debate we had when > developing the proposal with WorldBank/GFDRR on whether to implement > the WCS provider natively or use GDAL. All of the reasons Marco > mentions make extremely good sense. > > Regards > > Tim > > > > > Regards, > > Marco > > > > Am 12.07.2012 15:51, schrieb Even Rouault: > >>> > >>> Yes - Radim already made a first pass implementation using GDAL WCS > >>> though he said there were some problems with it - I think the most > >>> critical being that it doesn't support proxy access (I am speaking > >>> under correction here as I haven't looked into it in that much detail > >>> myself). > >> > >> This should be rather easy to add. It is just a matter of setting the > >> right > >> option to CPLHTTPFetch() (and thus the curl library), namely : > >> > >> PROXY=val, to make requests go through a proxy server, where val is > of > >> the > >> form proxy.server.com:port_number > >> PROXYUSERPWD=val, where val is of the form username:password > >> > >> Note: They can also already be used by setting the GDAL_HTTP_PROXY and > >> GDAL_HTTP_PROXYUSERPWD configuration options/environmenet variable, > which > >> will > >> act on all GDAL/OGR drivers that go through the CPLHTTPFetch() function. > >> > >> I see Radim is already a GDAL committer, so there shouldn't be too much > >> overhead > >> if he wants to hack in the WCS driver. > >> > >>> I will let Radim comment on any other issues. I think from > >>> the project perspective we don't mind too much which approach is used > >>> if the result is efficient and integrates nicely into QGIS. > >>> > >>> Regards > >>> > >>> Tim > >>> > >>> > >>> > >>> -- > >>> Tim Sutton - QGIS Project Steering Committee Member (Release Manager) > >>> == > >>> Please do not email me off-list with technical > >>> support questions. Using the lists will gain > >>> more exposure for your issues and the knowledge > >>> surrounding your issue will be shared with all. > >>> > >>> Visit http://linfiniti.com to find out about: > >>> * QGIS programming and support services > >>> * Mapserver and PostGIS based hosting plans > >>> * FOSS Consulting Services > >>> Skype: timlinux > >>> Irc: timlinux on #qgis at freenode.net > >>> == > >>> > >> > >> ___ > >> Qgis-developer mailing list > >> Qgis-developer@lists.osgeo.org > >> http://lists.osgeo.org/mailman/listinfo/qgis-developer > > > > > > > > -- > > Dr. Marco Hugentobler > > Sourcepole - Linux & Open Source Solutions > > Weberstrasse 5, CH-8004 Zürich, Switzerland > > marco.hugentob...@sourcepole.ch http://www.sourcepole.ch > > Technical Advisor QGIS Project Steering Committee > > > > > > ___ > > Qgis-developer mailing list > > Qgis-developer@lists.osgeo.org > > http://lists.osgeo.org/mailman/listinfo/qgis-developer > > > > -- > Tim Sutton - QGIS Project Steering Committee Member (Release Manager) > == > Please do not email me off-list with technical > support questions. Using the lists will gain > more exposure for your issues and the knowledge > surrounding your issue will be shared with all. > > Visit http://linfiniti.com to find out about: > * QGIS programming and support services > * Mapserver and PostGIS based hosting pl
Re: [Qgis-developer] WCS and Raster improvements for QGIS
Hi On Thu, Jul 12, 2012 at 5:15 PM, Marco Hugentobler wrote: > Hi > > In my opinion, it is better to use the Qt classes for the network requests > than curl. In QGIS, we have QgsNetworkAccessManager, which picks up > automatically the network settings from the options tab (proxy settings, > exclusion list, password, disk cache). It has nice progress reporting by > signal/slot, the possibility to interrupt the network request and a disk > cache. And the possibility to provide custom implementations for all that if > necessary. > > Like this, WFS, WPS, WMS providers, plugin installer and open layers plugin > (and third party python plugins) have a unified method to do network > requests. No need to use a different network library for each one (and the > mapping is never 1:1, there is always loss). > > So while it might be quicker (in terms of development time) to use the GDAL > provider, a standalone provider is always more native and flexible (that's > also the reason there are QGIS vector providers for postgres, wfs, gpx, > spatialite, grass while everything can be read with the OGR provider). > Thanks Marco for filling in the background to the debate we had when developing the proposal with WorldBank/GFDRR on whether to implement the WCS provider natively or use GDAL. All of the reasons Marco mentions make extremely good sense. Regards Tim > Regards, > Marco > > Am 12.07.2012 15:51, schrieb Even Rouault: >>> >>> Yes - Radim already made a first pass implementation using GDAL WCS >>> though he said there were some problems with it - I think the most >>> critical being that it doesn't support proxy access (I am speaking >>> under correction here as I haven't looked into it in that much detail >>> myself). >> >> This should be rather easy to add. It is just a matter of setting the >> right >> option to CPLHTTPFetch() (and thus the curl library), namely : >> >> PROXY=val, to make requests go through a proxy server, where val is of >> the >> form proxy.server.com:port_number >> PROXYUSERPWD=val, where val is of the form username:password >> >> Note: They can also already be used by setting the GDAL_HTTP_PROXY and >> GDAL_HTTP_PROXYUSERPWD configuration options/environmenet variable, which >> will >> act on all GDAL/OGR drivers that go through the CPLHTTPFetch() function. >> >> I see Radim is already a GDAL committer, so there shouldn't be too much >> overhead >> if he wants to hack in the WCS driver. >> >>> I will let Radim comment on any other issues. I think from >>> the project perspective we don't mind too much which approach is used >>> if the result is efficient and integrates nicely into QGIS. >>> >>> Regards >>> >>> Tim >>> >>> >>> >>> -- >>> Tim Sutton - QGIS Project Steering Committee Member (Release Manager) >>> == >>> Please do not email me off-list with technical >>> support questions. Using the lists will gain >>> more exposure for your issues and the knowledge >>> surrounding your issue will be shared with all. >>> >>> Visit http://linfiniti.com to find out about: >>> * QGIS programming and support services >>> * Mapserver and PostGIS based hosting plans >>> * FOSS Consulting Services >>> Skype: timlinux >>> Irc: timlinux on #qgis at freenode.net >>> == >>> >> >> ___ >> Qgis-developer mailing list >> Qgis-developer@lists.osgeo.org >> http://lists.osgeo.org/mailman/listinfo/qgis-developer > > > > -- > Dr. Marco Hugentobler > Sourcepole - Linux & Open Source Solutions > Weberstrasse 5, CH-8004 Zürich, Switzerland > marco.hugentob...@sourcepole.ch http://www.sourcepole.ch > Technical Advisor QGIS Project Steering Committee > > > ___ > Qgis-developer mailing list > Qgis-developer@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/qgis-developer -- Tim Sutton - QGIS Project Steering Committee Member (Release Manager) == Please do not email me off-list with technical support questions. Using the lists will gain more exposure for your issues and the knowledge surrounding your issue will be shared with all. Visit http://linfiniti.com to find out about: * QGIS programming and support services * Mapserver and PostGIS based hosting plans * FOSS Consulting Services Skype: timlinux Irc: timlinux on #qgis at freenode.net == ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
Hi In my opinion, it is better to use the Qt classes for the network requests than curl. In QGIS, we have QgsNetworkAccessManager, which picks up automatically the network settings from the options tab (proxy settings, exclusion list, password, disk cache). It has nice progress reporting by signal/slot, the possibility to interrupt the network request and a disk cache. And the possibility to provide custom implementations for all that if necessary. Like this, WFS, WPS, WMS providers, plugin installer and open layers plugin (and third party python plugins) have a unified method to do network requests. No need to use a different network library for each one (and the mapping is never 1:1, there is always loss). So while it might be quicker (in terms of development time) to use the GDAL provider, a standalone provider is always more native and flexible (that's also the reason there are QGIS vector providers for postgres, wfs, gpx, spatialite, grass while everything can be read with the OGR provider). Regards, Marco Am 12.07.2012 15:51, schrieb Even Rouault: Yes - Radim already made a first pass implementation using GDAL WCS though he said there were some problems with it - I think the most critical being that it doesn't support proxy access (I am speaking under correction here as I haven't looked into it in that much detail myself). This should be rather easy to add. It is just a matter of setting the right option to CPLHTTPFetch() (and thus the curl library), namely : PROXY=val, to make requests go through a proxy server, where val is of the form proxy.server.com:port_number PROXYUSERPWD=val, where val is of the form username:password Note: They can also already be used by setting the GDAL_HTTP_PROXY and GDAL_HTTP_PROXYUSERPWD configuration options/environmenet variable, which will act on all GDAL/OGR drivers that go through the CPLHTTPFetch() function. I see Radim is already a GDAL committer, so there shouldn't be too much overhead if he wants to hack in the WCS driver. I will let Radim comment on any other issues. I think from the project perspective we don't mind too much which approach is used if the result is efficient and integrates nicely into QGIS. Regards Tim -- Tim Sutton - QGIS Project Steering Committee Member (Release Manager) == Please do not email me off-list with technical support questions. Using the lists will gain more exposure for your issues and the knowledge surrounding your issue will be shared with all. Visit http://linfiniti.com to find out about: * QGIS programming and support services * Mapserver and PostGIS based hosting plans * FOSS Consulting Services Skype: timlinux Irc: timlinux on #qgis at freenode.net == ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer -- Dr. Marco Hugentobler Sourcepole - Linux & Open Source Solutions Weberstrasse 5, CH-8004 Zürich, Switzerland marco.hugentob...@sourcepole.ch http://www.sourcepole.ch Technical Advisor QGIS Project Steering Committee ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
On Thu, Jul 12, 2012 at 2:44 PM, Tim Sutton wrote: > Yes writing tests into the project plan and explaining the value of > investing in them to the clients is the way to go! In this case it was > an easy sell since we are using the work in the project to build > software that 'must just work' and having tests will be critical in > providing that assurance. That said I think in all cases, if a client > has paid for something the will want to know that it 'just works and > keeps working down the line' too. Hopefully other QGIS developers who > are creating contracts will follow suite I think that implicitly answers the only question I had about this project - that all the stuff would be properly documented too! The World Bank are doing a lot of good things - I listened to a few talks at this http://www.data.gov/communities/conference the other day. Congrats. Barry ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
Il 12/07/2012 15:44, Tim Sutton ha scritto: > keeps working down the line' too. Hopefully other QGIS developers who > are creating contracts will follow suite lesson taken ;) thanks for all -- Paolo Cavallini - Faunalia www.faunalia.eu Full contact details at www.faunalia.eu/pc Nuovi corsi QGIS e PostGIS: http://www.faunalia.it/calendario ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
Sorry for butting in - but I think it would be much more productive to fix/enhance the gdal WCS driver than to implement a standalone qgis provider. Etienne On Thu, Jul 12, 2012 at 10:51 AM, Even Rouault wrote: > >> Yes - Radim already made a first pass implementation using GDAL WCS >> though he said there were some problems with it - I think the most >> critical being that it doesn't support proxy access (I am speaking >> under correction here as I haven't looked into it in that much detail >> myself). > > This should be rather easy to add. It is just a matter of setting the right > option to CPLHTTPFetch() (and thus the curl library), namely : > > PROXY=val, to make requests go through a proxy server, where val is of the > form proxy.server.com:port_number > PROXYUSERPWD=val, where val is of the form username:password > > Note: They can also already be used by setting the GDAL_HTTP_PROXY and > GDAL_HTTP_PROXYUSERPWD configuration options/environmenet variable, which will > act on all GDAL/OGR drivers that go through the CPLHTTPFetch() function. > > I see Radim is already a GDAL committer, so there shouldn't be too much > overhead > if he wants to hack in the WCS driver. > >> I will let Radim comment on any other issues. I think from >> the project perspective we don't mind too much which approach is used >> if the result is efficient and integrates nicely into QGIS. >> >> Regards >> >> Tim >> >> >> >> -- >> Tim Sutton - QGIS Project Steering Committee Member (Release Manager) >> == >> Please do not email me off-list with technical >> support questions. Using the lists will gain >> more exposure for your issues and the knowledge >> surrounding your issue will be shared with all. >> >> Visit http://linfiniti.com to find out about: >> * QGIS programming and support services >> * Mapserver and PostGIS based hosting plans >> * FOSS Consulting Services >> Skype: timlinux >> Irc: timlinux on #qgis at freenode.net >> == >> > > > ___ > Qgis-developer mailing list > Qgis-developer@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/qgis-developer ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
> Yes - Radim already made a first pass implementation using GDAL WCS > though he said there were some problems with it - I think the most > critical being that it doesn't support proxy access (I am speaking > under correction here as I haven't looked into it in that much detail > myself). This should be rather easy to add. It is just a matter of setting the right option to CPLHTTPFetch() (and thus the curl library), namely : PROXY=val, to make requests go through a proxy server, where val is of the form proxy.server.com:port_number PROXYUSERPWD=val, where val is of the form username:password Note: They can also already be used by setting the GDAL_HTTP_PROXY and GDAL_HTTP_PROXYUSERPWD configuration options/environmenet variable, which will act on all GDAL/OGR drivers that go through the CPLHTTPFetch() function. I see Radim is already a GDAL committer, so there shouldn't be too much overhead if he wants to hack in the WCS driver. > I will let Radim comment on any other issues. I think from > the project perspective we don't mind too much which approach is used > if the result is efficient and integrates nicely into QGIS. > > Regards > > Tim > > > > -- > Tim Sutton - QGIS Project Steering Committee Member (Release Manager) > == > Please do not email me off-list with technical > support questions. Using the lists will gain > more exposure for your issues and the knowledge > surrounding your issue will be shared with all. > > Visit http://linfiniti.com to find out about: > * QGIS programming and support services > * Mapserver and PostGIS based hosting plans > * FOSS Consulting Services > Skype: timlinux > Irc: timlinux on #qgis at freenode.net > == > ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
Hi On Thu, Jul 12, 2012 at 3:08 PM, Sandro Santilli wrote: > On Thu, Jul 12, 2012 at 02:47:32PM +0200, Andreas Neumann wrote: > >> I also like the requirement to have tests. > > Yah, me too ! > It's really good to see all those tests as part of the plan :) > > Thanks to everyone involved in this ! > Yes writing tests into the project plan and explaining the value of investing in them to the clients is the way to go! In this case it was an easy sell since we are using the work in the project to build software that 'must just work' and having tests will be critical in providing that assurance. That said I think in all cases, if a client has paid for something the will want to know that it 'just works and keeps working down the line' too. Hopefully other QGIS developers who are creating contracts will follow suite Regards Tim > --strk; > > ,--o-. > | __/ |Delivering high quality PostGIS 2.1 > | / 2.1 |http://strk.keybit.net - http://vizzuality.com > `-o--' > > ___ > Qgis-developer mailing list > Qgis-developer@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/qgis-developer -- Tim Sutton - QGIS Project Steering Committee Member (Release Manager) == Please do not email me off-list with technical support questions. Using the lists will gain more exposure for your issues and the knowledge surrounding your issue will be shared with all. Visit http://linfiniti.com to find out about: * QGIS programming and support services * Mapserver and PostGIS based hosting plans * FOSS Consulting Services Skype: timlinux Irc: timlinux on #qgis at freenode.net == ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
Hi Even On Thu, Jul 12, 2012 at 2:58 PM, Even Rouault wrote: > Hi Tim, > >> - Implement support for WCS as a native QGIS raster driver > > Just curious : has levering and/or improving the GDAL WCS driver been > considered > ? Yes - Radim already made a first pass implementation using GDAL WCS though he said there were some problems with it - I think the most critical being that it doesn't support proxy access (I am speaking under correction here as I haven't looked into it in that much detail myself). I will let Radim comment on any other issues. I think from the project perspective we don't mind too much which approach is used if the result is efficient and integrates nicely into QGIS. Regards Tim -- Tim Sutton - QGIS Project Steering Committee Member (Release Manager) == Please do not email me off-list with technical support questions. Using the lists will gain more exposure for your issues and the knowledge surrounding your issue will be shared with all. Visit http://linfiniti.com to find out about: * QGIS programming and support services * Mapserver and PostGIS based hosting plans * FOSS Consulting Services Skype: timlinux Irc: timlinux on #qgis at freenode.net == ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
On Thu, Jul 12, 2012 at 02:47:32PM +0200, Andreas Neumann wrote: > I also like the requirement to have tests. Yah, me too ! It's really good to see all those tests as part of the plan :) Thanks to everyone involved in this ! --strk; ,--o-. | __/ |Delivering high quality PostGIS 2.1 | / 2.1 |http://strk.keybit.net - http://vizzuality.com `-o--' ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
Hi Tim, > - Implement support for WCS as a native QGIS raster driver Just curious : has levering and/or improving the GDAL WCS driver been considered ? ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] WCS and Raster improvements for QGIS
Hi, That sounds fantastic - looking forward to all these improvements! The WCS is one more OGC implementation that brings us closer to more complete GDI support. Personally I am excited about the composer improvements. Together with the serial printing initiative from the Atlas plugin we will get a quite powerful map and report generation engine. I also like the requirement to have tests. Once this is all implemented one can see what could be exposed in QGIS server and webclient. Thanks for the information, Andreas On Thu, 12 Jul 2012 14:11:11 +0200, Tim Sutton wrote: Hi All I just wanted to share some development plans we have in order to prevent possible duplication of effort. We have been funded by the World Bank/GFDRR (Global Fund for Disaster Reduction and Recovery) to add the following functionalities to QGIS: Web Coverage Service Support: - Implement test suite for WCS integration - Implement support for WCS as a native QGIS raster driver - Support addition of WCS layers from python - Implement WCS test server and document setup procedure so it can be replicated - Implement a consistent user interface for adding WCS layers Raster Improvements: - Resampler branch integration - merge to master and integrate WCS branch and ensure that all QGIS tests pass - Implement sensible default colour scaling for rasters using 2% and 98% cumulative pixel count cut off where no style exists - Implement (with c++ and python tests) range based floating point raster transparency support in QGIS (singleband rasters only) - Implement (with c++ and python tests) save as support for rasters in QGIS. (Mainly tests required as builds on existing work). - Implement support for user manipulation of raster null values in QGIS when doing Save as.. (e.g. to specify a new null value). - Support specification of region, pixel size and output CRS when doing Save as... for rasters - Add option (default behaviour) to enable OTF reprojection whenever a new layer is added that differs in CRS from existing project layers. The work will be carried by Radim Blazek under subcontract to Linfiniti Consulting CC In addition Sourcepole has been contracted by the World Bank/GFDRR to add the following improvements to the composer: Improvements to QGIS composer: - Support graticule labels on specified sides only and ensure garticule labels on inside are supported via python API - Draw 'zebra style' graticule on borders - Support printing degree marker (°) and N/E/S/W in graticule for EPGS:4326 maps - Support scale bar calculations based on ellipsoid for EPGS:4326 maps - Support placement of html elements on map composer - Support overview map bounding box overlay based on extent of another map frame - Support multipage map compositions with pagination (this will be limited to nominating a single table/html frame which can overrun the primary frame and then paginate) - Ensure composer render to pdf works with python bindings in non-gui contexts (raster pdf renderer only) - Ensure composer templates can be rendered from python by specifying a template file path - Allow tokenisation of template elements via python (e.g. by passing strings of file paths to replace composer elements in template) - Compile a test suite that validates all composer functionality works in C++ - Compile a test suite that validates all composer functionality works in python This work is being carried out in order to support the ongoing work we are doing with the InaSAFE (Scenario Assessment for Emergencies) project that we have been co-developing here at Linfiniti. The purpose in particular is to support the development of a realtime scenario report generator for post earthquake events. The InaSAFE project is being developed by BNPB, AusAID and the World Bank/GFDRR. You can find more details about the project at http://inasafe.org Regards Tim -- Tim Sutton - QGIS Project Steering Committee Member (Release Manager) == Please do not email me off-list with technical support questions. Using the lists will gain more exposure for your issues and the knowledge surrounding your issue will be shared with all. Visit http://linfiniti.com to find out about: * QGIS programming and support services * Mapserver and PostGIS based hosting plans * FOSS Consulting Services Skype: timlinux Irc: timlinux on #qgis at freenode.net == ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer -- -- Andreas Neumann Böschacherstrasse 10A 8624 Grüt (Gossau ZH) Switzerland ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer