[GRASS-dev] v.info Projection info

Hi,

I found that Vect_open_old_head() does not set Map.proj:

  struct Map_info Map;

  Map.proj = -1;
  Vect_open_old_head(&Map, mapname, mapset);
  printf("%d\n", Map.proj); /* prints -1 */

For this reason, v.info always prints out "Projection: x,y (zone ...)"
(Map.proj == 0 == PROJECTION_XY) regardless of its actual projection.
It seems like to me there is no projection info in vector files. If
individual vector files cannot have a different projection from its
location, why doesn't v.info use G_database_projection_name() like
r.info does?

Huidae

Huidae Cho wrote:

Hi,

I found that Vect_open_old_head() does not set Map.proj:

<snip>

For this reason, v.info always prints out "Projection: x,y (zone ...)"
(Map.proj == 0 == PROJECTION_XY) regardless of its actual projection.
It seems like to me there is no projection info in vector files. If
individual vector files cannot have a different projection from its
location, why doesn't v.info use G_database_projection_name() like
r.info does?

Hi,

Since this issue is rised, I'd like throw my 0,01 PLN in. Why, in the
first place, does r.info or v.info even try to print the projection
info? I don't think they should. It is pointless - all the maps within
one Location have the same projection anyway. For querying the
Location's projection info there is g.proj -p. And also the g.region
-p, but same as in case of *.info modules, I believe it shouldn't do
that - g.region should be concerned with the region extent and
resolution only. It would be enough if it just distunguished between
lat/long, projected and xy, and not go into ellipsoids/datums/zones
details and stuff - there is g.proj for that.

What do you think? Removing this code alltogether from *.info would let
us get rid of bogus, missleading r.info output in the kind of
"Projection: Latitude-Longitude (zone 0)" as well. Propably not a plan
for GRASS 6, but how about 7?

Maciek

On Tue, Oct 24, 2006 at 09:22:40AM +0200, Maciej Sieczka wrote:

Huidae Cho wrote:
> Hi,
>
> I found that Vect_open_old_head() does not set Map.proj:

<snip>

> For this reason, v.info always prints out "Projection: x,y (zone ...)"
> (Map.proj == 0 == PROJECTION_XY) regardless of its actual projection.
> It seems like to me there is no projection info in vector files. If
> individual vector files cannot have a different projection from its
> location, why doesn't v.info use G_database_projection_name() like
> r.info does?

Hi,

Since this issue is rised, I'd like throw my 0,01 PLN in. Why, in the
first place, does r.info or v.info even try to print the projection
info? I don't think they should. It is pointless - all the maps within
one Location have the same projection anyway. For querying the
Location's projection info there is g.proj -p. And also the g.region
-p, but same as in case of *.info modules, I believe it shouldn't do
that - g.region should be concerned with the region extent and
resolution only. It would be enough if it just distunguished between
lat/long, projected and xy, and not go into ellipsoids/datums/zones
details and stuff - there is g.proj for that.

I've been thinking about that. I personally like only one way for one
task. We can avoid inconsistent/erroneous outputs in this way.

Huidae

What do you think? Removing this code alltogether from *.info would let
us get rid of bogus, missleading r.info output in the kind of
"Projection: Latitude-Longitude (zone 0)" as well. Propably not a plan
for GRASS 6, but how about 7?

Maciek

On Tuesday 24 October 2006 00:33, Huidae Cho wrote:

On Tue, Oct 24, 2006 at 09:22:40AM +0200, Maciej Sieczka wrote:
> Huidae Cho wrote:
> > Hi,
> >
> > I found that Vect_open_old_head() does not set Map.proj:
>
> <snip>
>
> > For this reason, v.info always prints out "Projection: x,y (zone ...)"
> > (Map.proj == 0 == PROJECTION_XY) regardless of its actual projection.
> > It seems like to me there is no projection info in vector files. If
> > individual vector files cannot have a different projection from its
> > location, why doesn't v.info use G_database_projection_name() like
> > r.info does?
>
> Hi,
>
> Since this issue is rised, I'd like throw my 0,01 PLN in. Why, in the
> first place, does r.info or v.info even try to print the projection
> info? I don't think they should. It is pointless - all the maps within
> one Location have the same projection anyway. For querying the
> Location's projection info there is g.proj -p. And also the g.region
> -p, but same as in case of *.info modules, I believe it shouldn't do
> that - g.region should be concerned with the region extent and
> resolution only. It would be enough if it just distunguished between
> lat/long, projected and xy, and not go into ellipsoids/datums/zones
> details and stuff - there is g.proj for that.

I've been thinking about that. I personally like only one way for one
task. We can avoid inconsistent/erroneous outputs in this way.

Huidae

> What do you think? Removing this code alltogether from *.info would let
> us get rid of bogus, missleading r.info output in the kind of
> "Projection: Latitude-Longitude (zone 0)" as well. Propably not a plan
> for GRASS 6, but how about 7?
>
> Maciek

I'd throw in my $0.02 as well: I agree with Maciek and Huidae.

Now the question remains: how much money do we have now?
$0.02 + 0,01 PLN + ???

hehe

cheers,

--
Dylan Beaudette
Soils and Biogeochemistry Graduate Group
University of California at Davis
530.754.7341