[GRASS-dev] proj -l

Hi,

I just learned of the "proj -l" command from PROJ.4. (post on Proj.4 ml)

       -l[p|P|=|e|u|d]id
              List projection identifiers with -l, -lp
              or -lP (expanded) that can be selected
              with +proj. -l=id gives expanded
              description of projection id. List
              ellipsoid identifiers with -le, that can
              be selected with +ellps, -lu list of
              cartesian to meter conversion factors
              that can be selected with +units or -ld
              list of datums that can be selected with
              +datum.

Maybe it would be useful in a future auto-gen g.setproj GUI wizard [if
GRASS moves to "full" use of proj.4].

Hamish

Hamish wrote:

I just learned of the "proj -l" command from PROJ.4. (post on Proj.4 ml)

       -l[p|P|=|e|u|d]id
              List projection identifiers with -l, -lp
              or -lP (expanded) that can be selected
              with +proj. -l=id gives expanded
              description of projection id. List
              ellipsoid identifiers with -le, that can
              be selected with +ellps, -lu list of
              cartesian to meter conversion factors
              that can be selected with +units or -ld
              list of datums that can be selected with
              +datum.

Maybe it would be useful in a future auto-gen g.setproj GUI wizard [if
GRASS moves to "full" use of proj.4].

It doesn't really help. -l alone only lists the projections, not which
parameters they accept/require. -lP lists the parameters, but the
format isn't quite machine-readable (it's not far off, but a miss is
as good as mile in this context). No option lists the default values.

Also, there's no guarantee that whichever "proj" executable comes
first in the path uses the same libproj library as GRASS.

For the foreseeable future, we'll need to maintain our own metadata.

--
Glynn Clements <glynn@gclements.plus.com>

Hello Hamish

On Sun, 8 Oct 2006, Hamish wrote:

Hi,

I just learned of the "proj -l" command from PROJ.4. (post on Proj.4 ml)

[...]

Maybe it would be useful in a future auto-gen g.setproj GUI wizard [if
GRASS moves to "full" use of proj.4].

There was some discussion about this on the PROJ list a while ago when someone was trying to tidy up inconsistencies in the proj -lP with a view to automatically parsing it for exactly such a purpose: http://lists.maptools.org/pipermail/proj/2003-July/000831.html

but it became apparent that the output isn't reliable enough. Gerald Evenden's usage paradigm seems to always have been that before formulating a set of PROJ parameters the user needs to read the full documentation for that particular projection and understand exactly which parameters they need. This manifests itself in some interesting ways such as the multiple ways to represent an lcc (Lambert Conformal Conic) projection. I'm sure there are others but I have to confess I don't really know very much about this, apart from the fact that the intention of the -lP output is inconsistent with it being automatically parsed. But it may be possible!

As I said before it would be great to make this functionality part of the re-worked PROJ.4 library that Frank is proposing to do at some point.

Paul

I agree. This has useful potential. Thanks for uncovering it.

Michael
__________________________________________
Michael Barton, Professor of Anthropology
School of Human Evolution & Social Change
Center for Social Dynamics & Complexity
Arizona State University

phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton

From: Hamish <hamish_nospam@yahoo.com>
Date: Sun, 8 Oct 2006 15:40:44 +1300
To: grass5 <grass-dev@grass.itc.it>
Subject: [GRASS-dev] proj -l

Hi,

I just learned of the "proj -l" command from PROJ.4. (post on Proj.4 ml)

       -l[p|P|=|e|u|d]id
              List projection identifiers with -l, -lp
              or -lP (expanded) that can be selected
              with +proj. -l=id gives expanded
              description of projection id. List
              ellipsoid identifiers with -le, that can
              be selected with +ellps, -lu list of
              cartesian to meter conversion factors
              that can be selected with +units or -ld
              list of datums that can be selected with
              +datum.

Maybe it would be useful in a future auto-gen g.setproj GUI wizard [if
GRASS moves to "full" use of proj.4].

Hamish