[Proj] Proj API feature requests

Gerald Evenden gerald.evenden at verizon.net
Thu Apr 22 14:10:57 EDT 2004

I suggest you read some of the incomplete manual documentation of 
libproj4 on


It contains a little more information on accessing some of the 

I have no idea what FGDC is so comment is difficult.

Prime meridians *are not* part of libproj4, so no comment.

Most of what you request, although not necessarily documented is 
by example in the [l]proj program.  The data structures referenced may
be updated with different contents but the structure itself is likely to
remain the same.

I guess that part of what you want is a "tutorial" for each of the 
The library is not constructed with this in mind as it was designed as a
filter program and expects the user to know how to perform cartographic
projections and have a basic understanding of the necessary parameters.

As an aside, I had forgotten about some of the hyphen functions you 
and had to look them up myself.  These are all functions of the program 
and not part of the library and except for changing proj to lproj I 
have not messed
with its internals for years.  I only use it to test projections.

My only concern is with the library and not with the program [l]proj 
which is
distributed with the library as an example of how to use the library and
as a reasonably usable filter function.  Certainly, write another 
to the library---I have for several applications like graphics.  But 
tables, structures are my concern and should not be tread upon without
serious thought.

On Apr 22, 2004, at 1:16 PM, Judd Taylor wrote:

>     I've been using the proj library through the C API for a couple of 
> years
> now. Although I like the simplicity of the API, a couple of extensions 
> would
> be useful to make some of the command line tool's functionality 
> available in
> C code without having to parse the command line tool's output.
>     Here's a list of what features would have made my life easier in 
> the
> past, and a couple of things that would make things easy enough that I 
> could
> add more functionality to my programs:
>     1. Verbose configuraion information, similar to cmdline's '-v' (to 
> be
> used to generate FGDC compliant metadata).
>     2. Per-point characteristics, similar to cmdline's '-V'
>     3. Error estimation similar to cmdline's '-S' option.
>     4. Querying through the API of available projections and their
> information, as well cartesian units querying, similar to the cmdline's
> '-l', '-lP', '-lu', and '-le' options.
>     Returning strings would work in a pinch, but it would be nice to 
> get
> direct access to the data structures that hold this information. After 
> a
> quick look at projects.h, it looks like the interesting structs are 
> going to
> PJ_PRIME_MERIDIANS, FACTORS. Of course, direct access to the structs 
> via the
> API makes might break backwards-compatibility if they change down the
> road... so maybe something else may work better.
>     For #2-3 above, a seperate function for pj_fwd(), pj_inv(), etc... 
> would
> be nice as the extended information would be available, but if you 
> don't
> want it you could just call the normal functions which should be 
> faster.
>     Any thoughts/ideas/volunteers?
> -Judd
Jerry and the low riders: Daisy Mae and Joshua

More information about the Proj mailing list