[GRASS-dev] v.dissolve confusion

Any suggestions about what is wrong with either of the versions of this dissolve command?

v.dissolve --overwrite input=alcala_subsectors@SAA2024 column=ID output=alcala_subsectors_dissolved@SAA2024 aggregate_columns=group_concat(REGION),max(STRATUM),max(SECTOR),avg(SUBSECTOR),group_concat(SECTOR_ID),sum(AREA),group_concat(SURVEYED),avg(IDNUM) result_columns=“region TEXT,stratum INTEGER,sector INTEGER,subsector REAL,sector_ID TEXT,area REAL,surveyed TEXT,IDnum REAL”

v.dissolve --overwrite input=alcala_subsectors@SAA2024 column=ID output=alcala_subsectors_dissolved@SAA2024 aggregate_columns=group_concat(REGION),max(STRATUM),max(SECTOR),avg(SUBSECTOR),group_concat(SECTOR_ID),sum(AREA),group_concat(SURVEYED),avg(IDNUM) result_columns=“region,stratum,sector,subsector,sector_ID,area,surveyed,IDnum”

I’m trying to maintain my attribute table because of the great difficulty in reconnecting it. In both cases, I get the error:
Option <result_columns> requires all of <aggregate_columns>

I have the same number of result columns as I do aggregate columns with equivalent data types.

I have 8 columns (dissolved by the 9th column ID):
region TEXT
stratum INTEGER
sector INTEGER
subsector REAL
sector_ID TEXT
area REAL
surveyed TEXT
IDnum REAL

Michael


C. Michael Barton
Associate Director, School of Complex Adaptive Systems (https://scas.asu.edu)
Professor, School of Human Evolution & Social Change (https://shesc.asu.edu)
Director, Center for Social Dynamics & Complexity (https://complexity.asu.edu)
Arizona State University
Tempe, AZ 85287-2701
USA

Executive Director, Open Modeling Foundation (https://openmodelingfoundation.github.io)
Director, Network for Computational Modeling in Social & Ecological Sciences (https://comses.net)

personal website: http://www.public.asu.edu/~cmbarton

Hi Michael,

On Fri, 15 Mar 2024 at 20:00, Michael Barton via grass-dev <grass-dev@lists.osgeo.org> wrote:

Any suggestions about what is wrong with either of the versions of this dissolve command?

v.dissolve --overwrite input=alcala_subsectors@SAA2024 column=ID output=alcala_subsectors_dissolved@SAA2024 aggregate_columns=group_concat(REGION),max(STRATUM),max(SECTOR),avg(SUBSECTOR),group_concat(SECTOR_ID),sum(AREA),group_concat(SURVEYED),avg(IDNUM) result_columns=“region TEXT,stratum INTEGER,sector INTEGER,subsector REAL,sector_ID TEXT,area REAL,surveyed TEXT,IDnum REAL”

What I can say based on this command is that the equivalent command from the manual page for NC SPM sample dataset works both in terminal and GUI (and a similar one runs through Python in CI). So, a minimal reproducible example would be needed.

In both cases, I get the error:
Option <result_columns> requires all of <aggregate_columns>

However, perhaps this will help: This message comes from the command line parser. This means that the parameter validation fails even before this hits any of the code specific for v.dissolve. This is the parser simply reading and enforcing the line “requires_all: result_columns,aggregate_columns” which says if result_columns is provided, aggregate_columns must be provided too. Given that the parser does not go beyond checking the presence of parameters here, it is highly unlikely that specific data would trigger an issue. So, maybe double check your inputs before creating a minimal reproducible example.

Best,
Vaclav