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].
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.
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.
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
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].