[GRASS5] The status of 5.0

I recently had a simple task to complete for a client. I needed to
download a county map from the US Census Bureau (TIGER 2000 county line
map) and extract from that the street pattern for an area of a few square
miles within the county. The streets needed to be associated with
category text that named the street and the whole thing needed to be
produced in NAD83. I also needed to transform a DXF map of the same area
into the same coordinates and send that along with the Census Bureau map.

What should have been a simple task ended up taking several days and may
still not be done, mostly because several of GRASS's vector modules
(5.0pre2) didn't work right.

I didn't have time to detail all of the problems as they came up, but I
can list some of the problems were. There were probably others that I
don't remember.

1. v.in.tig.basic worked, but v.in.tig.lndmk would not import data to a
latlong location and did not associates category text with lines. It did
associated category text with areas, but not with lines.

2. v.make.subj died with a segmentation fault.

3. v.merge could not be used because of 2.

4. v.cutter automatically removed all dead-end streets. I found no way
around that behavior.

5. v.out.shape exported only closed polygons. I found no way around that
behavior. Is that inherent in shape files?

6. v.proj was useful only because I was able to use the version that I
rewrote to perform the nad27->nad83 conversion.

7. v.digit ended on segmentation faults several times while saving a
finished file. At one time I found myself abruptly dropped into a shell
while v.digit was still running. I still don't know what that was about.
Removing blocks of lines with v.digit is amazingly slow.

8. After I removed most of the lines from the original vector file the map
boundaries in the vector file header were not changed. I found no way to
change them other than to edit the boundaries in v.digit.

9. v.extract did not work.

10. v.out.ascii gave me a header with a blank line imbedded in it, and
v.transform would not read that header.

11. v.transform doesn't work in the context of GRASS database management.
It required that I export an ASCII vector file in one location and then
copy that file from it's original location to the dig_ascii element in a
second location. The transformed file is produced as an ascii file and it
has to be imported before it's very useful. That whole process is *way*
more complicated than it needs to be.

12. Not a specific module problem, but a general problem: anything you do
to change a vector file requires the user to rerun v.support. Why don't
the vector modules that trigger that requirement just run v.support
themselves, as is common in the raster modules?

13. v.info produced useless results, because the boundaries of the map
were cited in integer degrees. The map was well under 1 degree across in
any direction, so the boundaries were sited with N=S and E=W.

14. Several of the modules refer to GRASS4 in their user messages.

I know that there has been an effort to upgrade the vector capabilities
for 5.1, but has a lot of work been done on the vector modules since
5.0pre2? If not, then I'd have to say that GRASS's vector capabilities are
in a very poor state.

Roger Miller
Lee Wilson and Associates.

Roger ,

I think that it is a well known fact that GRASS4.* and GRASS5.0 is not good
for doing anything with vector data except for some very simple tasks. So I
would not
rely on GRASS5.0 for any serious vector work.
HOWEVER, Radim has done some really impressive work for vector data for
GRASS5.1 and
while it is still very experimental (certainly not yet ready for routine use)
it would
be well worth to wrap-up GRASS5.0 and release it and move on to GRASS5.1.

Markus it may be worth to give us all a little update on where we stand on
GRASS5.0
and GRASS5.1 (if you are able to tell). We now have GRASS5.0 both release
and experimental
and GRASS5.1 and while there are still bugs in GRASS5.0 and annoyancies
it is quite functional and as far as I can tell, better than ever.

so these are just my comments

Helena

it is Miller wrote:

I recently had a simple task to complete for a client. I needed to
download a county map from the US Census Bureau (TIGER 2000 county line
map) and extract from that the street pattern for an area of a few square
miles within the county. The streets needed to be associated with
category text that named the street and the whole thing needed to be
produced in NAD83. I also needed to transform a DXF map of the same area
into the same coordinates and send that along with the Census Bureau map.

What should have been a simple task ended up taking several days and may
still not be done, mostly because several of GRASS's vector modules
(5.0pre2) didn't work right.

I didn't have time to detail all of the problems as they came up, but I
can list some of the problems were. There were probably others that I
don't remember.

1. v.in.tig.basic worked, but v.in.tig.lndmk would not import data to a
latlong location and did not associates category text with lines. It did
associated category text with areas, but not with lines.

2. v.make.subj died with a segmentation fault.

3. v.merge could not be used because of 2.

4. v.cutter automatically removed all dead-end streets. I found no way
around that behavior.

5. v.out.shape exported only closed polygons. I found no way around that
behavior. Is that inherent in shape files?

6. v.proj was useful only because I was able to use the version that I
rewrote to perform the nad27->nad83 conversion.

7. v.digit ended on segmentation faults several times while saving a
finished file. At one time I found myself abruptly dropped into a shell
while v.digit was still running. I still don't know what that was about.
Removing blocks of lines with v.digit is amazingly slow.

8. After I removed most of the lines from the original vector file the map
boundaries in the vector file header were not changed. I found no way to
change them other than to edit the boundaries in v.digit.

9. v.extract did not work.

10. v.out.ascii gave me a header with a blank line imbedded in it, and
v.transform would not read that header.

11. v.transform doesn't work in the context of GRASS database management.
It required that I export an ASCII vector file in one location and then
copy that file from it's original location to the dig_ascii element in a
second location. The transformed file is produced as an ascii file and it
has to be imported before it's very useful. That whole process is *way*
more complicated than it needs to be.

12. Not a specific module problem, but a general problem: anything you do
to change a vector file requires the user to rerun v.support. Why don't
the vector modules that trigger that requirement just run v.support
themselves, as is common in the raster modules?

13. v.info produced useless results, because the boundaries of the map
were cited in integer degrees. The map was well under 1 degree across in
any direction, so the boundaries were sited with N=S and E=W.

14. Several of the modules refer to GRASS4 in their user messages.

I know that there has been an effort to upgrade the vector capabilities
for 5.1, but has a lot of work been done on the vector modules since
5.0pre2? If not, then I'd have to say that GRASS's vector capabilities are
in a very poor state.

Roger Miller
Lee Wilson and Associates.

_______________________________________________
grass5 mailing list
grass5@grass.itc.it
http://grass.itc.it/mailman/listinfo/grass5

Roger Miller wrote:

[...]

5. v.out.shape exported only closed polygons. I found no way around that
behavior. Is that inherent in shape files?

Did you try v.out.e00 (and then Import71, the free ESRI translator
from e00 to coverage, so Arcview can read the data) ? It should work
for closed polygons _and_ any kind of line...

But I agree with Helena : vector in Grass4.0 and 5.0 are not very usefull,
mainly because the attribute sheme is very cheap... You cannot really have
a vector GIS without an associated database (or at least a kind of).

BTW, the site management is also ugly : the grass inner format is ascii and
there is a lot of pretty complicated functions to do apparently nothing else
than moving strings from one ascii file to another. Here also, a database
seems to be a better solution (more attribute's types, direct binary storage,
use of attributes values to parametrize symbols, etc...). To do in 5.1 ?

--
Michel WURTZ - DIG - Maison de la télédétection
               500, rue J.F. Breton
               34093 MONTPELLIER Cedex 5

Michel Wurtz wrote:

Roger Miller wrote:
>
[...]
> 5. v.out.shape exported only closed polygons. I found no way around that
> behavior. Is that inherent in shape files?

Did you try v.out.e00 (and then Import71, the free ESRI translator
from e00 to coverage, so Arcview can read the data) ? It should work
for closed polygons _and_ any kind of line...

But I agree with Helena : vector in Grass4.0 and 5.0 are not very usefull,
mainly because the attribute sheme is very cheap... You cannot really have
a vector GIS without an associated database (or at least a kind of).

BTW, the site management is also ugly : the grass inner format is ascii and
there is a lot of pretty complicated functions to do apparently nothing else
than moving strings from one ascii file to another. Here also, a database
seems to be a better solution (more attribute's types, direct binary storage,
use of attributes values to parametrize symbols, etc...). To do in 5.1 ?

As far as I remember there is a consensus to handle sites within a GRASS5.1
vector format, which should handle all that you are mentioning here. So I would
just encourage
everybody to get grass5.1 to get some feel for it and maybe it would be good
time
to start moving all GRASS to GRASS5.1 - as I understand it a reorganization
of the code is planned so I assume that it would be a substantial effort.
Given my previous experiences with moving sites to vectors the ascii site format
will be
around for a while, but the development should really focus on GRASS5.1
concepts.

Helena

--
Michel WURTZ - DIG - Maison de la télédétection
               500, rue J.F. Breton
               34093 MONTPELLIER Cedex 5
_______________________________________________
grass5 mailing list
grass5@grass.itc.it
http://grass.itc.it/mailman/listinfo/grass5

On Thu, Mar 21, 2002 at 11:40:40AM -0500, Helena Mitasova wrote:

So I would just encourage everybody to get
grass5.1 to get some feel for it and maybe it would be good time
to start moving all GRASS to GRASS5.1

Several attempts to make big jumps with GRASS have shown that this
might not be possible.

So we need to wrap up and release GRASS5.
I've outlined a good plan and procedure how to get there a while ago.

Still we need the complete merge of the two branches and a new
release branch which radically leaves out modules
with release critical bugs.
So the new release branch would not have any module with release
critical bug and then gets released.

On the merge:
Glynn also posted a couple analysis of the differences of the
two branches in GRASS5. Glynn: Maybe you can propose how to completly
discontinue the old release branch. You might also just do it if
nobody else objects.

On the bugtracker:
There are many bugs in there. We need people to
evalutate them, reproduce them, fix or delay them.

On Thu, Mar 21, 2002 at 04:49:56PM +0100, Bernhard Reiter wrote:

On Thu, Mar 21, 2002 at 11:40:40AM -0500, Helena Mitasova wrote:
> So I would just encourage everybody to get
> grass5.1 to get some feel for it and maybe it would be good time
> to start moving all GRASS to GRASS5.1

Several attempts to make big jumps with GRASS have shown that this
might not be possible.

Please note that you can link the GRASS 5.0 raster commands into
the 5.1 tree. I have already written a small script for this, but
not yet uploaded. as the GRASS 5.1 writes into a new vector subdirectory
structure, it can be happily used on "old" locations.

Before filling GRASS 5.1 with unchecked code, I definitly recommend
to go this "soft" way of linking into the new code structure and
module-by-module migrating the code with code cleanup.

We need to do heavy cleanup on the GRASS libraries first before
looking at the modules (all related to GRASS 5.1).

So we need to wrap up and release GRASS5.
I've outlined a good plan and procedure how to get there a while ago.

Still we need the complete merge of the two branches and a new
release branch which radically leaves out modules
with release critical bugs.
So the new release branch would not have any module with release
critical bug and then gets released.

Means: Please make HEAVY use of the bug tracking tool and REPORT
errors. From that we decide for the module candidates of 5.0, I
think.

Bernhard: Can we add something to allow the bug reporting person
to set the "priority" while *submitting* the bug? To have all
on level "30" doesn't make sense if the reporting person already
knows that it is critical (or not). Or do I just have to add something
in the report form?

On the merge:
Glynn also posted a couple analysis of the differences of the
two branches in GRASS5. Glynn: Maybe you can propose how to completly
discontinue the old release branch. You might also just do it if
nobody else objects.

Well, that's not so easy. Currently the exp and release are fairly
up-to-date (Glynn and me were taking care for that). There are
differences which may remain (new features which don't go
for 5.0 release).
I don't think that we all should hold our breath until 5.0stable is
out and stop submitting new features - that would be contra-productive.

But I agree that we still have some work for the vector engine in 5.0.
As it is currently implemented, we
- either have to radically exclude vector modules from the release branch
- fix at least the import tools and v.support.

David, when do you expect the have the v.in.shape ready? This module
is somewhat crucidal, that's what many users expect from GRASS, to
read this [...] SHAPE format.

On the bugtracker:
There are many bugs in there. We need people to
evalutate them, reproduce them, fix or delay them.

Please find these people, especially for fixing... :slight_smile:

Markus

On Wed, Mar 20, 2002 at 01:11:54PM -0700, Roger Miller wrote:

I recently had a simple task to complete for a client. I needed to
download a county map from the US Census Bureau (TIGER 2000 county line
map) and extract from that the street pattern for an area of a few square
miles within the county. The streets needed to be associated with
category text that named the street and the whole thing needed to be
produced in NAD83. I also needed to transform a DXF map of the same area
into the same coordinates and send that along with the Census Bureau map.

What should have been a simple task ended up taking several days and may
still not be done, mostly because several of GRASS's vector modules
(5.0pre2) didn't work right.

I didn't have time to detail all of the problems as they came up, but I
can list some of the problems were. There were probably others that I
don't remember.

Roger,

I can really understand your situation - sometimes it's really annoying with
vector data in the current GRASS 5.0 version...

1. v.in.tig.basic worked, but v.in.tig.lndmk would not import data to a
latlong location and did not associates category text with lines. It did
associated category text with areas, but not with lines.

.. added to RT.

2. v.make.subj died with a segmentation fault.

Please file a more detailed report:

http://grass.itc.it/bugtracking/bugreport.html

3. v.merge could not be used because of 2.

4. v.cutter automatically removed all dead-end streets. I found no way
around that behavior.

Please write also to:
http://grass.itc.it/bugtracking/bugreport.html
-> mark area as "wish"

5. v.out.shape exported only closed polygons. I found no way around that
behavior. Is that inherent in shape files?

Hi David...

6. v.proj was useful only because I was able to use the version that I
rewrote to perform the nad27->nad83 conversion.

Roger, maybe you can share the code with us? Datum transform is a
highly wanted issue...

7. v.digit ended on segmentation faults several times while saving a
finished file. At one time I found myself abruptly dropped into a shell
while v.digit was still running. I still don't know what that was about.

I never had this problem. Please another bug with platform etc.

Removing blocks of lines with v.digit is amazingly slow.

...a wish?

8. After I removed most of the lines from the original vector file the map
boundaries in the vector file header were not changed. I found no way to
change them other than to edit the boundaries in v.digit.

No idea, maybe v.support should do that.

9. v.extract did not work.

v.extract was fixed by alex Shevlakov in 12/2001. It works in pre3.

10. v.out.ascii gave me a header with a blank line imbedded in it, and
v.transform would not read that header.

As far as I used v.transform, it doesn't need a header. From
http://grass.itc.it/gdp/html_grass5/html/v.transform.html
"An example of the pointsfile file:

1 1 589000 4913000
1 17000 589000 4930000
17000 17000 610000 4930000
17000 1 610000 4913000
"

11. v.transform doesn't work in the context of GRASS database management.
It required that I export an ASCII vector file in one location and then
copy that file from it's original location to the dig_ascii element in a
second location. The transformed file is produced as an ascii file and it
has to be imported before it's very useful. That whole process is *way*
more complicated than it needs to be.

I didn't try your way, but rectifying e.g. xy-DXF files *inside* a
projected location is possible. So you may try to import the vector
file directly into the projected location and proceed from there.

12. Not a specific module problem, but a general problem: anything you do
to change a vector file requires the user to rerun v.support. Why don't
the vector modules that trigger that requirement just run v.support
themselves, as is common in the raster modules?

I added this feature to some modules, a good idea to continue on that.

13. v.info produced useless results, because the boundaries of the map
were cited in integer degrees. The map was well under 1 degree across in
any direction, so the boundaries were sited with N=S and E=W.

Sounds like an rather easy fix - please also to
http://grass.itc.it/bugtracking/bugreport.html

14. Several of the modules refer to GRASS4 in their user messages.

Quite important to know, which. Please list them.

I know that there has been an effort to upgrade the vector capabilities
for 5.1, but has a lot of work been done on the vector modules since
5.0pre2? If not, then I'd have to say that GRASS's vector capabilities are
in a very poor state.

I fear the latter. We should get at least a basic 2D vector engine
working, before calling it "stable".

Markus

On Thu, Mar 21, 2002 at 07:09:41PM +0100, Markus Neteler wrote:

Bernhard: Can we add something to allow the bug reporting person
to set the "priority" while *submitting* the bug?

In principle: yes. I will ask Thomas to help to add maybe three
simple categories to the script.

We also should add a field for the name of the GRASS version
and simplify the form in general. The background is that we want the
GRASS version number in the report if the report sits there for
a long time.

To have all
on level "30" doesn't make sense if the reporting person already
knows that it is critical (or not). Or do I just have to add something
in the report form?

Developers familiar with the bugtracker can bypath the form and get
full power anyway, e.g. using:

  http://intevation.de/rt/webrt?queue_id=grass&display=Create_Step2

On Wed, Mar 20, 2002 at 01:11:54PM -0700, Roger Miller wrote:

What should have been a simple task ended up taking several days and may
still not be done, mostly because several of GRASS's vector modules
(5.0pre2) didn't work right.

I didn't have time to detail all of the problems as they came up, but I
can list some of the problems were. There were probably others that I
don't remember.

Thanks for writing the report.
The development team tries to record each bug and follow up on it
when time permits.

but has a lot of work been done on the vector modules since 5.0pre2?

GRASS is a huge application, a lot of work has gone into 5.0pre3.
Check the news file for changes between pre2 and pre3:

  http://grass.itc.it/grass5/source/NEWS.html

Apard from general improvements fixes to 10 vector modules are listed.

Bernhard Reiter wrote:

On the merge:
Glynn also posted a couple analysis of the differences of the
two branches in GRASS5. Glynn: Maybe you can propose how to completly
discontinue the old release branch. You might also just do it if
nobody else objects.

My preference would be to just sync any outstanding changes into the
trunk then declare the release branch to be dead (possibly renaming
the tag so that changes aren't committed to it inadvertently).

Modules which shouldn't be built due to outstanding bugs should just
be disabled in src/CMD/lists/GRASS, rather than actually omitting the
source code.

--
Glynn Clements <glynn.clements@virgin.net>

On Thu, Mar 21, 2002 at 07:50:07PM +0000, Glynn Clements wrote:

Bernhard Reiter wrote:
> On the merge:
> Glynn also posted a couple analysis of the differences of the
> two branches in GRASS5. Glynn: Maybe you can propose how to completly
> discontinue the old release branch. You might also just do it if
> nobody else objects.

My preference would be to just sync any outstanding changes into the
trunk then declare the release branch to be dead

Yes. Can you progress this?

(possibly renaming
the tag so that changes aren't committed to it inadvertently).

We have to slap developers on the wrist for committing changes to
this branch!!! They will have to put it in the right branch again.

Modules which shouldn't be built due to outstanding bugs should just
be disabled in src/CMD/lists/GRASS, rather than actually omitting the
source code.

When we have the new release branch,
we might as well remove them from there.
There is no point in shipping modules with release critical bugs.
This should also put some pressure on people to fix them.

  Bernhard
--
Professional Service for Free Software (intevation.net)
The FreeGIS Project (freegis.org)
Association for a Free Informational Infrastructure (ffii.org)
FSF Europe (fsfeurope.org)

On Mar 21, Markus Neteler wrote:
> On Wed, Mar 20, 2002 at 01:11:54PM -0700, Roger Miller wrote:
>
> > 6. v.proj was useful only because I was able to use the version that I
> > rewrote to perform the nad27->nad83 conversion.
>
> Roger, maybe you can share the code with us? Datum transform is a
> highly wanted issue...

Hear, hear!

> > 10. v.out.ascii gave me a header with a blank line imbedded in it, and
> > v.transform would not read that header.
>
> As far as I used v.transform, it doesn't need a header. From
> http://grass.itc.it/gdp/html_grass5/html/v.transform.html
> "An example of the pointsfile file:

I just ran into the same bug. It's not in the pointsfile, but rather
that v.out.ascii makes a blanks line in the header of the generated
vector ascii file. Then, v.transform aborts when it encounters the
blank line.

I don't know which module is buggy here.

> > 11. v.transform doesn't work in the context of GRASS database management.
>
> I didn't try your way, but rectifying e.g. xy-DXF files *inside* a
> projected location is possible. So you may try to import the vector
> file directly into the projected location and proceed from there.

Yes, but even then, the point is that v.transform requires:

  v.out.ascii
  v.transform
  v.in.ascii

rather than simply working with the vector maps in the database.

Also, I'm know running into problems with v.transform. It may be
because my XY data from DXF has negative coordinates. The v.transform
documentation specifically states that negative numbers have never
been tested. I need to get this working, so I may have a patch
together soon, (and it'll finally be time for me to ask for CVS write
access).

-Carl

--
Carl Worth
USC Information Sciences Institute cworth@east.isi.edu
3811 N. Fairfax Dr. #200, Arlington VA 22203 703-812-3725

> > On Wed, Mar 20, 2002 at 01:11:54PM -0700, Roger Miller wrote:
> > > 11. v.transform doesn't work in the context of GRASS database management.

Here's a little script that I have been using to more easily transform
vector maps. v.transform.inplace takes care of doing the ASCII
export/import and cleans those files up when it's done. It also puts
its output into a vector map named the same as the original, (while
making a backup of the original as <map_name>_orig).

It's a quick little hack, but it's helped me.

-Carl

===File v.transform.inplace===================
#!/bin/sh
set -e

if [ $# -lt 2 ]; then
  echo "Usage: $0 vector_map pointsfile" >&2
  echo "Transform a vector map according to pointsfile" >&2
  echo "The untransformed map will be saved with a prefix of _orig" >&2
  echo "See the documentation of v.transform for the format of pointsfile." >&2
  exit 1
fi

set -x

map=$1
pointsfile=$2

v.out.ascii input=${map} output=${map}_orig
v.transform input=${map}_orig output=${map}_transformed pointsfile=${pointsfile}
g.rename vect=${map},${map}_orig
v.in.ascii input=${map}_transformed output=${map}
v.support map=${map}

rm $LOCATION/dig_ascii/${map}_orig
rm $LOCATION/dig_ascii/${map}_transformed

===============================================

Markus Neteler wrote:

On Wed, Mar 20, 2002 at 01:11:54PM -0700, Roger Miller wrote:

I recently had a simple task to complete for a client. I needed to
download a county map from the US Census Bureau (TIGER 2000 county line
map) and extract from that the street pattern for an area of a few square
miles within the county. The streets needed to be associated with
category text that named the street and the whole thing needed to be
produced in NAD83. I also needed to transform a DXF map of the same area
into the same coordinates and send that along with the Census Bureau map.

What should have been a simple task ended up taking several days and may
still not be done, mostly because several of GRASS's vector modules
(5.0pre2) didn't work right.

I didn't have time to detail all of the problems as they came up, but I
can list some of the problems were. There were probably others that I
don't remember.

Roger,

I can really understand your situation - sometimes it's really annoying with
vector data in the current GRASS 5.0 version...

OTOH, few if any other applications provide any facilities for processing linework at so raw a level. I find with Arcview 3.x, for example that the support via public scripts is about as poor as that in GRASS, and poorer for many things because you rely on the encapsulated vector engine and the entry points provided by its API. If these are faulty you can't do much. There are usually ways to work around problems with GRASS, even if you have to support it with home-grown or temporary shell scripts or awk etc.

4. v.cutter automatically removed all dead-end streets. I found no way
around that behavior.

Maybe v.spag would do the trick. But this is definately buggy on area lines. Convert to `line' lines and use this. v.cutter is also more problematic with area coverages. But even with lines they are not completely bug-free, I find v.spag sometimes fails in that it leaves an improper intersection. But - sometimes running it a few times gets them all. With this though, it is very slow without block-remove and apparently the tool in v.digit is not working.

5. v.out.shape exported only closed polygons. I found no way around that
behavior. Is that inherent in shape files?

Hi David...

This *should* produce a layer with area coverage, and one with line coverage in separate shape-files if you use option `type=both', but I can't recall if this functionality has ever been tested. I would think it would have been working when the module was originally released, but unused functionality tends to drift. Mostly you don't have combined layers in GRASS files, even though it supports them, so maybe it is another bug. I will be reviewing these export modules before final release, though I give the import modules higher priority because they really don't work at all.

As to the properties of shapefiles, it is confusing. The spec allows each `shape' to have its own type defined independently, but AFAIK this is not yet (and probably now won't be) supported in ArcView, so presumably most implementors avoid this. That is why the export for GRASS was written to create layers in separate files.

David

On Thu, Mar 21, 2002 at 07:24:05PM +0100, Markus Neteler wrote:

> 2. v.make.subj died with a segmentation fault.

Please file a more detailed report:

http://grass.itc.it/bugtracking/bugreport.html

> 3. v.merge could not be used because of 2.

The v.subj thing is a hack around for poor attribute support. I thought
it had been disabled, but apparently not. I don't think it's worthwhile
to put much effort into it.

> 6. v.proj was useful only because I was able to use the version that I
> rewrote to perform the nad27->nad83 conversion.

Roger, maybe you can share the code with us? Datum transform is a
highly wanted issue...

Markus, other than grid based transformations, there's already the code in
the coordconv library which will do datum transformations via a couple
different methods. Problem is, it's not hooked into the general
projection code in gislib, there's something of a mutual dependency
issue with the two.

--
Eric G. Miller <egm2@jps.net>

On Thursday 21 March 2002 18:54, Eric G. Miller wrote:

The v.subj thing is a hack around for poor attribute support. I thought
it had been disabled, but apparently not. I don't think it's worthwhile
to put much effort into it.

If you scratch v.make.subj then you also need to rewrite v.merge. I suppose
you could also scrap v.merge, or maybe someone could just right up the
documentation for how a user could right a "subj" file required by v.merge
without actually using v.make.subj.

> > 6. v.proj was useful only because I was able to use the version that I
> > rewrote to perform the nad27->nad83 conversion.
>
> Roger, maybe you can share the code with us? Datum transform is a
> highly wanted issue...

Markus, other than grid based transformations, there's already the code in
the coordconv library which will do datum transformations via a couple
different methods. Problem is, it's not hooked into the general
projection code in gislib, there's something of a mutual dependency
issue with the two.

The conversions between nad27 and nad83 are necessarily "grid based," if I
know what you mean. There is no datum shift formula because it isn't just a
datum shift. As a result, having the nad27<->nad83 conversion (while
essential for those of us in North America) does nothing to help any other
datum conversion problem.

Some months back I modified the code for r.proj, v.proj and s.proj so they
would automatically and (almost) silently complete the conversion whenever
the location data requred it. I offered it on the list at the time and there
was precious little interest, so I didn't find time to clean up the lose ends
and send it in.

The changes aren't just a change in *.proj modules. There is also a change
in the grass library function that uses the proj library. Also the
conversion tables need to be stored in the GRASS directory hierarchy
somewhere. I put them in a subdirectory under $GRASSROOT/etc. And more, I
didn't use the most recent version of the proj library; more recent versions
use data tables that are valid farther north in Canada then are the standard
conus tables.

Just the same, the programs do work and they are available. However, there
should probably be some discussion of where to put it and someone else needs
to put it there, because I don't have CVS write access.

Roger Miller

On the bugtracker:
There are many bugs in there. We need people to
evalutate them, reproduce them, fix or delay them.

I tried to go through the bug tracker and while there are some real bugs
there
only very few seem to be release critical.
Most of them seem more like lack of capabilities (974,975,973,914, part of
912, .....
or annoyancies which have a way around it (e.g. my #970,)
So it would be really useful if release critical bugs could have
their own priority, I have identified maybe 2-3

Some problems listed just need better explanation in the
documentation/instructions
I am looking into INSTALL and small modifications may help -
e.g. there is a sentence ....some modules won't be compiled" right at the
beginning
of the document.Adding "(for example PostgresSQL or fftw, see section on
CONFIGURE OPTIONS)"
may help reduce number of people complaining about Postgres giving errors
because most people do not read it far enough to learn about it.
(everybody here who has compiled GRASS was puzzled by Postgres error as many
people do not even know what it is)

I guess PostgreSQL isn't standard enough yet, configure couldn't find

   > /usr/include/postgresql by itself for libpq-fe.h (I think that's what it

   > looks for).

   configure deliberately does *not* attempt to guess directories. Any
   include/library directories which aren't in the compiler's/linker's
   default path have to be explicitly specified using --with-*-includes
   and --with-*-libs.

-------------------------------------------------------------------------
concrete comments, suggestions for removals from the list

905
really is not a bug, to me putting a space between + 18 actually makes sense
what do we do with "bugs" like this - keep them there with low priority
(there is plenty of them there) or vote whether they should be removed?

912 r.mapcalc
was anybody able to reproduce that bug?
    I tried all kinds of combinations on various types of files
    and did not get "no result" problem. Markus, wasn't there something wrong

    with your file?

Both of the following "problems" are issues related to the question whether
anybody should use r.mapcalc without reading the man page and how much of
instructions should be put into the messages given by the program -
Markus are you suggesting that if r.mapcalc finds that it has a map with
NULLs
it should give a warning? Similarly should there be a warning for division of
two INT maps?
(that should reduce number of confused people, but on the other hand people
should really read manual before using r.mapcalc)

- r.mapcalc *silently* does not operate on NULL values (there should be
      a warning)
- does not print a message about the file type (INT,FCELL) when doing
      a calculation (e.g. when dividing two INT maps, the result is INT.
      but many users may not realize this and don't know that they have to
      multiply with 1.0 to receive a FCELL)

913 looks like the users problem

897 r.slope.aspect is indeed a GRASS4* story when 0 was no-data and rasters
were mostly classes.
Labeling 360 classes as it is there now does not really make much sense so to

make it meaningful it would require to create maybe 12 ranges and label those
or
skip labeling altogether. But this is more like a wish than a critical bug.
r.param.scale is probably similar case

895 - more likely a wish? lack of capability?

889 same as 836 - nvizOsx has a note that it may be closed but it is still
there

888 is not a bug - should be removed

878 not a bug

877 not abug

873 should be given low priority

870 seems to be resolved

868 not release critical?

858 does Radim's answer solve the problem at vector support GRASS5.0 level?
or is this release critical Markus?

855 Any news about v.trim? Release critical?

853 sounds like release critical?

756 can be removed - I was never able to reproduce it and never got
confirmation
about the problem from the submitter

256 s.surf.krig - kriging is much better served by linking with geostats
packages
as you need lots of additional tools to make it really useful - GSTATS and
R-stats
would be much better for that. Unless somebody wants to undertake major
geostatistics developments fully integrated with GRASS (inclding s.sv and
other tools)
I suggest retiring it and rather work on improvements and education for
R-stats bridge and GSTATS link

251 - isn't this listed as an issue for GRASS5.1 milestone?

  ------------------------------------------------------------------------
   Part 1.2Type: application/pgp-signature

On Thu, Mar 21, 2002 at 07:29:22PM +0100, Bernhard Reiter wrote:

On Thu, Mar 21, 2002 at 07:09:41PM +0100, Markus Neteler wrote:
> Bernhard: Can we add something to allow the bug reporting person
> to set the "priority" while *submitting* the bug?

In principle: yes. I will ask Thomas to help to add maybe three
simple categories to the script.

Fine, thanks. I'll update the form accordingly.

We also should add a field for the name of the GRASS version
and simplify the form in general. The background is that we want the
GRASS version number in the report if the report sits there for
a long time.

Well, we can simplify it. I would appreciate suggestions:
http://grass.itc.it/bugtracking/bugreport.html

As a target, we should end up with half of the entries :slight_smile:

[...]

Markus

On Fri, Mar 22, 2002 at 01:01:03AM +0000, David D Gray wrote:
[...]

>>5. v.out.shape exported only closed polygons. I found no way around that
>>behavior. Is that inherent in shape files?
>
> Hi David...
>

This *should* produce a layer with area coverage, and one with line
coverage in separate shape-files if you use option `type=both', but I
can't recall if this functionality has ever been tested. I would think
it would have been working when the module was originally released, but
unused functionality tends to drift. Mostly you don't have combined
layers in GRASS files, even though it supports them, so maybe it is
another bug. I will be reviewing these export modules before final
release, though I give the import modules higher priority because they
really don't work at all.

As to the properties of shapefiles, it is confusing. The spec allows
each `shape' to have its own type defined independently, but AFAIK this
is not yet (and probably now won't be) supported in ArcView, so
presumably most implementors avoid this. That is why the export for
GRASS was written to create layers in separate files.

Hi David,

just curious: Are the SHAPE engine of GRASS (shape lib) and the SHAPELIB
in GDAL/OGR still in sync. At least they are not in CVS.
It might be a good idea to synchronize again as Frank Warmerdam and others
put some efforts into the SHAPELIB (frmts/shapelib in GDAL/OGR).

In general we may need a better solution how to deal with such important
libraries from 3rd parties. Hosting them as well in GRASS CVS will
tend to consolidate the non-synchronisation.

Markus

On Thu, Mar 21, 2002 at 10:01:36PM -0600, Helena wrote:

> On the bugtracker:
> There are many bugs in there. We need people to
> evalutate them, reproduce them, fix or delay them.

I tried to go through the bug tracker and while there are some real bugs
there only very few seem to be release critical. Most of them seem more
like lack of capabilities (974,975,973,914, part of 912, ..... or
annoyancies which have a way around it (e.g. my #970,)

So it would be really useful if release critical bugs could have
their own priority, I have identified maybe 2-3

Helena, I'm not sure what you mean with "release critical bugs could have
their own priority" - you can, after logging into RT, adjust the
priority after clicking on a bug.

Some problems listed just need better explanation in the
documentation/instructions
I am looking into INSTALL and small modifications may help -
e.g. there is a sentence ....some modules won't be compiled" right at the
beginning
of the document.Adding "(for example PostgresSQL or fftw, see section on
CONFIGURE OPTIONS)"
may help reduce number of people complaining about Postgres giving errors
because most people do not read it far enough to learn about it.
(everybody here who has compiled GRASS was puzzled by Postgres error as many
people do not even know what it is)

Good suggestion - have updated INSTALL and cp'ed to web as well.

[...]

-------------------------------------------------------------------------
concrete comments, suggestions for removals from the list

905
really is not a bug, to me putting a space between + 18 actually makes sense

Mhhh, I don't actually like that when *accidentally* entering +18 (without
blank) deletes my entire SEARCH_PATH. Then I have to go and reconstruct it,
just because this blank is needed.

what do we do with "bugs" like this - keep them there with low priority
(there is plenty of them there) or vote whether they should be removed?

You can change the area to "wish" after clicking on "Area" on top of the
bug report.

912 r.mapcalc
was anybody able to reproduce that bug?
    I tried all kinds of combinations on various types of files
    and did not get "no result" problem. Markus, wasn't there something wrong
    with your file?

Well, maybe, but it is rather difficult to make things worse with raster
maps :slight_smile: If not reproducable, let's close it. I'll write a new report
if needed.
Glynn, am I right that your r.mapcalc3 will replace r.mapcalc near future?

Both of the following "problems" are issues related to the question whether
anybody should use r.mapcalc without reading the man page and how much of
instructions should be put into the messages given by the program -
Markus are you suggesting that if r.mapcalc finds that it has a map with
NULLs
it should give a warning? Similarly should there be a warning for division of
two INT maps?
(that should reduce number of confused people, but on the other hand people
should really read manual before using r.mapcalc)

as we all know nobody reads manuals (carefully). So I suggest to output a
warning in both cases. Especially the NULL "problem" is less obvious than
the division of two INT maps == INT. In more complex formula you don't
easily realize sometimes why the result is wrong (if you ever see it) and
that you should use isnull()

- r.mapcalc *silently* does not operate on NULL values (there should be
      a warning)
- does not print a message about the file type (INT,FCELL) when doing
      a calculation (e.g. when dividing two INT maps, the result is INT.
      but many users may not realize this and don't know that they have to
      multiply with 1.0 to receive a FCELL)

913 looks like the users problem

I have closed this one - no response.

897 r.slope.aspect is indeed a GRASS4* story when 0 was no-data and rasters
were mostly classes.
Labeling 360 classes as it is there now does not really make much sense so to
make it meaningful it would require to create maybe 12 ranges and label those
or
skip labeling altogether. But this is more like a wish than a critical bug.
r.param.scale is probably similar case

.. changed to "wish".

895 - more likely a wish? lack of capability?

.. changed to "wish". Will probably need a Tcl/TK hack.

889 same as 836 - nvizOsx has a note that it may be closed but it is still
there

I have closed this one - no response.

888 is not a bug - should be removed

I have closed this one - no response.

878 not a bug

I have closed this one - no response.

877 not abug

I have closed this one - no response.

873 should be given low priority

It has "30" - should be fine.

870 seems to be resolved

I have closed this one - probably really a data problem.

868 not release critical?

commented v.out.mif in src/CMD/lists/GRASS, obviously not working

If I am wrong, someone may reactivate it.
closed the bug report.

858 does Radim's answer solve the problem at vector support GRASS5.0 level?
or is this release critical Markus?

after discussion with Radim (I can see him here :slight_smile: I think it is a data
problem (import of non-topological data). v.support should be mostly fine.

855 Any news about v.trim? Release critical?

Some guest without name wrote"
   I am working on a fix of v.trim, it does a pretty good job already but it
   doesn't care much yet about the attributes! More soon."

Who was that?? so far v.trim is unchanged in CVS.

853 sounds like release critical?

Yes, I think so. When digitizing areas in v.digit and using the
text label function, the area labeling is done as if the area
were a line. That causes problems later.
Needs to be verified by someone else.

756 can be removed - I was never able to reproduce it and never got
confirmation about the problem from the submitter

I have closed this one - as no response.

256 s.surf.krig - kriging is much better served by linking with geostats
packages as you need lots of additional tools to make it really useful -
GSTATS and R-stats would be much better for that. Unless somebody wants to
undertake major geostatistics developments fully integrated with GRASS
(inclding s.sv and other tools) I suggest retiring it and rather work on
improvements and education for R-stats bridge and GSTATS link

I have closed this one. (btw: gstat, not gstats in case somewhat wants to
google for it)

251 - isn't this listed as an issue for GRASS5.1 milestone?

Yes, closed.

Thanks for looking into so may reports.

Markus