[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

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

It contains a little more information on accessing some of the 
internals.

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 
available
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 
projections.(?)
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 
mentioned
and had to look them up myself.  These are all functions of the program 
[l]proj
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 
interface
to the library---I have for several applications like graphics.  But 
internal
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
> be: PJ_LIST, PJ_ELLPS, PJ_UNITS, PJ_DATUMS, PJ_ELLPS, PJ_UNITS,
> 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