[GRASSLIST:7177] Re: v.in.ascii out of memory
Hamish
hamish_nospam at yahoo.com
Wed Jun 15 23:42:02 EDT 2005
> I'm trying to import a somewhat large file of 24.8 million LIDAR
> points (866MB) into GRASS 6.1 (11 Jun CVS) using v.in.ascii
Status: (all due to memory limitations [ie leaks])
GRASS 6.0.0's v.in.ascii ~ 100k points
GRASS 6.1-cvs v.in.ascii ~ 3M points (you)
> File format is just a list of easting, northing, and elevation in NC
> state-plane.
>
> 1939340.8400,825793.8900,657.2200
> 1939071.9500,825987.7800,660.2200
> 1939035.5200,826013.9700,662.4600
> 1938762.4500,826210.1500,686.2800
>
>
> I'm using
>
> v.in.ascii -z input=strip_09.txt output=g6Npts fs=, z=3
try with -t too. No need to create a table if you have no attributes!
> and I get the following:
>
> Maximum input row length: 34
> Maximum number of columns: 3
> Minimum number of columns: 3
>
> Building topology ...
> Registering lines: ERROR: G_realloc: out of memory
>
> There shouldn't be any lines to register. This is just a list of
> points. Any ideas?
I've seen the same thing. Not sure if it has to know everything to
build topology or if it is a memory leak. I think it's a leak.
I did some tests with valgrind back in March. Radim plugged the biggest
leak, but I think "Registering Lines.." still has one too.
see this thread:
http://article.gmane.org/gmane.comp.gis.grass.devel/7212/
> I have imported close to 500 million points in GRASS 5.4 using
> s.in.ascii, but I don't know why things are crashing in the new vector
> format.
GRASS 5.4 stored sites in a simple ASCII file-- the limit was whatever
your filesystem/OS could handle. Vector points in GRASS 6 is a 100%
different implementation.
> I have tested v.in.ascii upto 3 million points.
>
> I'm running on a Fedora Core 3 Linux with a 2.6 kernel, 1GB of
> physical memory and 8GB of swap.
Note you can add more swap memory to Linux on the fly, see:
http://grass.itc.it/pipermail/grassuser/2002-February/006072.html
> At three million points, I noticed that I'm using over 1GB of memory.
> Is it trying to build the entire topology in memory? I don't need to
> build any topology for a set of points. Is there a way to turn this
> off?
>
> In 5.4 I was developing a scalable version of s.surf.rst that could
> interpolate surfaces on over 500 million points, but now I can't even
> import that many points into a vector/site format.
>
> Comments/Suggestions?
a) Try adding more swap.
b) We need to fix the leak. (more valgrind)
let us know how you get on.
Hamish
More information about the grass-user
mailing list