Re: [Qgis-developer] Suppress rendering of small features

2013-09-13 Thread kimaidou
Hi all

I also think dynamic scale-dependent simplification would be very nice but
for me ONLY if we can preserve topology when simplifying. If not, it would
lead to very uggly results
cf http://strk.keybit.net/blog/  for example

+1 for optionnaly remove small feature though, this will be good too !


2013/9/12 Vincent Mora vincent.m...@oslandia.com

 Hi,

 I did something somewhat similar to solve #4819 in Jully (Identify
 Features
 tool is slow with complex/big features) and Matthias asked me to do the
 same thing for the rubber-band.

 In polygon contours, points that are less than a pixel apart from the
 previous point are not drawn.

 That improved (dramatically) the rendering speed.

 Vincent


 On 12/09/2013 13:03, Sandro Santilli wrote:
  On Thu, Sep 12, 2013 at 08:51:43AM +0200, Andreas Neumann wrote:
  Hi,
 
  As I understand, the feature to suppress small/large features would be
  optional.
 
  Another interesting thing would be to simplify features when you zoom
  out. Maybe simplifying would be quicker than rendering thousands of
  unnecessary vertices. Optionally this could also be outsourced to the
  database - many databases support simplification on the db level. I
  don't know if it would really speed up things. One would have to test.
  I've done this for mapnik and it worked pretty nicely:
  http://blog.cartodb.com/post/20163722809/speeding-up-tiles-rendering
 
  --strk;
  ___
  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

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

Re: [Qgis-developer] Suppress rendering of small features

2013-09-13 Thread Matthias Kuhn

Hi,

We just discussed this and concluded, that the safest solution would be 
to only simplify for rendering and only when the resolution is small 
enough, that only points which will be painted on top of each other 
will be simplified away. (And then we should make some tests and see if 
it's actually worth it...)


Matthias

On Fri 13 Sep 2013 04:33:45 PM BST, kimaidou wrote:

Hi all

I also think dynamic scale-dependent simplification would be very nice
but for me ONLY if we can preserve topology when simplifying. If not,
it would lead to very uggly results
cf http://strk.keybit.net/blog/  for example

+1 for optionnaly remove small feature though, this will be good too !


2013/9/12 Vincent Mora vincent.m...@oslandia.com
mailto:vincent.m...@oslandia.com

Hi,

I did something somewhat similar to solve #4819 in Jully
(Identify Features
tool is slow with complex/big features) and Matthias asked me to
do the
same thing for the rubber-band.

In polygon contours, points that are less than a pixel apart from the
previous point are not drawn.

That improved (dramatically) the rendering speed.

Vincent


On 12/09/2013 13:03, Sandro Santilli wrote:
 On Thu, Sep 12, 2013 at 08:51:43AM +0200, Andreas Neumann wrote:
 Hi,

 As I understand, the feature to suppress small/large features
would be
 optional.

 Another interesting thing would be to simplify features when
you zoom
 out. Maybe simplifying would be quicker than rendering thousands of
 unnecessary vertices. Optionally this could also be
outsourced to the
 database - many databases support simplification on the db level. I
 don't know if it would really speed up things. One would have
to test.
 I've done this for mapnik and it worked pretty nicely:
 http://blog.cartodb.com/post/20163722809/speeding-up-tiles-rendering

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

___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org mailto: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



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


Re: [Qgis-developer] Suppress rendering of small features

2013-09-13 Thread Régis Haubourg
Hi, 
I have been following Vincent's solution since I funded #4819 resolution.
Pruning all vertexes under screen resolution is really a nice idea. I wasn't
sure that pruning vertex was less cpu consuming than rendering them, and now
it's proved. just use a very large object, and do a identify on it to see.. 

I think that on the fly vertex pruning is a better definition than
simplification process, since the rendering must be the same when viewed on
screen or on a paper output. 

That bug #4819 occured to be a blocker to us in since new hydro-geological
datasets have a crazy vertex density , and anticipates even more precise
resolutions. All datasets will be derived from high resolution data, but we
always need to render them with small scales.  

I'm wondering if we could something close to raster resampling, with
zoom-out/zoom-in factor and resampling methods (nearest neighbour, bicubic,
average). User could choose the rendering fuzziness factor when zoomed out.
Zoom in is probably something user do not wish (this could lead to bad
interpretations.)

Another possible direction I'm thinking of, is having the possibility to
have scale dependent, or better rule based, geometry field. Ie, use full
geometry field when zoomed in, and let user calibrate if other geometry
fields could be used when zoomed out. This is far less generic and elegant
than vertex pruning, but could be usefull with spatialDB, and particular
datasets...

Let us know what strategic direction you choose, and we can be there to
support you then.

Have good times you all in Brighton. 

Cheers, 
Régis
 



--
View this message in context: 
http://osgeo-org.1560.x6.nabble.com/Suppress-rendering-of-small-features-tp5077397p5077767.html
Sent from the Quantum GIS - Developer mailing list archive at Nabble.com.
___
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer

Re: [Qgis-developer] Suppress rendering of small features

2013-09-12 Thread Andreas Neumann
Hi,

As I understand, the feature to suppress small/large features would be
optional.

Another interesting thing would be to simplify features when you zoom
out. Maybe simplifying would be quicker than rendering thousands of
unnecessary vertices. Optionally this could also be outsourced to the
database - many databases support simplification on the db level. I
don't know if it would really speed up things. One would have to test.

Andreas



Am 12.09.2013 07:57, schrieb aperi2007:
 Not always is preferrable to suppress the small features.
 Often in our rendering we prefere to substitute a small rendering of
 kind polygon with a point rendering at lowest scales.
 
 This is possible using the Rule-Rendering
 also is possible to use the rule-rendering to define a rule that in a
 scale interval and with a dimension interval the feature is render using
 a point rendering and change in a polygon rendering when the scale grow.
 
 Andrea.
 
 On 12/09/2013 02:13, Nyall Dawson wrote:
 Hi all,

 I've been chatting with Nathan about adding a feature to QGIS which
 would allow suppression of rendering features smaller than a set
 threshold for vector layers. (There's already a similar function in
 the labelling engine Suppress labeling of features smaller than).
 This feature would come in handy for me for several tables which
 contain a wide range of very small - very large features, which cause
 slow rendering at small scales.

 I'm just checking that if I code this up it's not going to be
 duplicated effort - Nathan is under the impression that someone else
 has been talking about adding something similar. Is there currently
 any plans for a feature like this, or should I get started?

 Nyall





 ___
 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
 

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


Re: [Qgis-developer] Suppress rendering of small features

2013-09-12 Thread Luca Manganelli
On Thu, Sep 12, 2013 at 8:51 AM, Andreas Neumann a.neum...@carto.netwrote:

 [...] I don't know if it would really speed up things. One would have to
 test.


Programmers waste enormous amounts of time thinking about, or worrying
about, the speed of noncritical parts of their programs, and these attempts
at efficiency actually have a strong negative impact when debugging and
maintenance are considered. We should forget about small efficiencies, say
about 97% of the time: premature optimization is the root of all evil. Yet
we should not pass up our opportunities in that critical 3%.

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

Re: [Qgis-developer] Suppress rendering of small features

2013-09-12 Thread Matthias Kuhn
Hi,

How would you define small? I guess something can already be done with 
scale based visibility, but that needs preprocessing of the data and 
assigning some kind of size class.

On Don 12 Sep 2013 08:51:43 CEST, Andreas Neumann wrote:
 Hi,

 Another interesting thing would be to simplify features when you zoom
 out. Maybe simplifying would be quicker than rendering thousands of
 unnecessary vertices. Optionally this could also be outsourced to the
 database - many databases support simplification on the db level. I
 don't know if it would really speed up things. One would have to test.

I did a preliminary analysis for this.
I created a view on a postgis DB containing ~17000 line features with 
the geometry column simplified to 10m in the view.

*Non Simplified*
./output/bin/qgis_bench --iterations 20 --width 1024 --height 768 
bench-full.qgs
iterations: 20
total_avg: 0.4246
total_max: 0.657
total_maxdev: 0.2324
total_min: 0.407
total_stdev: 0.0535176606364665

*Simplified*
./output/bin/qgis_bench --iterations 20 --width 1024 --height 768 
bench-simplified.qgs
iterations: 20
total_avg: 0.09615
total_max: 0.098
total_maxdev: 0.001849998
total_min: 0.095
total_stdev: 0.000792148975887722

0.42 / 0.09 is more than 400% performance improvement for this simple 
case.

The results of course depend heavily on the particular setting, but I 
think this looks indeed like a road we should have a look into.

(Setup: PostGIS 2.0.3 in a kvm virtual machine on the same physical 
machine. No styling at all took place on the layer)

Matthias


 Andreas



 Am 12.09.2013 07:57, schrieb aperi2007:
 Not always is preferrable to suppress the small features.
 Often in our rendering we prefere to substitute a small rendering of
 kind polygon with a point rendering at lowest scales.

 This is possible using the Rule-Rendering
 also is possible to use the rule-rendering to define a rule that in a
 scale interval and with a dimension interval the feature is render using
 a point rendering and change in a polygon rendering when the scale grow.

 Andrea.

 On 12/09/2013 02:13, Nyall Dawson wrote:
 Hi all,

 I've been chatting with Nathan about adding a feature to QGIS which
 would allow suppression of rendering features smaller than a set
 threshold for vector layers. (There's already a similar function in
 the labelling engine Suppress labeling of features smaller than).
 This feature would come in handy for me for several tables which
 contain a wide range of very small - very large features, which cause
 slow rendering at small scales.

 I'm just checking that if I code this up it's not going to be
 duplicated effort - Nathan is under the impression that someone else
 has been talking about adding something similar. Is there currently
 any plans for a feature like this, or should I get started?

 Nyall





 ___
 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


 ___
 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] Suppress rendering of small features

2013-09-12 Thread Mathieu Pellerin
Could this be done using a rule-based expression through the creation of a
variable that returns the pixel-size area of a polygon / pixel-size length
of a line?


On Thu, Sep 12, 2013 at 3:28 PM, Matthias Kuhn matthias.k...@gmx.ch wrote:

 Hi,

 How would you define small? I guess something can already be done with
 scale based visibility, but that needs preprocessing of the data and
 assigning some kind of size class.

 On Don 12 Sep 2013 08:51:43 CEST, Andreas Neumann wrote:
  Hi,
 
  Another interesting thing would be to simplify features when you zoom
  out. Maybe simplifying would be quicker than rendering thousands of
  unnecessary vertices. Optionally this could also be outsourced to the
  database - many databases support simplification on the db level. I
  don't know if it would really speed up things. One would have to test.

 I did a preliminary analysis for this.
 I created a view on a postgis DB containing ~17000 line features with
 the geometry column simplified to 10m in the view.

 *Non Simplified*
 ./output/bin/qgis_bench --iterations 20 --width 1024 --height 768
 bench-full.qgs
 iterations: 20
 total_avg: 0.4246
 total_max: 0.657
 total_maxdev: 0.2324
 total_min: 0.407
 total_stdev: 0.0535176606364665

 *Simplified*
 ./output/bin/qgis_bench --iterations 20 --width 1024 --height 768
 bench-simplified.qgs
 iterations: 20
 total_avg: 0.09615
 total_max: 0.098
 total_maxdev: 0.001849998
 total_min: 0.095
 total_stdev: 0.000792148975887722

 0.42 / 0.09 is more than 400% performance improvement for this simple
 case.

 The results of course depend heavily on the particular setting, but I
 think this looks indeed like a road we should have a look into.

 (Setup: PostGIS 2.0.3 in a kvm virtual machine on the same physical
 machine. No styling at all took place on the layer)

 Matthias

 
  Andreas
 
 
 
  Am 12.09.2013 07:57, schrieb aperi2007:
  Not always is preferrable to suppress the small features.
  Often in our rendering we prefere to substitute a small rendering of
  kind polygon with a point rendering at lowest scales.
 
  This is possible using the Rule-Rendering
  also is possible to use the rule-rendering to define a rule that in a
  scale interval and with a dimension interval the feature is render using
  a point rendering and change in a polygon rendering when the scale grow.
 
  Andrea.
 
  On 12/09/2013 02:13, Nyall Dawson wrote:
  Hi all,
 
  I've been chatting with Nathan about adding a feature to QGIS which
  would allow suppression of rendering features smaller than a set
  threshold for vector layers. (There's already a similar function in
  the labelling engine Suppress labeling of features smaller than).
  This feature would come in handy for me for several tables which
  contain a wide range of very small - very large features, which cause
  slow rendering at small scales.
 
  I'm just checking that if I code this up it's not going to be
  duplicated effort - Nathan is under the impression that someone else
  has been talking about adding something similar. Is there currently
  any plans for a feature like this, or should I get started?
 
  Nyall
 
 
 
 
 
  ___
  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
 
 
  ___
  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

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

Re: [Qgis-developer] Suppress rendering of small features

2013-09-12 Thread Andreas Neumann
Hi Matthias,

Thank you for your preliminary results. I think they are encouraging to
further look into this issue.

Andreas

Am 12.09.2013 10:28, schrieb Matthias Kuhn:
 Hi,
 
 How would you define small? I guess something can already be done with 
 scale based visibility, but that needs preprocessing of the data and 
 assigning some kind of size class.
 
 On Don 12 Sep 2013 08:51:43 CEST, Andreas Neumann wrote:
 Hi,

 Another interesting thing would be to simplify features when you zoom
 out. Maybe simplifying would be quicker than rendering thousands of
 unnecessary vertices. Optionally this could also be outsourced to the
 database - many databases support simplification on the db level. I
 don't know if it would really speed up things. One would have to test.
 
 I did a preliminary analysis for this.
 I created a view on a postgis DB containing ~17000 line features with 
 the geometry column simplified to 10m in the view.
 
 *Non Simplified*
 ./output/bin/qgis_bench --iterations 20 --width 1024 --height 768 
 bench-full.qgs
 iterations: 20
 total_avg: 0.4246
 total_max: 0.657
 total_maxdev: 0.2324
 total_min: 0.407
 total_stdev: 0.0535176606364665
 
 *Simplified*
 ./output/bin/qgis_bench --iterations 20 --width 1024 --height 768 
 bench-simplified.qgs
 iterations: 20
 total_avg: 0.09615
 total_max: 0.098
 total_maxdev: 0.001849998
 total_min: 0.095
 total_stdev: 0.000792148975887722
 
 0.42 / 0.09 is more than 400% performance improvement for this simple 
 case.
 
 The results of course depend heavily on the particular setting, but I 
 think this looks indeed like a road we should have a look into.
 
 (Setup: PostGIS 2.0.3 in a kvm virtual machine on the same physical 
 machine. No styling at all took place on the layer)
 
 Matthias
 

 Andreas



 Am 12.09.2013 07:57, schrieb aperi2007:
 Not always is preferrable to suppress the small features.
 Often in our rendering we prefere to substitute a small rendering of
 kind polygon with a point rendering at lowest scales.

 This is possible using the Rule-Rendering
 also is possible to use the rule-rendering to define a rule that in a
 scale interval and with a dimension interval the feature is render using
 a point rendering and change in a polygon rendering when the scale grow.

 Andrea.

 On 12/09/2013 02:13, Nyall Dawson wrote:
 Hi all,

 I've been chatting with Nathan about adding a feature to QGIS which
 would allow suppression of rendering features smaller than a set
 threshold for vector layers. (There's already a similar function in
 the labelling engine Suppress labeling of features smaller than).
 This feature would come in handy for me for several tables which
 contain a wide range of very small - very large features, which cause
 slow rendering at small scales.

 I'm just checking that if I code this up it's not going to be
 duplicated effort - Nathan is under the impression that someone else
 has been talking about adding something similar. Is there currently
 any plans for a feature like this, or should I get started?

 Nyall





 ___
 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


 ___
 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] Suppress rendering of small features

2013-09-12 Thread Nyall Dawson
 This is possible using the Rule-Rendering
 also is possible to use the rule-rendering to define a rule that in a
 scale interval and with a dimension interval the feature is render using
 a point rendering and change in a polygon rendering when the scale grow.


While it is possible to set up rules to achieve a similar result, it's
quite a lot of work. It's also important to note that the feature I
propose would mean it's still possible to use graduated or categorized
renderers on a layer - again, the end result (scale/sized based
filtering together with categorized rendering) would be achievable by
creating a bunch of rules, but it would be a lot of work and the end
result would be much more rigid

 As I understand, the feature to suppress small/large features would be
 optional.


Yes - definitely optional and off by default!

 How would you define small? I guess something can already be done with
 scale based visibility, but that needs preprocessing of the data and
 assigning some kind of size class.

I'm thinking of using the same method as the Suppress labelling of
features smaller than feature from the labelling engine. This gives
you a choice of feature size in mm to use as a threshold, and in my
experience works quite well.

I think it's important to note that hiding small features isn't just
about a performance win - it's also useful from a cartographic
perspective. My main use case involves a large water body dataset I
frequently use, which contains everything from large lakes and inlets
to very small dams and reservoirs. I need to have the large features
show up at all scales, but I don't want all these smaller features
cluttering up my map at small scales. This feature would mean I could
easily hide the little lakes from my map at small scales, but they'd
show up as I zoom in.
Sure, this could all be done by assigning a hierarchy to the features
and setting up a bunch of rules in a rule based renderer - but it
would be so much quicker and easier to just tick a box and tweak the
threshold size to suit.

 Another interesting thing would be to simplify features when you zoom
 out. Maybe simplifying would be quicker than rendering thousands of
 unnecessary vertices.

Wasn't there a summer of code project with this goal a few years back?
Does anyone know what the outcome of that project was?

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


Re: [Qgis-developer] Suppress rendering of small features

2013-09-12 Thread Alexander Bruy
Hi,

I raised similar question about year ago, but instead hiding small features
I propose to do simplification. I also implemented some test code and
results were pretty good — redraw is quicker in several times. But my code
still hacky and not optimal.

Also there were GSoC project, but it was not completed. If you interested,
I can try to find code.

2013/9/12 Nyall Dawson nyall.daw...@gmail.com:
 This is possible using the Rule-Rendering
 also is possible to use the rule-rendering to define a rule that in a
 scale interval and with a dimension interval the feature is render using
 a point rendering and change in a polygon rendering when the scale grow.


 While it is possible to set up rules to achieve a similar result, it's
 quite a lot of work. It's also important to note that the feature I
 propose would mean it's still possible to use graduated or categorized
 renderers on a layer - again, the end result (scale/sized based
 filtering together with categorized rendering) would be achievable by
 creating a bunch of rules, but it would be a lot of work and the end
 result would be much more rigid

 As I understand, the feature to suppress small/large features would be
 optional.


 Yes - definitely optional and off by default!

 How would you define small? I guess something can already be done with
 scale based visibility, but that needs preprocessing of the data and
 assigning some kind of size class.

 I'm thinking of using the same method as the Suppress labelling of
 features smaller than feature from the labelling engine. This gives
 you a choice of feature size in mm to use as a threshold, and in my
 experience works quite well.

 I think it's important to note that hiding small features isn't just
 about a performance win - it's also useful from a cartographic
 perspective. My main use case involves a large water body dataset I
 frequently use, which contains everything from large lakes and inlets
 to very small dams and reservoirs. I need to have the large features
 show up at all scales, but I don't want all these smaller features
 cluttering up my map at small scales. This feature would mean I could
 easily hide the little lakes from my map at small scales, but they'd
 show up as I zoom in.
 Sure, this could all be done by assigning a hierarchy to the features
 and setting up a bunch of rules in a rule based renderer - but it
 would be so much quicker and easier to just tick a box and tweak the
 threshold size to suit.

 Another interesting thing would be to simplify features when you zoom
 out. Maybe simplifying would be quicker than rendering thousands of
 unnecessary vertices.

 Wasn't there a summer of code project with this goal a few years back?
 Does anyone know what the outcome of that project was?

 Nyall
 ___
 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] Suppress rendering of small features

2013-09-12 Thread Sandro Santilli
On Thu, Sep 12, 2013 at 08:51:43AM +0200, Andreas Neumann wrote:
 Hi,
 
 As I understand, the feature to suppress small/large features would be
 optional.
 
 Another interesting thing would be to simplify features when you zoom
 out. Maybe simplifying would be quicker than rendering thousands of
 unnecessary vertices. Optionally this could also be outsourced to the
 database - many databases support simplification on the db level. I
 don't know if it would really speed up things. One would have to test.

I've done this for mapnik and it worked pretty nicely:
http://blog.cartodb.com/post/20163722809/speeding-up-tiles-rendering

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


Re: [Qgis-developer] Suppress rendering of small features

2013-09-12 Thread Vincent Mora
Hi,

I did something somewhat similar to solve #4819 in Jully (Identify Features
tool is slow with complex/big features) and Matthias asked me to do the
same thing for the rubber-band.

In polygon contours, points that are less than a pixel apart from the
previous point are not drawn.

That improved (dramatically) the rendering speed.

Vincent


On 12/09/2013 13:03, Sandro Santilli wrote:
 On Thu, Sep 12, 2013 at 08:51:43AM +0200, Andreas Neumann wrote:
 Hi,

 As I understand, the feature to suppress small/large features would be
 optional.

 Another interesting thing would be to simplify features when you zoom
 out. Maybe simplifying would be quicker than rendering thousands of
 unnecessary vertices. Optionally this could also be outsourced to the
 database - many databases support simplification on the db level. I
 don't know if it would really speed up things. One would have to test.
 I've done this for mapnik and it worked pretty nicely:
 http://blog.cartodb.com/post/20163722809/speeding-up-tiles-rendering

 --strk;
 ___
 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


[Qgis-developer] Suppress rendering of small features

2013-09-11 Thread Nyall Dawson
Hi all,

I've been chatting with Nathan about adding a feature to QGIS which would
allow suppression of rendering features smaller than a set threshold for
vector layers. (There's already a similar function in the labelling engine
Suppress labeling of features smaller than). This feature would come in
handy for me for several tables which contain a wide range of very small -
very large features, which cause slow rendering at small scales.

I'm just checking that if I code this up it's not going to be duplicated
effort - Nathan is under the impression that someone else has been talking
about adding something similar. Is there currently any plans for a feature
like this, or should I get started?

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

Re: [Qgis-developer] Suppress rendering of small features

2013-09-11 Thread aperi2007

Not always is preferrable to suppress the small features.
Often in our rendering we prefere to substitute a small rendering of 
kind polygon with a point rendering at lowest scales.


This is possible using the Rule-Rendering
also is possible to use the rule-rendering to define a rule that in a 
scale interval and with a dimension interval the feature is render using 
a point rendering and change in a polygon rendering when the scale grow.


Andrea.

On 12/09/2013 02:13, Nyall Dawson wrote:

Hi all,

I've been chatting with Nathan about adding a feature to QGIS which 
would allow suppression of rendering features smaller than a set 
threshold for vector layers. (There's already a similar function in 
the labelling engine Suppress labeling of features smaller than). 
This feature would come in handy for me for several tables which 
contain a wide range of very small - very large features, which cause 
slow rendering at small scales.


I'm just checking that if I code this up it's not going to be 
duplicated effort - Nathan is under the impression that someone else 
has been talking about adding something similar. Is there currently 
any plans for a feature like this, or should I get started?


Nyall





___
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