Hi Bill,
I figured out what was going on shortly after I mailed the list.
G_scan* does not convert from one projection to another. It
simply converts from ascii to double, sort of like atof, but
with a few extras. The projection field has nothing to do
with any projection conversions, it just tells G_scan how it
is going to parse the ascii coordinate. For PROJECTION_LL,
G_scan* converts a string of the form ddd:mm:ss.ssW to a double
of the form -dd.ddddd.
I figured this out by looking through m.ll2u. I noticed that
it called CC_ll2u. I was unfamiliar with that library function.
By looking at the Gmakefiles, I found that there is a library
COORCNVLIB which is not documented in the GRASS Programmers
Manual. By a good bit of trial and error, I got CC_ll2u to
do the ll to utm conversions that I wanted. One problem, before,
calling CC_ll2u, you must make calls to
G_get_ellipsoid_by_name()
CC_u2ll_spheroid_parameters()
I guess CC_u2ll_spheroid_parameters() sets up something behind
the scenes, because CC_ll2u will not work if that call is not
made first. No one told me that one! I love being a
detective! Anyway, thanks.
-Steve