[GRASSLIST:2204] Re: Another problem with r.proj
Glynn Clements
glynn.clements at virgin.net
Sat Jul 28 17:30:59 EDT 2001
Rich Shepard wrote:
> The first file I'm trying to convert is a map of the PLSS (Public Land
> Survey System. It _may_ be that the bounds of the PLSS map exceed that of
> the DEM map. Would that cause r.proj to fail with an error sequence of:
>
> cannot initialize pj
> cause: projection not named
> ERROR: Can't get projection key values of output map
>
> ?
>
> No, that does not appear to be the problem. The module cannot find its
> pajamas, apparently, but the projection _is_ named in PROJ_INFO:
>
> proj: utm
> zone: 11
> ellps: clrk66
> datum: NAD27
>
> So, I wonder what "projection key values" it needs but cannot find.
I'm completely unfamiliar with the projection library; however,
looking through the code indicates that the issue is this:
src/raster/r.proj/cmd/main.c calls G_get_projinfo(), which reads
various projection parameters from the PROJ_INFO file. It then passes
theses parameters to pj_get_kv(), which does this:
if (strncmp(proj_in, "Lat", 3) != 0) {
if (!(pj = pj_init(nopt1, opt_in))) {
fprintf(stderr, "cannot initialize pj\ncause: ");
fprintf(stderr,"%s\n",pj_strerrno(pj_errno));
(opt_in is derived from the projection parameters).
pj_strerrno() indicates that "projection not named" corresponds to a
pj_errno value of -4. pj_init() will set pj_errno to this value in the
case:
/* find projection selection */
if (!(name = pj_param(start, "sproj").s))
{ pj_errno = -4; goto bum_call; }
This suggests that that pj_init() requires the "sproj" parameter to be
defined, but I can't find anything in GRASS which defines it (the only
reference which I can find anywhere in the GRASS source tree is the
one above where pj_init() checks for its existence).
However, this would seem to imply that anything which calls pj_init()
would fail. Are any of [mrsv].proj known to work?
--
Glynn Clements <glynn.clements at virgin.net>
More information about the grass-user
mailing list