[OSRS-PROJ] Brief history of PROJ[4]

Gerald Evenden gerald.evenden at verizon.net
Fri Mar 12 10:32:00 EST 2004

This is a short history of PROJ[4].

Beginnings: in the late 70's I became involved in putting together map
plotting software for USGS,  Branch of Atlantic Geology in Woods Hole, 
Although I had previous experience in the problems of cartographic
projections and graphics in the Denver office, something more 
was needed.

Up to that era cartographic projection software was a scarce commodity
and the only things available were a package from the CIA and Topo's
GCTP (General Cartographic Transformation Package).  GCTP was close
to what we needed *but* was not conducive to be incorporated into
other software and was/is a nightmare of internal coding.  Being raised
on Algol, FORTRAN was always a very painful experience.

Through the next decade our mapping program evolved through
several stages and languages.  First to RATFOR and eventually to C.
Each stage was also evolutionary as to program structure; both of the
graphics as well as the projections.  I must point out that I kept the
two processes almost completely separated as I felt the projection
material had uses other than just making maps.

During this period the terms MAPGEN and PROJ became designations
for the software.  During later stages and even more refinement, the
tern PROJ.4 was adopted.  Advent of commercial graphic software finally
caused the demise of the MAPGEN system which was purely vector
oriented and for large scale applications.

Since PROJ is as much avocational as vocational I continued involvement
and expanded capabilities of the system after retirement some 10 years 
The distribution available at the USGS site kai.er.usgs.gov represents 
level at the time of my retirement.

I finally decided that I should get the PROJ system out of the datum 
that was contained in the last USGS release as the areas covered was
only for the US and was not very general.  Thus libproj4 was born: a 
restricted to geographic/Cartesian transformations.  The elements that 
I was
interested in and most able to support.  Nad2nad was dropped as
well as approximation functions and the name of the sample application
pipe was changed from "proj" to "lproj."

Thus the confusion began.  Most applications out there are based upon
the PROJ.4 distribution and are not compatible with the libproj4 
without some changes.  Remotesensing has used the PROJ4 material and
added a number of internal changes which make updating to libproj4
a significant software effort.  I believe GRASS falls into the same

As a postscript I must add that several years ago information on datums
and their conversions outside the US was a mysterious area.  Information
was hard to come by and one was viewed as a dangerous spy if you asked
about such matters.  So who needed this grief and I dropped any 

Jerry and the low riders: Daisy Mae and Joshua

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

More information about the Proj mailing list