double x; double y; double *lon; double *lat;
utminv(x, y, lon, lat) -- Universal Transverse Mercator (UTM) stplninv(x, y, lon, lat) -- State Plane alberinv(x, y, lon, lat) -- Albers lamccinv(x, y, lon, lat) -- Lambert Conformal Conic merinv(x, y, lon, lat) -- Mercator psinv(x, y, lon, lat) -- Polar Stereographic polyinv(x, y, lon, lat) -- Polyconic eqconinv(x, y, lon, lat) -- Equidistant Conic tminv(x, y, lon, lat) -- Transverse Mercator (TM) sterinv(x, y, lon, lat) -- Stereographic lamazinv(x, y, lon, lat) -- Lambert Azimuthal aziminv(x, y, lon, lat) -- Azimuthal Equidistant gnominv(x, y, lon, lat) -- Gnomonic orthinv(x, y, lon, lat) -- Orthographic gvnspinv(x, y, lon, lat) -- General Near Side Perspective sininv(x, y, lon, lat) -- Sinusoidal equiinv(x, y, lon, lat) -- Equirectangular millinv(x, y, lon, lat) -- Miller vandginv(x, y, lon, lat) -- Van der Grinten omerinv(x, y, lon, lat) -- Hotine Oblique Mercator (HOM) robinv(x, y, lon, lat) -- Robinson sominv(x, y, lon, lat) -- Space Oblique Mercator (SOM) alconinv(x, y, lon, lat) -- Alaska Conformal goodinv(x, y, lon, lat) -- Goode molwinv(x, y, lon, lat) -- Mollweide imolwinv(x, y, lon, lat) -- Interrupted Mollweide haminv(x, y, lon, lat) -- Hammer wivinv(x, y, lon, lat) -- Wagner IV wviiinv(x, y, lon, lat) -- Wagner VII obleqinv(x, y, lon, lat) -- Oblated Equal Areainit_inv() must be called once before calling any of the above subroutines. For example, if utminv() is to be called, init_inv() must be called setting the UTM projection, UTM zone, and ellipsoid. Then utminv() may be called as many times as needed even if init_inv() is called initializing another projection. The only exception is if init_inv() is called initializing UTM with another zone or ellipsoid, then init_inv() must be called again to perform the original conversion.
E_SUCC (0) --> Successful completion ERROR (>0) --> An error was encountered IN_BREAK (-2) --> Coordinates fell into interrupted area