[GRASS-dev] [GRASS GIS] #2386: wxGUI: check for old vector topology format

#2386: wxGUI: check for old vector topology format
-------------------------+--------------------------------------------------
Reporter: martinl | Owner: grass-dev@…
     Type: task | Status: new
Priority: critical | Milestone: 7.0.0
Component: wxGUI | Version: unspecified
Keywords: v.build.all | Platform: Unspecified
      Cpu: Unspecified |
-------------------------+--------------------------------------------------
Hi, I would assume that a common problem for users switching from G6 to G7
will be a new vector topo format. When opening vector data in G7 which
were created in G6 `d.vect` fails with

{{{
WARNING: Old topology format version 5.0 is not supported by this
          release. Try to rebuild topology.
}}}

It would be nice to have in wxGUI mechanism/dialog which would inform user
about that and suggest updating topology format to G7 automatically. This
tool would

  1. switch to map's mapset on background
  1. call `v.build` or `v.build.all`
  1. switch back to current mapset and re-render display

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2386&gt;
GRASS GIS <http://grass.osgeo.org>

#2386: wxGUI: check for old vector topology format
-------------------------+--------------------------------------------------
Reporter: martinl | Owner: grass-dev@…
     Type: task | Status: new
Priority: critical | Milestone: 7.0.0
Component: wxGUI | Version: unspecified
Keywords: v.build.all | Platform: Unspecified
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by neteler):

Replying to [ticket:2386 martinl]:
> It would be nice to have in wxGUI mechanism/dialog which would inform
user
> about that and suggest updating topology format to G7 automatically.

Might it be better to also transfer to SQLite while we are at it?

http://grasswiki.osgeo.org/wiki/Convert_all_GRASS_6_vector_maps_to_GRASS_7

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2386#comment:1&gt;
GRASS GIS <http://grass.osgeo.org>

#2386: wxGUI: check for old vector topology format
-------------------------+--------------------------------------------------
Reporter: martinl | Owner: grass-dev@…
     Type: task | Status: new
Priority: critical | Milestone: 7.0.0
Component: wxGUI | Version: unspecified
Keywords: v.build.all | Platform: Unspecified
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by wenzeslaus):

Replying to [ticket:2386 martinl]:
> This tool would
>
> 1. switch to map's mapset on background
> 1. call `v.build` or `v.build.all`
> 1. switch back to current mapset and re-render display

"Switch to" and "switch back" should be done by passing `env` parameter to
the module calling function. In this way only the subprocess has the other
mapset environment. There is even no "switch back" except from deleting
the GRASS `rc` file which was passed to the subprocess. See e.g. r60376.

This is also something which could be in data catalog. However, I agree
that the point is to have it easily accessible when the problem occurs.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2386#comment:2&gt;
GRASS GIS <http://grass.osgeo.org>

#2386: wxGUI: check for old vector topology format
-------------------------+--------------------------------------------------
Reporter: martinl | Owner: grass-dev@…
     Type: task | Status: new
Priority: critical | Milestone: 7.0.0
Component: wxGUI | Version: unspecified
Keywords: v.build.all | Platform: Unspecified
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by mlennert):

Whatever the discussion, I don't think this is a "critical" bug. The
message is clear, the solution (v.build) is clear and so it's more of a
question of convenience.

As a first gut reaction, I would say don't do anything this fundamental
"behind the user's back". I would think that most users won't switch
wildly between grass6 and grass7 on the same data. If they do, v.build and
v.build.all exist to help them.

Moritz

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2386#comment:3&gt;
GRASS GIS <http://grass.osgeo.org>

#2386: wxGUI: check for old vector topology format
--------------------------+-------------------------
  Reporter: martinl | Owner: grass-dev@…
      Type: task | Status: new
  Priority: normal | Milestone: 7.0.0
Component: wxGUI | Version: unspecified
Resolution: | Keywords: v.build.all
       CPU: Unspecified | Platform: Unspecified
--------------------------+-------------------------
Changes (by martinl):

* priority: critical => normal

Comment:

Replying to [comment:3 mlennert]:
> Whatever the discussion, I don't think this is a "critical" bug. The
message is clear, the solution (v.build) is clear and so it's more of a
question of convenience.

Right, decreasing the priority.

> As a first gut reaction, I would say don't do anything this fundamental
"behind the user's back". I would think that most users won't switch
wildly between grass6 and grass7 on the same data. If they do, v.build and
v.build.all exist to help them.

I modified the message in r65600 to mention `v.build/v.build.all`. If no
objection I will do backport to relbr70.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2386#comment:4&gt;
GRASS GIS <http://grass.osgeo.org>

#2386: wxGUI: check for old vector topology format
--------------------------+-------------------------
  Reporter: martinl | Owner: grass-dev@…
      Type: task | Status: new
  Priority: normal | Milestone: 7.0.0
Component: wxGUI | Version: unspecified
Resolution: | Keywords: v.build.all
       CPU: Unspecified | Platform: Unspecified
--------------------------+-------------------------

Comment (by mlennert):

Replying to [comment:4 martinl]:
> Replying to [comment:3 mlennert]:
> > Whatever the discussion, I don't think this is a "critical" bug. The
message is clear, the solution (v.build) is clear and so it's more of a
question of convenience.
>
> Right, decreasing the priority.
>
> > As a first gut reaction, I would say don't do anything this
fundamental "behind the user's back". I would think that most users won't
switch wildly between grass6 and grass7 on the same data. If they do,
v.build and v.build.all exist to help them.
>
> I modified the message in r65600 to mention `v.build/v.build.all`. If no
objection I will do backport to relbr70.

+1

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2386#comment:5&gt;
GRASS GIS <http://grass.osgeo.org>

#2386: wxGUI: check for old vector topology format
--------------------------+-------------------------
  Reporter: martinl | Owner: grass-dev@…
      Type: task | Status: new
  Priority: normal | Milestone: 7.0.0
Component: wxGUI | Version: unspecified
Resolution: | Keywords: v.build.all
       CPU: Unspecified | Platform: Unspecified
--------------------------+-------------------------

Comment (by martinl):

Replying to [comment:5 mlennert]:
> > I modified the message in r65600 to mention `v.build/v.build.all`. If
no objection I will do backport to relbr70.
>
> +1

done in r65601

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2386#comment:6&gt;
GRASS GIS <http://grass.osgeo.org>

#2386: wxGUI: check for old vector topology format
--------------------------+-------------------------
  Reporter: martinl | Owner: grass-dev@…
      Type: task | Status: new
  Priority: normal | Milestone: 7.0.0
Component: wxGUI | Version: unspecified
Resolution: | Keywords: v.build.all
       CPU: Unspecified | Platform: Unspecified
--------------------------+-------------------------

Comment (by martinl):

Probably we could have a new addon module called `v.convert.g6` doing
conversion from GRASS 6 to GRASS 7 (v.build + v.db.connect)?

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2386#comment:7&gt;
GRASS GIS <http://grass.osgeo.org>

#2386: wxGUI: check for old vector topology format
--------------------------+-------------------------
  Reporter: martinl | Owner: grass-dev@…
      Type: task | Status: new
  Priority: normal | Milestone: 7.0.0
Component: wxGUI | Version: unspecified
Resolution: | Keywords: v.build.all
       CPU: Unspecified | Platform: Unspecified
--------------------------+-------------------------

Comment (by mlennert):

Replying to [comment:7 martinl]:
> Probably we could have a new addon module called `v.convert.g6` doing
conversion from GRASS 6 to GRASS 7 (v.build + v.db.connect)?

might be a nice convenience module. But just v.db.connect won't be enough
if you want to change from dbf to sqlite. The easiest would probably be
db.connect + g.copy + g.rename, or something like that.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2386#comment:8&gt;
GRASS GIS <http://grass.osgeo.org>

#2386: wxGUI: check for old vector topology format
--------------------------+-------------------------
  Reporter: martinl | Owner: grass-dev@…
      Type: task | Status: new
  Priority: normal | Milestone: 7.0.0
Component: wxGUI | Version: unspecified
Resolution: | Keywords: v.build.all
       CPU: Unspecified | Platform: Unspecified
--------------------------+-------------------------

Comment (by martinl):

Replying to [comment:8 mlennert]:
> Replying to [comment:7 martinl]:
> > Probably we could have a new addon module called `v.convert.g6` doing
conversion from GRASS 6 to GRASS 7 (v.build + v.db.connect)?
>
> might be a nice convenience module. But just v.db.connect won't be
enough if you want to change from dbf to sqlite. The easiest would
probably be db.connect + g.copy + g.rename, or something like that.

not really, see (1)

(1)
http://grasswiki.osgeo.org/wiki/Convert_all_GRASS_6_vector_maps_to_GRASS_7

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2386#comment:9&gt;
GRASS GIS <http://grass.osgeo.org>

#2386: wxGUI: check for old vector topology format
--------------------------+-------------------------
  Reporter: martinl | Owner: grass-dev@…
      Type: task | Status: new
  Priority: normal | Milestone: 7.0.0
Component: wxGUI | Version: unspecified
Resolution: | Keywords: v.build.all
       CPU: Unspecified | Platform: Unspecified
--------------------------+-------------------------

Comment (by mlennert):

Replying to [comment:9 martinl]:
> Replying to [comment:8 mlennert]:
> > Replying to [comment:7 martinl]:
> > > Probably we could have a new addon module called `v.convert.g6`
doing conversion from GRASS 6 to GRASS 7 (v.build + v.db.connect)?
> >
> > might be a nice convenience module. But just v.db.connect won't be
enough if you want to change from dbf to sqlite. The easiest would
probably be db.connect + g.copy + g.rename, or something like that.
>
> not really, see (1)

Right, forgot about v.db.reconnect.all.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2386#comment:10&gt;
GRASS GIS <http://grass.osgeo.org>