[GRASS-user] v.dissolve bugfeature / workaround needed
Moritz Lennert
mlennert at club.worldonline.be
Wed Aug 6 10:41:35 EDT 2008
On 06/08/08 15:09, peter.loewe at gmx.de wrote:
> Hello list,
>
> i am using GRASS 6.4svn to merge adjacent poylgons into larger units.
> The merging is controlled by a column of type CHAR:
>
> v.dissolve input=counties output=counties_merged_fips1 column=FIPS_1
>
>
> results in dbmi: Protocol error ERROR: Cannot open select cursor:
> SELECT cat, FIPS_1 FROM counties ORDER BY FIPS_1 ERROR: Unable to
> open vector map <counties_fips1_22157 at admin_borders> on topology
> level 2 WARNING: Table <counties_fips1_22157> linked to vector map
> <counties_fips1_22157> does not exist ERROR: Vector map
> <counties_fips1> not found in the current mapset
>
> v.dissolve works correctly when applied to an INT column.
>
> I assume this is a bugfeature -
v.dissolve is only a frontend script to v.reclass which needs ints...
> string-based dissolving would be
> great to have at some point.
+1
>
> For now, does anybody have a (DBdriver-)SQL-hack to transmogrify
> strings like "GRASS001", "GRASS002", "GRASS003" into the Integers
> 1,2,3 ? (aka getting rid of the "GRASS"-part of the string) ?
If you absolutely need to work with the dbf-driver, then I guess you
best bet would be to open the dbf file in OpenOffice Calc and use its
functions.
If you can switch over to SQLite, I think the ltrim function should do
what you need.
More full-fledged SQL-backends obviously have more sophisticated functions.
Moritz
More information about the grass-user
mailing list