Re: [Qgis-developer] slow raster loading

2011-08-10 Thread Marco Hugentobler
Btw, is it possible to call computeMinMax() on demand, e.g. in 
QgsGDALProvider::minimumValue /maximumValue instead of the provider 
constructor?

It probably does not matter much for the desktop experience. However, for 
server throughput, avoidance of opening and parsing the aux.xml file could make 
a difference.

Regards,
Marco


Am Dienstag, 9. August 2011, 21.46:45 schrieb Tim Sutton:
 Hi Paolo
 
 Does it do that every time you load that layer or only the first time?
 Does the filesystem permissions allow writing of gdal .aux.xml files?
 
 My raster stats branch merge changed some behaviours and it is
 probably a side effect of that. One of the changes is that gdal gets
 full stats when trying to determine the min max of a band. It will
 fetch those stats quickly from aux.xml if present of if not its going
 to do a full stats gather just for the basic min max stats which is
 where you probably experience the slowness. I will see if I can find a
 better way to do the basic min/max stats gathering.
 
 Regards
 
 Tim
 
 On Tue, Aug 9, 2011 at 3:49 PM, Paolo Cavallini cavall...@faunalia.it 
wrote:
  Hi all.
  With current master, I get bad performances in loading rasters (a 12Mb
  takes 5 sec); when double-clicking it from the QGIS browser, it is far
  slower (20 sec). From the console:
  Warning: Object::connect: No such signal QgsGdalProvider::statusChanged(
  QString ) in
  /storage/build/Quantum-GIS/src/core/raster/qgsrasterlayer.cpp:2446 Any
  hint?
  All the best.
  --
  Paolo Cavallini: http://www.faunalia.it/pc
  ___
  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
Churerstrasse 22, CH-8808 Pfäffikon SZ, 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] slow raster loading

2011-08-10 Thread Tim Sutton
Hi

On Wed, Aug 10, 2011 at 12:20 AM, Peter Borissow
peter.boris...@yahoo.com wrote:
 Also, might be a good idea to spawn a separate thread to generate the aux
 file in the background...


It could be a possibility but the way things are set up now, stats are
only gathered when really needed, and if you need then for the
activity you are doing you would have to wait for them anyway. The
only merrit of using a separate thread would be if we decided to start
gathering complete stats on first load of a raster in the background
always so that they are preemptively there when the user does
something that needs stats. However I don't know if that is a good
idea - if you have many rasters in a project that need stats it will
spawn many threads and the IO / CPU overhead may be unpleasant.

Regards

Tim


 
 From: Frank Warmerdam warmer...@pobox.com
 To: Tim Sutton li...@linfiniti.com
 Cc: qgis-developer qgis-developer@lists.osgeo.org
 Sent: Tuesday, August 9, 2011 5:51 PM
 Subject: Re: [Qgis-developer] slow raster loading

 On Tue, Aug 9, 2011 at 2:37 PM, Tim Sutton li...@linfiniti.com wrote:

 Yes thats why I was asking if the file permissions exist to write the
 aux.xml. If they don't behaviour should be the same as prior to my
 native raster stats commits i.e. stats will be recalced each time you
 open a project / add a layer and trigger something that needs the
 stats.

 Tim, and others,

 By the way, there is a mechanism in GDAL to support storing .aux.xml
 information in an alternative directory when the file cannot be
 created on the target directory due to permissions, read-only media, etc.

 This is enabled by setting the GDAL_PAM_PROXY_DIR option to
 point to a directory where files can be written.  If there is a place
 known to QGIS that would be good for this, it might make sense
 to take advantage of this.

 Best regards,
 --
 ---+--
 I set the clouds in motion - turn up   | Frank Warmerdam,
 warmer...@pobox.com
 light and sound - activate the windows | http://pobox.com/~warmerdam
 and watch the world go round - Rush    | Geospatial Software Developer
 ___
 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] slow raster loading

2011-08-10 Thread Tim Sutton
Hi

On Wed, Aug 10, 2011 at 8:31 AM, Marco Hugentobler
marco.hugentob...@sourcepole.ch wrote:
 Btw, is it possible to call computeMinMax() on demand, e.g. in
 QgsGDALProvider::minimumValue /maximumValue instead of the provider
 constructor?

 It probably does not matter much for the desktop experience. However, for
 server throughput, avoidance of opening and parsing the aux.xml file could 
 make
 a difference.


I think the overhead for reading the aux.xml file is really minimal
and the min/max population of that if its not there is quite quick and
a once off event so I wouldnt think it is going to impact the server
much. I'd suggest I first run some benchmarks to see how much overhead
it adds.

Regards

Tim

 Regards,
 Marco


 Am Dienstag, 9. August 2011, 21.46:45 schrieb Tim Sutton:
 Hi Paolo

 Does it do that every time you load that layer or only the first time?
 Does the filesystem permissions allow writing of gdal .aux.xml files?

 My raster stats branch merge changed some behaviours and it is
 probably a side effect of that. One of the changes is that gdal gets
 full stats when trying to determine the min max of a band. It will
 fetch those stats quickly from aux.xml if present of if not its going
 to do a full stats gather just for the basic min max stats which is
 where you probably experience the slowness. I will see if I can find a
 better way to do the basic min/max stats gathering.

 Regards

 Tim

 On Tue, Aug 9, 2011 at 3:49 PM, Paolo Cavallini cavall...@faunalia.it
 wrote:
  Hi all.
  With current master, I get bad performances in loading rasters (a 12Mb
  takes 5 sec); when double-clicking it from the QGIS browser, it is far
  slower (20 sec). From the console:
  Warning: Object::connect: No such signal QgsGdalProvider::statusChanged(
  QString ) in
  /storage/build/Quantum-GIS/src/core/raster/qgsrasterlayer.cpp:2446 Any
  hint?
  All the best.
  --
  Paolo Cavallini: http://www.faunalia.it/pc
  ___
  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
 Churerstrasse 22, CH-8808 Pfäffikon SZ, Switzerland
 marco.hugentob...@sourcepole.ch http://www.sourcepole.ch
 Technical Advisor QGIS Project Steering Committee




-- 
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] Re: GSoC Weekly report #11: DB Manager plugin for QGis

2011-08-10 Thread Giuseppe Sucameli
Hi all,
I forgot the link. Regards.
[1] http://www.qgis.org/wiki/DB_Manager_plugin_GSoC_2011

On Wed, Aug 10, 2011 at 4:01 AM, Giuseppe Sucameli brush.ty...@gmail.comwrote:

 Hi all,

 I've updated the wiki page [1] adding the weekly report of the last week.

 In this moment the development of the import layer feature for the posgres
 provider
 is in a pretty good state, I get no error when I compile the code :).
 I'm going to test it tomorrow.

 Regards.

 --
 Giuseppe Sucameli




-- 
Giuseppe Sucameli
___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [Qgis-developer] slow raster loading

2011-08-10 Thread Marco Hugentobler
 I think the overhead for reading the aux.xml file is really minimal
 and the min/max population of that if its not there is quite quick and
 a once off event so I wouldnt think it is going to impact the server
 much. I'd suggest I first run some benchmarks to see how much overhead
 it adds.

But is there any downside from populating min/max on demand (e.g. like in 
QgsVectorDataProvider::minimumValue / maximum Value)? 

While it's nice to have a minimal overhead (probably buffered by the qgis 
server layer cache in many cases), it would be even better to have 0 overhead.

Regards,
Marco

 Am Mittwoch, 10. August 2011, 11.50:16 schrieb Tim Sutton:
 Hi
 
 On Wed, Aug 10, 2011 at 8:31 AM, Marco Hugentobler
 
 marco.hugentob...@sourcepole.ch wrote:
  Btw, is it possible to call computeMinMax() on demand, e.g. in
  QgsGDALProvider::minimumValue /maximumValue instead of the provider
  constructor?
  
  It probably does not matter much for the desktop experience. However, for
  server throughput, avoidance of opening and parsing the aux.xml file
  could make a difference.
 
 I think the overhead for reading the aux.xml file is really minimal
 and the min/max population of that if its not there is quite quick and
 a once off event so I wouldnt think it is going to impact the server
 much. I'd suggest I first run some benchmarks to see how much overhead
 it adds.
 
 Regards
 
 Tim
 
  Regards,
  Marco
  
  Am Dienstag, 9. August 2011, 21.46:45 schrieb Tim Sutton:
  Hi Paolo
  
  Does it do that every time you load that layer or only the first time?
  Does the filesystem permissions allow writing of gdal .aux.xml files?
  
  My raster stats branch merge changed some behaviours and it is
  probably a side effect of that. One of the changes is that gdal gets
  full stats when trying to determine the min max of a band. It will
  fetch those stats quickly from aux.xml if present of if not its going
  to do a full stats gather just for the basic min max stats which is
  where you probably experience the slowness. I will see if I can find a
  better way to do the basic min/max stats gathering.
  
  Regards
  
  Tim
  
  On Tue, Aug 9, 2011 at 3:49 PM, Paolo Cavallini cavall...@faunalia.it
  
  wrote:
   Hi all.
   With current master, I get bad performances in loading rasters (a
   12Mb takes 5 sec); when double-clicking it from the QGIS browser,
   it is far slower (20 sec). From the console:
   Warning: Object::connect: No such signal
   QgsGdalProvider::statusChanged( QString ) in
   /storage/build/Quantum-GIS/src/core/raster/qgsrasterlayer.cpp:2446 Any
   hint?
   All the best.
   --
   Paolo Cavallini: http://www.faunalia.it/pc
   ___
   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
  Churerstrasse 22, CH-8808 Pfäffikon SZ, Switzerland
  marco.hugentob...@sourcepole.ch http://www.sourcepole.ch
  Technical Advisor QGIS Project Steering Committee


-- 
Dr. Marco Hugentobler
Sourcepole -  Linux  Open Source Solutions
Churerstrasse 22, CH-8808 Pfäffikon SZ, 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] Breaking API and merge of threading branch

2011-08-10 Thread Nathan Woodrow
+1 for starting now.  Better to start early so we and plugin devs can start
moving over, esp regarding the multi threading API, then leave it till the
end.

I think we could also generate some kind of report with API changes, see
http://stackoverflow.com/questions/6596364/tracking-c-lib-public-api-changes

- Nathan

On Wed, Aug 10, 2011 at 8:32 PM, Tim Sutton li...@linfiniti.com wrote:

 Hi

 On Wed, Aug 10, 2011 at 11:58 AM, Martin Dobias wonder...@gmail.com
 wrote:
  Hi there
 
  watching the recent developments in the master branch I see various
  nice improvements. And they have something in common: they do _not_
  break API compatibility :-)
 
  I would like to bring up this topic, because we should purge a lot of
  cruft and deprecated APIs on the road to 2.0. The reason why I start
  this is that I have been closely looking at the merge of threading
  branch to master. The changes in that branch are essentially of three
  types:
  1. asynchronous map rendering (i.e. ability to browse the map while it
  is still being rendered)
  2. thread-safe API for vector access
  3. various speed optimizations
 
  Asynchronous map rendering is relatively simple to merge and requires
  only few API changes. But without new API for access to layers it is
  possible to produce crashes (e.g. map is still being rendered when you
  decide to start editing or do some analysis). The new API for vector
  access (using iterators) will require removal of the old API
  (select(), nextFeature()) in order to work well. And that means that
  virtually any functionality that uses layers' data has to be updated
  to new API. We need to break things in order to make threaded
  rendering work.
 
  The question is how to proceed and how to communicate that to users.
  The procedure could look like this:
  - set a date when we will start breaking API compatibility
  - create a tag in git that would be the last revision of master branch
  compatible with 1.x API
  - change plugin manager so that it allows only plugins that say qgis
  2.0 is the minimal version for them to run
  - change plugin installer so that it works only with new plugin
  repository and shows plugins for qgis 2.0
 
  Is there anything else we should consider? The point is to make the
  transition as smooth as possible for those using qgis-master.
 
  And what are your opinions when should we start with the breakage...
  in a month? in a week? tomorrow? now? :-)
 

 I think the fact that we are going to break API in 2.0 is well known
 and discussed often in releases, blogs, qgis hackfests etc. and is a
 general expectation when performing a major version numbering change.
 I think your approach is good (tag last api compatibility etc). As far
 as I am concerned we can go ahead with API breakage today. There are a
 number of other gut wrenching changes I would like to make for 2.0:

 - change theme to 'gis' theme by default
 - get rid of kids theme
 - rename default theme to 'legacy'
 - remove all deprecated api calls

 Many parts of our api have developed inconsistencies and I would like
 to spend some time putting my 'rpl' binary to good use trying to clean
 these up before we release. I think we should continue the practice of
 marking new api additions / changes with a @note added in 2.0  or
 @note replaces getLayerId in 2.0 etc. as far as possible so that
 people can adapt to our changes easily.

 Anyway +1 for API breakage from me - we will continue maintaining
 1.7.x for now anyway for those looking for stability. The number of
 things we can reasonable backport will shrink as we mess with the API
 but I don't see the impact to be too big.

 Regards

 Tim


  Martin
  ___
  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

___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [Qgis-developer] slow raster loading

2011-08-10 Thread Tim Sutton
Hi

On Wed, Aug 10, 2011 at 12:25 PM, Marco Hugentobler
marco.hugentob...@sourcepole.ch wrote:
 I think the overhead for reading the aux.xml file is really minimal
 and the min/max population of that if its not there is quite quick and
 a once off event so I wouldnt think it is going to impact the server
 much. I'd suggest I first run some benchmarks to see how much overhead
 it adds.

 But is there any downside from populating min/max on demand (e.g. like in
 QgsVectorDataProvider::minimumValue / maximum Value)?

 While it's nice to have a minimal overhead (probably buffered by the qgis
 server layer cache in many cases), it would be even better to have 0 overhead.


Ya you make a good point. I will try update it to calculate on demand.

Regards

Tim

 Regards,
 Marco

 Am Mittwoch, 10. August 2011, 11.50:16 schrieb Tim Sutton:
 Hi

 On Wed, Aug 10, 2011 at 8:31 AM, Marco Hugentobler

 marco.hugentob...@sourcepole.ch wrote:
  Btw, is it possible to call computeMinMax() on demand, e.g. in
  QgsGDALProvider::minimumValue /maximumValue instead of the provider
  constructor?
 
  It probably does not matter much for the desktop experience. However, for
  server throughput, avoidance of opening and parsing the aux.xml file
  could make a difference.

 I think the overhead for reading the aux.xml file is really minimal
 and the min/max population of that if its not there is quite quick and
 a once off event so I wouldnt think it is going to impact the server
 much. I'd suggest I first run some benchmarks to see how much overhead
 it adds.

 Regards

 Tim

  Regards,
  Marco
 
  Am Dienstag, 9. August 2011, 21.46:45 schrieb Tim Sutton:
  Hi Paolo
 
  Does it do that every time you load that layer or only the first time?
  Does the filesystem permissions allow writing of gdal .aux.xml files?
 
  My raster stats branch merge changed some behaviours and it is
  probably a side effect of that. One of the changes is that gdal gets
  full stats when trying to determine the min max of a band. It will
  fetch those stats quickly from aux.xml if present of if not its going
  to do a full stats gather just for the basic min max stats which is
  where you probably experience the slowness. I will see if I can find a
  better way to do the basic min/max stats gathering.
 
  Regards
 
  Tim
 
  On Tue, Aug 9, 2011 at 3:49 PM, Paolo Cavallini cavall...@faunalia.it
 
  wrote:
   Hi all.
   With current master, I get bad performances in loading rasters (a
   12Mb takes 5 sec); when double-clicking it from the QGIS browser,
   it is far slower (20 sec). From the console:
   Warning: Object::connect: No such signal
   QgsGdalProvider::statusChanged( QString ) in
   /storage/build/Quantum-GIS/src/core/raster/qgsrasterlayer.cpp:2446 Any
   hint?
   All the best.
   --
   Paolo Cavallini: http://www.faunalia.it/pc
   ___
   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
  Churerstrasse 22, CH-8808 Pfäffikon SZ, Switzerland
  marco.hugentob...@sourcepole.ch http://www.sourcepole.ch
  Technical Advisor QGIS Project Steering Committee


 --
 Dr. Marco Hugentobler
 Sourcepole -  Linux  Open Source Solutions
 Churerstrasse 22, CH-8808 Pfäffikon SZ, Switzerland
 marco.hugentob...@sourcepole.ch http://www.sourcepole.ch
 Technical Advisor QGIS Project Steering Committee




-- 
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] Breaking API and merge of threading branch

2011-08-10 Thread Paolo Cavallini
Il 10/08/2011 12:32, Tim Sutton ha scritto:

 Anyway +1 for API breakage from me - we will continue maintaining
 1.7.x for now anyway for those looking for stability. The number of
 things we can reasonable backport will shrink as we mess with the API
 but I don't see the impact to be too big.

+1 to break API
I think:
- from a power user point of view (and for plugin writers), the largest impact 
will
be in loosing (and having to rewrite) a lot of plugins, at least for several 
weeks or
months; for this, I think it is very important to move *before breakage* all the
plugins (if the authors agree) to the new infrastructure, so devs could help 
each
other migrating to new API
- it would be good to have 1.8 binaries for major distros before the breakage, 
so
people willing to use new features *and* existing plugins will be happy.
Does this sound reasonable?
All the best.
-- 
Paolo Cavallini: http://www.faunalia.it/pc
___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [Qgis-developer] Breaking API and merge of threading branch

2011-08-10 Thread Marco Hugentobler
Hi Martin,  Tim

I'm also in favour of breaking the API right now (it was only per coincidence 
no one did it so far).
At the last developer meeting, someone proposed to have a list wotj the API 
breakages on the wiki as help for plugin authors.

Regards,
Marco

Am Mittwoch, 10. August 2011, 12.32:32 schrieb Tim Sutton:
 Hi
 
 On Wed, Aug 10, 2011 at 11:58 AM, Martin Dobias wonder...@gmail.com wrote:
  Hi there
  
  watching the recent developments in the master branch I see various
  nice improvements. And they have something in common: they do _not_
  break API compatibility :-)
  
  I would like to bring up this topic, because we should purge a lot of
  cruft and deprecated APIs on the road to 2.0. The reason why I start
  this is that I have been closely looking at the merge of threading
  branch to master. The changes in that branch are essentially of three
  types:
  1. asynchronous map rendering (i.e. ability to browse the map while it
  is still being rendered)
  2. thread-safe API for vector access
  3. various speed optimizations
  
  Asynchronous map rendering is relatively simple to merge and requires
  only few API changes. But without new API for access to layers it is
  possible to produce crashes (e.g. map is still being rendered when you
  decide to start editing or do some analysis). The new API for vector
  access (using iterators) will require removal of the old API
  (select(), nextFeature()) in order to work well. And that means that
  virtually any functionality that uses layers' data has to be updated
  to new API. We need to break things in order to make threaded
  rendering work.
  
  The question is how to proceed and how to communicate that to users.
  The procedure could look like this:
  - set a date when we will start breaking API compatibility
  - create a tag in git that would be the last revision of master branch
  compatible with 1.x API
  - change plugin manager so that it allows only plugins that say qgis
  2.0 is the minimal version for them to run
  - change plugin installer so that it works only with new plugin
  repository and shows plugins for qgis 2.0
  
  Is there anything else we should consider? The point is to make the
  transition as smooth as possible for those using qgis-master.
  
  And what are your opinions when should we start with the breakage...
  in a month? in a week? tomorrow? now? :-)
 
 I think the fact that we are going to break API in 2.0 is well known
 and discussed often in releases, blogs, qgis hackfests etc. and is a
 general expectation when performing a major version numbering change.
 I think your approach is good (tag last api compatibility etc). As far
 as I am concerned we can go ahead with API breakage today. There are a
 number of other gut wrenching changes I would like to make for 2.0:
 
 - change theme to 'gis' theme by default
 - get rid of kids theme
 - rename default theme to 'legacy'
 - remove all deprecated api calls
 
 Many parts of our api have developed inconsistencies and I would like
 to spend some time putting my 'rpl' binary to good use trying to clean
 these up before we release. I think we should continue the practice of
 marking new api additions / changes with a @note added in 2.0  or
 @note replaces getLayerId in 2.0 etc. as far as possible so that
 people can adapt to our changes easily.
 
 Anyway +1 for API breakage from me - we will continue maintaining
 1.7.x for now anyway for those looking for stability. The number of
 things we can reasonable backport will shrink as we mess with the API
 but I don't see the impact to be too big.
 
 Regards
 
 Tim
 
  Martin
  ___
  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
Churerstrasse 22, CH-8808 Pfäffikon SZ, 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] slow raster loading

2011-08-10 Thread Alexander Bruy
Hi all,

may be it is time to add to the GdalTools plugin new utility
that will calculate raster statistics? Something similar to
Assign projection or Build overviews.

Bye
-- 
Alexander Bruy
___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [Qgis-developer] slow raster loading

2011-08-10 Thread Paolo Cavallini
Il 10/08/2011 12:49, Alexander Bruy ha scritto:

 may be it is time to add to the GdalTools plugin new utility
 that will calculate raster statistics? Something similar to
 Assign projection or Build overviews.

Good idea; ideally this should be done in batch, also recursively, so in most
situations it should be done shortly after installation.
One tip should be added suggesting users to run this tool, and possibly also 
adding
indexes to large shapefiles, to prepare all their data for fast loading.
All the best.
-- 
Paolo Cavallini: http://www.faunalia.it/pc
___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [Qgis-developer] Breaking API and merge of threading branch

2011-08-10 Thread Alexander Bruy
In my opinion it is better to start now and have more time to update plugins
and test new changes.

So, +1 for breaking API now

2011/8/10 Marco Hugentobler marco.hugentob...@sourcepole.ch:
 Hi Martin,  Tim

 I'm also in favour of breaking the API right now (it was only per coincidence
 no one did it so far).
 At the last developer meeting, someone proposed to have a list wotj the API
 breakages on the wiki as help for plugin authors.

 Regards,
 Marco

 Am Mittwoch, 10. August 2011, 12.32:32 schrieb Tim Sutton:
 Hi

 On Wed, Aug 10, 2011 at 11:58 AM, Martin Dobias wonder...@gmail.com wrote:
  Hi there
 
  watching the recent developments in the master branch I see various
  nice improvements. And they have something in common: they do _not_
  break API compatibility :-)
 
  I would like to bring up this topic, because we should purge a lot of
  cruft and deprecated APIs on the road to 2.0. The reason why I start
  this is that I have been closely looking at the merge of threading
  branch to master. The changes in that branch are essentially of three
  types:
  1. asynchronous map rendering (i.e. ability to browse the map while it
  is still being rendered)
  2. thread-safe API for vector access
  3. various speed optimizations
 
  Asynchronous map rendering is relatively simple to merge and requires
  only few API changes. But without new API for access to layers it is
  possible to produce crashes (e.g. map is still being rendered when you
  decide to start editing or do some analysis). The new API for vector
  access (using iterators) will require removal of the old API
  (select(), nextFeature()) in order to work well. And that means that
  virtually any functionality that uses layers' data has to be updated
  to new API. We need to break things in order to make threaded
  rendering work.
 
  The question is how to proceed and how to communicate that to users.
  The procedure could look like this:
  - set a date when we will start breaking API compatibility
  - create a tag in git that would be the last revision of master branch
  compatible with 1.x API
  - change plugin manager so that it allows only plugins that say qgis
  2.0 is the minimal version for them to run
  - change plugin installer so that it works only with new plugin
  repository and shows plugins for qgis 2.0
 
  Is there anything else we should consider? The point is to make the
  transition as smooth as possible for those using qgis-master.
 
  And what are your opinions when should we start with the breakage...
  in a month? in a week? tomorrow? now? :-)

 I think the fact that we are going to break API in 2.0 is well known
 and discussed often in releases, blogs, qgis hackfests etc. and is a
 general expectation when performing a major version numbering change.
 I think your approach is good (tag last api compatibility etc). As far
 as I am concerned we can go ahead with API breakage today. There are a
 number of other gut wrenching changes I would like to make for 2.0:

 - change theme to 'gis' theme by default
 - get rid of kids theme
 - rename default theme to 'legacy'
 - remove all deprecated api calls

 Many parts of our api have developed inconsistencies and I would like
 to spend some time putting my 'rpl' binary to good use trying to clean
 these up before we release. I think we should continue the practice of
 marking new api additions / changes with a @note added in 2.0  or
 @note replaces getLayerId in 2.0 etc. as far as possible so that
 people can adapt to our changes easily.

 Anyway +1 for API breakage from me - we will continue maintaining
 1.7.x for now anyway for those looking for stability. The number of
 things we can reasonable backport will shrink as we mess with the API
 but I don't see the impact to be too big.

 Regards

 Tim

  Martin
  ___
  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
 Churerstrasse 22, CH-8808 Pfäffikon SZ, 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




-- 
Alexander Bruy
___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [Qgis-developer] slow raster loading

2011-08-10 Thread Peter Borissow
Hi Tim-
    I understand that the stats are only gathered when needed. Still, I think 
users should have the option to compute stats and possibly other support files 
on load. This could be accomplished via a preference/setting or a pop-up 
dialog. In theory, you could have a thread pool to generate the support files 
in the background. The size of the thread pool could be determined by a user 
preference/setting.


Just a thought.

Take Care,

Peter




From: Tim Sutton li...@linfiniti.com
To: Peter Borissow peter.boris...@yahoo.com
Cc: Frank Warmerdam warmer...@pobox.com; qgis-developer 
qgis-developer@lists.osgeo.org
Sent: Wednesday, August 10, 2011 5:46 AM
Subject: Re: [Qgis-developer] slow raster loading

Hi

On Wed, Aug 10, 2011 at 12:20 AM, Peter Borissow
peter.boris...@yahoo.com wrote:
 Also, might be a good idea to spawn a separate thread to generate the aux
 file in the background...


It could be a possibility but the way things are set up now, stats are
only gathered when really needed, and if you need then for the
activity you are doing you would have to wait for them anyway. The
only merrit of using a separate thread would be if we decided to start
gathering complete stats on first load of a raster in the background
always so that they are preemptively there when the user does
something that needs stats. However I don't know if that is a good
idea - if you have many rasters in a project that need stats it will
spawn many threads and the IO / CPU overhead may be unpleasant.

Regards

Tim


 
 From: Frank Warmerdam warmer...@pobox.com
 To: Tim Sutton li...@linfiniti.com
 Cc: qgis-developer qgis-developer@lists.osgeo.org
 Sent: Tuesday, August 9, 2011 5:51 PM
 Subject: Re: [Qgis-developer] slow raster loading

 On Tue, Aug 9, 2011 at 2:37 PM, Tim Sutton li...@linfiniti.com wrote:

 Yes thats why I was asking if the file permissions exist to write the
 aux.xml. If they don't behaviour should be the same as prior to my
 native raster stats commits i.e. stats will be recalced each time you
 open a project / add a layer and trigger something that needs the
 stats.

 Tim, and others,

 By the way, there is a mechanism in GDAL to support storing .aux.xml
 information in an alternative directory when the file cannot be
 created on the target directory due to permissions, read-only media, etc.

 This is enabled by setting the GDAL_PAM_PROXY_DIR option to
 point to a directory where files can be written.  If there is a place
 known to QGIS that would be good for this, it might make sense
 to take advantage of this.

 Best regards,
 --
 ---+--
 I set the clouds in motion - turn up   | Frank Warmerdam,
 warmer...@pobox.com
 light and sound - activate the windows | http://pobox.com/~warmerdam
 and watch the world go round - Rush    | Geospatial Software Developer
 ___
 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] Breaking API and merge of threading branch

2011-08-10 Thread Martin Dobias
On Wed, Aug 10, 2011 at 12:41 PM, Paolo Cavallini cavall...@faunalia.it wrote:
 Il 10/08/2011 12:32, Tim Sutton ha scritto:

 Anyway +1 for API breakage from me - we will continue maintaining
 1.7.x for now anyway for those looking for stability. The number of
 things we can reasonable backport will shrink as we mess with the API
 but I don't see the impact to be too big.

 +1 to break API
 I think:
 - from a power user point of view (and for plugin writers), the largest 
 impact will
 be in loosing (and having to rewrite) a lot of plugins, at least for several 
 weeks or
 months; for this, I think it is very important to move *before breakage* all 
 the
 plugins (if the authors agree) to the new infrastructure, so devs could help 
 each
 other migrating to new API

I do not see a reason for migrating the plugins - this should be a
task of the individual authors. If an author has disappeared but the
plugin is useful, someone will probably start maintaining it and
upload it to the new repository. This is how it works with OSS
everywhere. Let's avoid a massive import of plugins that do not work
correctly due to API changes and without an active maintainer.

 - it would be good to have 1.8 binaries for major distros before the 
 breakage, so
 people willing to use new features *and* existing plugins will be happy.

We did not really plan to make a 1.8 release. I am a bit afraid that
preparing another release might distract us from the road to 2.0.
Anyway this is a question for the release manager.

Martin
___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [Qgis-developer] Breaking API and merge of threading branch

2011-08-10 Thread Borys Jurgiel
Dnia środa, 10 sierpnia 2011 o 11:58:38 Martin Dobias napisał(a):

 - change plugin installer so that it works only with new plugin
 repository and shows plugins for qgis 2.0

You mean blocking all the 3rd party repositories? Or just the two central 
ones? 
___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [Qgis-developer] Breaking API and merge of threading branch

2011-08-10 Thread Paolo Cavallini
Il 10/08/2011 13:30, Martin Dobias ha scritto:

 We did not really plan to make a 1.8 release. I am a bit afraid that
 preparing another release might distract us from the road to 2.0.

Agreed, I did not mean to have a formal release, just a quick snapshot before
breakage. I'm sure someone will find it useful.
All the best.
-- 
Paolo Cavallini: http://www.faunalia.it/pc
___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [Qgis-developer] Breaking API and merge of threading branch

2011-08-10 Thread Martin Dobias
On Wed, Aug 10, 2011 at 1:40 PM, Borys Jurgiel li...@borysjurgiel.pl wrote:
 Dnia środa, 10 sierpnia 2011 o 11:58:38 Martin Dobias napisał(a):

 - change plugin installer so that it works only with new plugin
 repository and shows plugins for qgis 2.0

 You mean blocking all the 3rd party repositories? Or just the two central
 ones?

I actually meant that the button add 3rd party repositories would go
away and the new repository would show up (in new installations). IIRC
this is in line with what we agreed on at hackfest: to encourage
plugin developers to use the new official plugin repository for all
public plugins.

I know we are still missing a simple tool for uploading new versions
of plugins without having to upload them manually - since this was
IMHO the main reason why people preferred to use their own
repositories. But such a tool will not be hard to create - we only
need the plugin repository to provide an API that would authorize the
user and upload the plugin in one step (to avoid parsing HTML pages,
doing authorization etc in several steps).

Martin
___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [Qgis-developer] slow raster loading

2011-08-10 Thread Etienne Tourigny
Hi all,

I had noticed the slow loading you refer to, when I got a copy of the master 
branch last week,  but it seems to be fixed now.

If you opened a raster from the command-line (i.e. qgis file.tif), the raster 
stats were fetched (and stored in the .aux.xml file) automatically, hence the 
delay.


Now the proper behaviour is happening, i.e. the stats are only calculated upon 
demand (such as when opening the histogram tab).


The Object::connect: No such signal problem is unrelated, and I have been 
seeing it ever since using 1.7.  This should definitely get fixed...




- Original Message -
From: Giovanni Manghi giovanni.man...@gmail.com
To: Tim Sutton li...@linfiniti.com
Cc: qgis-developer qgis-developer@lists.osgeo.org
Sent: Tuesday, August 9, 2011 8:57:48 PM
Subject: Re: [Qgis-developer] slow raster loading

Hi Tim,


 This may be fixed via a patch given to me by Etienne Sky - please let
 me know if it still does it.


just tested your last commit and I still see

Warning: Object::connect: No such signal
QgsGdalProvider::statusChanged( QString )
in /home/gio/qgis-Quantum-GIS-4b4820e/src/core/raster/qgsrasterlayer.cpp:2446


 Yes thats why I was asking if the file permissions exist to write the
 aux.xml. If they don't behaviour should be the same as prior to my
 native raster stats commits i.e. stats will be recalced each time you
 open a project / add a layer and trigger something that needs the
 stats.


I copied a geotiff in a folder with no write permissions and it took a
lot of time to open the raster, much more than it used to take when
opening the same image the first time in a folder with write
permissions.

Then I compiled QGIS with your last commit and now it seems it is not
collecting stats/creating the aux.xml file anymore.

cheers

-- Giovanni --

___
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] QGIS browser

2011-08-10 Thread Etienne Tourigny
I think the Browser is great, but I would suggest to have a way to update 
directory contents, with either a refresh button/command, or when the user 
opens a folder after collapsing it.


regards, Etienne


- Original Message -
From: Paolo Cavallini cavall...@faunalia.it
To: qgis-developer qgis-developer@lists.osgeo.org
Cc: 
Sent: Monday, August 8, 2011 7:29:20 AM
Subject: [Qgis-developer] QGIS browser

Hi all.
I'm testing the new browser; a great improvement. A few issues (I'm not sure if 
I'm
missing something here):
- drag and drop works on the legend, not on the canvas
- it does not work for WMS layers
- WFS are not listed
Furthermore, when dragging a tiff on the legend, QGIS freezes with:
  self.coordXform = QgsCoordinateTransform(renderer.destinationSrs(),
QgsCoordinateReferenceSystem(4326))
Warning: Object::connect: No such signal QgsGdalProvider::statusChanged( 
QString ) in
/storage/build/Quantum-GIS/src/core/raster/qgsrasterlayer.cpp:2446

All the best.
-- 
Paolo Cavallini: http://www.faunalia.it/pc
___
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] osgearth in Debian

2011-08-10 Thread Marco Bernasocchi

On 08/10/2011 03:45 PM, Paolo Cavallini wrote:

http://lists.alioth.debian.org/pipermail/pkg-grass-devel/2011-August/010863.html
so I guess now the Debian package could include also the globe, right?
thanks.

exactly
ciao
___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [Qgis-developer] osgearth in Debian

2011-08-10 Thread Paolo Cavallini
Il 10/08/2011 18:40, Marco Bernasocchi ha scritto:

 exactly

who can change the debian/control then?
all the best.
-- 
Paolo Cavallini: http://www.faunalia.it/pc
___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [Qgis-developer] Breaking API and merge of threading branch

2011-08-10 Thread Sergey Yakushev
Hi.

 
 And what are your opinions when should we start with the breakage...
 in a month? in a week? tomorrow? now? :-)
 

+1 for starting now.

I think the Road graph plugin should be excluded from the targets of buildings 
when the broken API compatibility. Then, I'll post a patch and fix any problems.

--
С уважением Якушев Сергей yakush...@list.ru
___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [Qgis-developer] osgearth in Debian

2011-08-10 Thread Pirmin Kalberer
Am Mittwoch, 10. August 2011, 15.45:14 schrieb Paolo Cavallini:
 http://lists.alioth.debian.org/pipermail/pkg-grass-devel/2011-August/010863
 .html so I guess now the Debian package could include also the globe,
 right? thanks.

We should wait a day or two. The Debian packages are not yet installed into 
the pool locations (http://incoming.debian.org/) and there are some differences 
to the Ubuntu packages. The Debian people wished to rename some packages. I 
will upload the same version as in Debian to ubuntugis tonight or tomorrow 
night by latest.

Regards
Pirmin

-- 
Pirmin Kalberer
Sourcepole  -  Linux  Open Source Solutions
http://www.sourcepole.com
___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [Qgis-developer] Breaking API and merge of threading branch

2011-08-10 Thread Charlie Sharpsteen
On Wed, Aug 10, 2011 at 3:32 AM, Tim Sutton li...@linfiniti.com wrote:

 I think the fact that we are going to break API in 2.0 is well known
 and discussed often in releases, blogs, qgis hackfests etc. and is a
 general expectation when performing a major version numbering change.
 I think your approach is good (tag last api compatibility etc). As far
 as I am concerned we can go ahead with API breakage today. There are a
 number of other gut wrenching changes I would like to make for 2.0:

 - change theme to 'gis' theme by default
 - get rid of kids theme
 - rename default theme to 'legacy'
 - remove all deprecated api calls

 Many parts of our api have developed inconsistencies and I would like
 to spend some time putting my 'rpl' binary to good use trying to clean
 these up before we release. I think we should continue the practice of
 marking new api additions / changes with a @note added in 2.0  or
 @note replaces getLayerId in 2.0 etc. as far as possible so that
 people can adapt to our changes easily.

 Anyway +1 for API breakage from me - we will continue maintaining
 1.7.x for now anyway for those looking for stability. The number of
 things we can reasonable backport will shrink as we mess with the API
 but I don't see the impact to be too big.

 Regards

 Tim


Since backwards-incompatible changes are being discussed, may I also suggest
that we update PyQGIS to use version 2 of the SIP apis for QString and
QVariant?

The version 2 API is much more Pythonic and has better support for Unicode
and Python 3. It is also the only version that is compatible with PySide.
Because of this, many GUI components that use the Enthought scientific
python modules are only compatible with version 2 of the SIP APIs. Notable
projects include Matplotlib and IPython.

More information on why using API v2 is a good idea can be found here:

  http://www.pyside.org/docs/pseps/psep-0101.html


Updating to the new SIP API should be a simple matter of adding:

import sip
sip.setapi('QString', 2)
sip.setapi('QVariant', 2)

To the startup routine for the Python kernel before any PyQt libraries are
added. All Python plugins that use QString or QVariant would have to replace
these with plain Python strings and dicts.

Thoughts?

-Charlie
___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [Qgis-developer] Breaking API and merge of threading branch

2011-08-10 Thread Ramon Andinach

On 10/08/2011, at 19:47 , Paolo Cavallini wrote:

 Il 10/08/2011 13:30, Martin Dobias ha scritto:
 
 We did not really plan to make a 1.8 release. I am a bit afraid that
 preparing another release might distract us from the road to 2.0.
 
 Agreed, I did not mean to have a formal release, just a quick snapshot before
 breakage. I'm sure someone will find it useful.
 All the best.

I have but two questions for this thread, and it's more a user question than a 
developer question (and if I thought like the later, I'd probably be able to 
answer it myself).

I recall discussion of a 1.7.1 backport type release, to cover the major bugs 
that weren't sorted in time for the 1.7 release.
Is that still on?
If so, does this affect the possibility of a 1.7.1 release?

Just curiosity. 1.7 is doing a good job of what I need it for - so many thanks.
-ramon.

___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer