[GRASS-user] v.generalize: does it take forever?

Markus Neteler neteler at osgeo.org
Wed Dec 31 06:23:54 PST 2014


On Sun, Dec 28, 2014 at 8:04 PM, Fábio Dias <fabio.dias at gmail.com> wrote:
> Hello all,
>
> Context: I've loaded some shp files into postgis, containing
> information over the amazon forest. For reference, the sql script has
> around 6Gb.

How many polygons do you have there approximately?

> Problem: I managed do import, clean and dissolve properly, but when I
> run the generalization, by my estimates, it would take almost an year
> to complete.

This will also depend on the generalization method you selected.

> I also noticed that neither grass nor postgis are capable of parallel
> processing...

Yeah, hot topic for 2015 :-) Indeed, worth a thesis in my view!

> Question: Am I using the correct tool for that? Is there a way to
> speed up the processing?
>
> For reference, the commands i've used (grass70, beta4, 22 dez 2014):

(Glad you use beta4, so we have a recent code base to check.)

> v.in.ogr -e --verbose input="pg:host=localhost (...)" layer=ap10
> output=ap10 snap=1e-6

--> Please tell us how many polygons or lines the layer "ap10" contains.

> v.clean -c --verbose input=ap10 output=ap10c tool=bpol,break,rmsa type=line

--> Not sure but should type be "boundary" or "line"?

> v.dissolve --verbose input=ap10c column=tc_2010 output=ap10d --overwrite

--> How many polygons does "ap10d" contain?

> Try #1 )   v.generalize --verbose --overwrite input=ap10d output=ap10r
> method=reduction threshold=0.00025 --overwrite
> Try #2 )   v.generalize --verbose --overwrite input=ap10d output=ap10g
> method=douglas threshold=0.00025 --overwrite

I suppose that method=douglas is faster that method=reduction?

What is the projection you are working with? Given the threshold and
assuming LatLong, I get a short distance:

GRASS 7.1.svn (latlong):~ > g.region -g res=0.00025 -a
n=4.15
s=-16.369
w=-76.23975
e=-45.1125
nsres=0.00025
ewres=0.00025
...

GRASS 7.1.svn (latlong):~ > g.region -m...
nsres=27.64959657
ewres=27.21883498
...

Probably you want to try a larger threshold first?

Markus


More information about the grass-user mailing list