|
|
| |
geoProj(3) |
Geography C functions |
geoProj(3) |
See the file man.macros.
GeoProj, GeoProjAlloc, GeoProjInit, GeoProjFree, GeoProjDestroy, GeoProjGetInfo,
GeoProjGetType, GeoProjDescriptor, ProjToLatLon, LatLonToProj, SetCylEqDist,
SetCylEqArea, SetMercator, SetLambertConfConic, SetLambertEqArea,
SetStereographic, SetOrthographic, GeoProjSetRotation - apply cartographic
projections to geographic and map coordinates.
#include <geoProj.h>
GeoProj GeoProjAlloc(void);
void GeoProjInit(GeoProj proj);
void GeoProjFree(GeoProj proj);
void GeoProjDestroy(GeoProj proj);
GeoProjInfo GeoProjGetInfo(GeoProj proj);
enum ProjType GeoProjGetType(GeoProj proj);
char * GeoProjDescriptor(GeoProj proj);
GeoPt ProjToLatLon(MapPt mapPt, GeoProj proj);
MapPt LatLonToProj(GeoPt geoPt, GeoProj proj);
void SetCylEqDist(GeoProj proj, Angle refLat, Angle refLon);
void SetCylEqArea(GeoProj proj, Angle refLon);
void SetMercator(GeoProj proj, Angle refLon);
void SetLambertConfConic(GeoProj proj, Angle refLat, Angle refLon);
void SetLambertEqArea(GeoProj proj, GeoPt refPt);
void SetStereographic(GeoProj proj, GeoPt refPt);
void SetOrthographic(GeoProj proj, GeoPt refPt);
void GeoProjSetRotation(GeoProj proj, Angle angle);
These functions convert geographic points to and from projection coordinates.
Projection information is stored in objects of type GeoProj.
- GeoProjAlloc creates a new projection. It returns the
projection
- or NULL on failure. When no longer needed, the projection should be
destroyed with a call to GeoProjDestroy.
- GeoProjInit initializes internal members of new projection
proj.
- It assumes the previous contents of proj are garbage. Initializing
a GeoProj object may involve memory allocations, which should
eventually be freed with a call to GeoProjFree.
- GeoProjFree frees internal memory associated with proj that
was
- allocated during a call to GeoProjInit. proj remains
allocated.
- GeoProjDestroy frees all memory associated with proj, during
a
- call to GeoProjAlloc, and it frees proj.
- GeoProjGetInfo returns a GeoProjInfo structure for
proj.
- GeoProjInfo structures store publicly visible members of a
GeoProj object. The GeoProjInfo structure is declared as
follows: typedef struct GeoProjInfo {
enum ProjType type;
union {
Angle rLon;
GeoPt refPt;
} prm; } GeoProjInfo; where type is the projection type, rLon
is a reference longitude in microdegrees, and refPt is a reference
point. The projection type determines which union member applies.
- The currently defined types are:
- enum ProjType {
CylEqDist, CylEqArea, Mercator, LambertConfConic, Stereographic,
Orthographic };
- GeoProjGetType returns the type of proj.
- GeoProjDescriptor returns the descriptor from proj. The
returned
- value should not be modified by the user.
- ProjToLatLon returns the geographic point corresponding to
mapPt
- in projection proj. Returns GeoPtNowhere() if mapPt
cannot be transformed by proj. See the geography (3) man
page for more information on MapPt objects.
- LatLonToProj returns the map point corresponding to
geoPt
- in projection proj. Returns MapPtNowhere() if geoPt
cannot be transformed by proj.
- SetCylEqDist sets proj to Cylindrical Equidistant
projection
- referenced to refLat and refLon. proj should have
been already allocated. Upon return proj will have a descriptor of
form "CylEqDist with reference point {refLat refLon}
global."
- SetCylEqArea sets proj to Cylindrical Equal Area
projection
- referenced to refLon. proj should have been already
allocated. Upon return proj will have a descriptor of form
"CylEqArea with reference longitude refLon
global."
- SetMercator sets proj to Mercator projection referenced
to
- refLon. proj should have been already allocated. Upon return
proj will have a descriptor of form "Mercator with
reference longitude refLon global."
- SetLambertConfConic sets proj to Lambert Conformal Conic
projection
- referenced to refLat and refLon. proj should have
been already allocated. Upon return proj will have a descriptor of
form "LambertConfConic reference point {refLat
refLon} global."
- SetLambertEqArea sets proj to Lambert Azimuthal Equal
Area
- projection referenced to refPt. proj should have been
already allocated. Upon return proj will have a descriptor of form
"LambertEqArea with reference point refPt
hemispheric."
- SetStereographic sets proj to Stereographic projection
referenced
- to refPt. proj should have been already allocated. Upon
return proj will have a descriptor of form "Stereographic
with reference point refPt hemispheric."
- SetOrthographic sets proj to Orthographic projection
referenced
- to refPt. proj should have been already allocated. Upon
return proj will have a descriptor of form "Orthographic
with reference point refPt hemispheric."
- GeoProjSetRotation sets the projection rotation to angle.
This
- is the orientation of the map surface onto which the Earth's surface is
projected. The angle is clockwise from the unrotated
projection.
Gordon Carrie (user0@tkgeomap.org)
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |