[OSRS-PROJ] lib call results differ from exec results

Norman Vine nhv at cape.com
Mon Jul 14 19:49:23 EDT 2003


Sharon Mingus writes:
> 
> --- Karl Swartz <karl at kls2.com> wrote:
> > > The system you are using must be loaded with some odd macros
> > > so as to interpret things like:
> > > 
> > > projXY xy;    ????
> > > 
> > > Hmmm, A storage declaration, maybe, but I've never
> > seen one in
> > > the middle of a block but, then again, I can't
> > find a rule that
> > > they can't be.
> > 
> > It's not legal in C, but it is in C++. and a C++
> > compiler can compile a
> > C program.
> 
> projXY is the return type of pj_fwd as defined in
> proj_api.h:
> 
> projXY pj_fwd(projLP, projPJ);

Part of the problem here is you are working with the version
from remotesensing.org which is slightly modified from the
original Proj, which Gerald wrote and still supports.

see
http://members.bellatlantic.net/~vze2hc4d/proj4/

note the difference below

< original version >
typedef struct { double u, v; }	UV;
typedef struct { double r, i; }	COMPLEX;

#ifdef PROJ_UV_TYPE
#define XY UV
#define LP UV
#else
typedef struct { double x, y; }     XY;
typedef struct { double lam, phi; } LP;
#endif

< remotesensing.org version >
#if !defined(PROJECTS_H)
    typedef struct { double u, v; } projUV;
    typedef void *projPJ;
    #define projXY projUV
    #define projLP projUV
#else
    typedef PJ *projPJ;
#   define projXY	XY
#   define projLP       LP
#endif

HTH

Norman

----------------------------------------
PROJ.4 Discussion List
See http://www.remotesensing.org/proj for subscription, unsubscription
and other information.



More information about the Proj mailing list