I have a big problem with my vector dataset (more than 1 million entities) and v.generalize in grass 7.0.5 and 6.4 (64 bits for both). I try to use Douglas method on this dataset but it is very very slow and I'm searching how to improve this treatment.

Firstly, i can't split my dataset for this job and I must conserve the topology.

For test, I use the lsat7_2000_80 raster from North Carolina data set for grass 7. Firstly, i vectorise (r.to.vect) this raster in areas with -s flag (smooth corners). I got 1642301 vertices for 224752 areas. Secondly, I use v.generalize with douglas method and treshold 15 meters. This step take 48 minutes (i5 2.6ghz, 8go ram on windows 7 64bits and Ubuntu 16.04 64 bits) and i search how accelerate it.

Does anyone have an idea on how to increase the speed of this tool?

  • 2
    Million features is not anything to call as massive nowadays. Give more details about the data and your computer. Also repeat your tests with some publicly available dataset so others can repeat the test. – user30184 Nov 19 '16 at 11:49
  • 1
    The performance characteristic of the Ramer-Douglas-Peucker algorithm is related to the number of vertices (O(N^2)). Please edit the question to specify the mean vertex count. – Vince Nov 19 '16 at 12:36
  • Good that you made a reproducible example. How long did v.generalize take on your computer? And, what exact GRASS version are you using? GRASS 7 should be significantly faster than 6.4. Furthermore, there can be performance differences between 7.0, 7.2 and 7.3. Also useful to know if you installed a 64bit version of GRASS and on what platform (Windows, Linux, Mac)? – Stefan B. Nov 20 '16 at 19:12
  • How did you really vectorize the panchromatic channel "lsat7_2000_80"? By applying a segmentation algorithm like i.segment? Please edit the question for this. – markusN Nov 27 '16 at 8:47
  • @markusN Hi, i vectorize with r.to.vect tool. For test, you can use any bands, because it's just to get a lot of different entities and simulate my dataset. – D.Dallery Nov 28 '16 at 16:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.