[GRASS-dev] [GRASS GIS] #859: v.patch: category abuse
GRASS GIS
trac at osgeo.org
Fri Jan 8 10:20:47 EST 2010
#859: v.patch: category abuse
---------------------+------------------------------------------------------
Reporter: hamish | Owner: grass-dev at lists.osgeo.org
Type: defect | Status: new
Priority: normal | Milestone: 6.4.1
Component: Vector | Version: svn-develbranch6
Keywords: v.digit | Platform: Linux
Cpu: x86-64 |
---------------------+------------------------------------------------------
Hi,
I am trying to patch together a couple hundred individual lines into a
single map. Each line has been given a unique category number so that when
their (identical) tables are merged they will not conflict.
after creating an empty vector with v.in.ascii and creating a matching
table for it, the patch loop looks like this:
{{{
for MAP in `g.mlist vect pattern="track_*"` ; do
v.patch -a -e in="$MAP" out=tracks --overwrite --quiet
done
}}}
g.mlist+v.db.select for some input maps:
{{{
cat|filename
10101|M02-001-0101
10224|M02-001-0224
10346|M02-001-0346
12305|M02-001-2305
20044|M02-002-0044
20209|M02-002-0209
20333|M02-002-0333
20458|M02-002-0458
20650|M02-002-0650
20813|M02-002-0813
20944|M02-002-0944
21112|M02-002-1112
21253|M02-002-1253
21434|M03-002-1434
21557|M03-002-1557
21721|M03-002-1721
21854|M03-002-1854
}}}
v.db.select for v.patch output:
{{{
cat|filename
10102|M02-001-0101
20327|M02-001-0224
30674|M02-001-0346
42980|M02-001-2305
63025|M02-002-0044
83235|M02-002-0209
103569|M02-002-0333
124028|M02-002-0458
144679|M02-002-0650
165493|M02-002-0813
186438|M02-002-0944
207551|M02-002-1112
228805|M02-002-1253
250240|M03-002-1434
271798|M03-002-1557
293520|M03-002-1721
315375|M03-002-1854
}}}
you can see that the category value in the output patch becomes:
{{{
1 + map1
1 + map1 + 1 + map2
1 + map1 + 1 + map2 + 1 + map3
.
.
.
}}}
how to make max_cat() or what ever is doing it stop?
* I cannot guarantee that input maps arrive sorted by cat, smallest to
largest.
* It has to check if the cat is already used, if so it has to decide what
to do with existing database attributes. Probably exit with a fatal error.
* I suppose this needs a flag: you either care to preserve the cat but
accept fatal errors and a small time penalty; or you don't mind
reassigning cats to avoid fatal errors.
thanks,
Hamish
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/859>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list