[Proj] Projections API Reference

Frank Warmerdam warmerdam at pobox.com
Fri Feb 13 19:49:41 EST 2009

Gerald I. Evenden wrote:
> On Friday 13 February 2009 1:50:02 pm Frank Warmerdam wrote:
>> Folks,
>> With some contributions from Markus I have started writing up more detailed
>> reference docs for the PROJ.4 API at:
>>    http://trac.osgeo.org/proj/wiki/ProjAPI
>> This is intended to supercede the pj_init(3) man page which was quite
>> incomplete.  Extensions and improvements are welcome.
>> Best regards,
> I notice that one of the things you completely throw away is the flexibility 
> associated with using structures to define geographic and Cartesian 
> coordinates.
> Although, original proj and current libproj4 simply define LP as struct 
> {double lam, phi} my usage of LP was expanded to include h.  By using 
> stuctures, applications can adopt updates much more simply. 


I would suggest that the way structures were used, an update to the
structures to include h would have resulted in undefined "h" values being
passed into PROJ from old applications.

 >  Similarly, XY
> simply goes to XYZ.  One can also associate ellipoid with the structure.

I'm not sure what you mean about associating an ellipsoid with the structure.

> And for shame, you a C++ programmer an all should know better.

I'm sure that C++ enthusiasts would have suggested substantially different
approaches, but I was not inclined to add a C++ dependency to PROJ.4 at
the time I was extending the API (with pj_transform() and pj_init_plus()
for instance).

I would also humble suggest that many of these points on programming
style are subjective and there is often not a right or wrong.

> There is more to criticise but I don't think it is worth the effor.

My email wasn't really a call for API criticism.  Just a pointer to
a resource, and encouragement for others to extend/correct the docs.

Best regards,
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent

More information about the Proj mailing list