aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Doxyfile272
-rw-r--r--proj.dox154
2 files changed, 426 insertions, 0 deletions
diff --git a/Doxyfile b/Doxyfile
new file mode 100644
index 00000000..57f44ab2
--- /dev/null
+++ b/Doxyfile
@@ -0,0 +1,272 @@
+# Doxyfile 1.5.6
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+DOXYFILE_ENCODING = UTF-8
+PROJECT_NAME = PROJ.4
+PROJECT_NUMBER = svn
+OUTPUT_DIRECTORY = .
+CREATE_SUBDIRS = NO
+OUTPUT_LANGUAGE = English
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ABBREVIATE_BRIEF = "The $name class" \
+ "The $name widget" \
+ "The $name file" \
+ is \
+ provides \
+ specifies \
+ contains \
+ represents \
+ a \
+ an \
+ the
+ALWAYS_DETAILED_SEC = NO
+INLINE_INHERITED_MEMB = NO
+FULL_PATH_NAMES = YES
+STRIP_FROM_PATH = ./src/
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = NO
+QT_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP = NO
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 8
+ALIASES =
+OPTIMIZE_OUTPUT_FOR_C = YES
+OPTIMIZE_OUTPUT_JAVA = NO
+OPTIMIZE_FOR_FORTRAN = NO
+OPTIMIZE_OUTPUT_VHDL = NO
+BUILTIN_STL_SUPPORT = NO
+CPP_CLI_SUPPORT = NO
+SIP_SUPPORT = NO
+IDL_PROPERTY_SUPPORT = YES
+DISTRIBUTE_GROUP_DOC = NO
+SUBGROUPING = YES
+TYPEDEF_HIDES_STRUCT = NO
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = NO
+EXTRACT_STATIC = YES
+EXTRACT_LOCAL_CLASSES = YES
+EXTRACT_LOCAL_METHODS = NO
+EXTRACT_ANON_NSPACES = NO
+HIDE_UNDOC_MEMBERS = YES
+HIDE_UNDOC_CLASSES = YES
+HIDE_FRIEND_COMPOUNDS = NO
+HIDE_IN_BODY_DOCS = NO
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = NO
+SORT_GROUP_NAMES = NO
+SORT_BY_SCOPE_NAME = NO
+GENERATE_TODOLIST = YES
+GENERATE_TESTLIST = YES
+GENERATE_BUGLIST = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = YES
+SHOW_DIRECTORIES = NO
+SHOW_FILES = YES
+SHOW_NAMESPACES = YES
+FILE_VERSION_FILTER =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = NO
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_FORMAT = "$file:$line: $text"
+WARN_LOGFILE =
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT = .
+INPUT_ENCODING = UTF-8
+FILE_PATTERNS = *.c \
+ *.cc \
+ *.cxx \
+ *.cpp \
+ *.c++ \
+ *.java \
+ *.h \
+ *.hh \
+ *.hxx \
+ *.hpp \
+ *.h++ \
+ *.inc \
+ *.dox \
+ *.py \
+ *.C \
+ *.CC \
+ *.C++
+RECURSIVE = YES
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXCLUDE_SYMBOLS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS = *
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION = YES
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS = YES
+VERBATIM_HEADERS = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 5
+IGNORE_PREFIX =
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = YES
+HTML_OUTPUT = apihtml
+HTML_FILE_EXTENSION = .html
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+GENERATE_DOCSET = NO
+DOCSET_FEEDNAME = "Doxygen generated docs"
+DOCSET_BUNDLE_ID = org.doxygen.Project
+HTML_DYNAMIC_SECTIONS = NO
+CHM_FILE =
+HHC_LOCATION =
+GENERATE_CHI = NO
+CHM_INDEX_ENCODING =
+BINARY_TOC = NO
+TOC_EXPAND = NO
+DISABLE_INDEX = NO
+ENUM_VALUES_PER_LINE = 4
+GENERATE_TREEVIEW = NONE
+TREEVIEW_WIDTH = 250
+FORMULA_FONTSIZE = 10
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = YES
+USE_PDFLATEX = YES
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_LINKS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML = NO
+XML_OUTPUT = xml
+XML_SCHEMA =
+XML_DTD =
+XML_PROGRAMLISTING = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = NO
+EXPAND_ONLY_PREDEF = NO
+SEARCH_INCLUDES = YES
+INCLUDE_PATH =
+INCLUDE_FILE_PATTERNS =
+PREDEFINED =
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES =
+GENERATE_TAGFILE =
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+PERL_PATH = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = YES
+MSCGEN_PATH =
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = YES
+DOT_FONTNAME = FreeSans
+DOT_FONTPATH =
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+GROUP_GRAPHS = YES
+UML_LOOK = NO
+TEMPLATE_RELATIONS = NO
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+CALL_GRAPH = NO
+CALLER_GRAPH = NO
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = YES
+DOT_IMAGE_FORMAT = png
+DOT_PATH = /usr/bin/dot
+DOTFILE_DIRS =
+DOT_GRAPH_MAX_NODES = 50
+MAX_DOT_GRAPH_DEPTH = 1000
+DOT_TRANSPARENT = YES
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE = YES
diff --git a/proj.dox b/proj.dox
new file mode 100644
index 00000000..ccb71b0d
--- /dev/null
+++ b/proj.dox
@@ -0,0 +1,154 @@
+/*! \mainpage PROJ.4 Programmer's Manual
+
+<h2>PROJ.4 Programmer's Manual</h2>
+
+<a href="http://trac.osgeo.org/proj/">PROJ.4 - Cartographic Projections Library</a>
+
+
+<h3>DESCRIPTION</h3>
+
+Procedure pj_init selects and initializes a cartographic projection with its
+argument control parameters. Argc is the number of elements in the array of
+control strings argv that each contain individual cartographic control keyword
+assignments (+ proj arguments). The list must contain at least the
+proj=projection and Earth's radius or elliptical parameters. If the
+initialization of the projection is successful a valid address is returned
+otherwise a NULL value.
+
+The pj_init_plus function operates similarly to pj_init but takes a single
+string containing the definition, with each parameter prefixed with a plus sign.
+ For example "+proj=utm +zone=11 +ellps=WGS84".
+
+Once initialization is performed either forward or inverse projections can be
+performed with the returned value of pj_init used as the argument proj. The
+argument structure projUV values u and v contain respective longitude and
+latitude or x and y. Latitude and longitude are in radians. If a projection
+operation fails, both elements of projUV are set to HUGE_VAL (defined in
+math.h).
+
+Note: all projections have a forward mode, but some do not have an inverse
+projection. If the projection does not have an inverse the projPJ structure element
+inv will be NULL.
+
+The pj_transform function may be used to transform points between the two
+provided coordinate systems. In addition to converting between cartographic
+projection coordinates and geographic coordinates, this function also takes care
+of datum shifts if possible between the source and destination coordinate
+system. Unlike pj_fwd and pj_inv it is also allowable for the coordinate system
+definitions (projPJ *) to be geographic coordinate systems (defined as
++proj=latlong). The x, y and z arrays contain the input values of the points,
+and are replaced with the output values. The function returns zero on success,
+or the error number (also in pj_errno) on failure.
+
+Memory associated with the projection may be freed with pj_free.
+
+
+<h3>EXAMPLE</h3>
+
+The following program reads latitude and longitude
+values in decimal degress, performs Mercator
+projection with a Clarke 1866 ellipsoid and
+a 33° latitude of true scale and prints the projected
+cartesian values in meters:
+
+\verbatim
+ #include <proj_api.h>
+
+ main(int argc, char **argv) {
+ char *args[] = { "proj=merc", "ellps=clrk66", "lat_ts=33" };
+ projUV p;
+ projPJ pj;
+
+ if (!(pj = pj_init(3, args)))
+ exit(1);
+ while (scanf("%lf %lf", &p.v, &p.u) == 2) {
+ p.u *= DEG_TO_RAD;
+ p.v *= DEG_TO_RAD;
+ p = pj_fwd(p, pj);
+ printf("%.2f\t%.2f\n", p.u, p.v);
+ }
+ exit(0);
+ }
+\endverbatim
+
+<h3>API Functions</h3>
+
+XY pj_fwd( LP lp, PJ *P );
+
+LP pj_inv( XY xy, PJ *P );
+
+int pj_transform( PJ *srcdefn, PJ *dstdefn, long point_count, int point_offset, double *x, double *y, double *z );
+
+int pj_datum_transform( PJ *srcdefn, PJ *dstdefn, long point_count, int point_offset, double *x, double *y, double *z );
+
+int pj_compare_datums( PJ *srcdefn, PJ *dstdefn );
+
+int pj_geocentric_to_geodetic( double a, double es, long point_count, int point_offset, double *x, double *y, double *z );
+
+int pj_geodetic_to_geocentric( double a, double es, long point_count, int point_offset, double *x, double *y, double *z );
+
+int pj_apply_gridshift( const char *nadgrids, int inverse, long point_count, int point_offset, double *x, double *y, double *z );
+
+void pj_deallocate_grids( void );
+
+int pj_is_latlong( PJ *pj );
+
+int pj_is_geocent( PJ *pj );
+
+void pj_pr_list( PJ *P );
+
+void pj_set_finder( const char *(*new_finder)(const char *) );
+
+void pj_set_searchpath ( int count, const char **path );
+
+projPJ pj_init(int, char **);
+
+projPJ pj_init_plus(const char *);
+
+char *pj_get_def( projPJ, int );
+
+projPJ pj_latlong_from_proj( PJ *pj_in );
+
+void *pj_malloc( size_t );
+
+void pj_dalloc( void * );
+
+void pj_free( PJ *P );
+
+char *pj_strerrno( int );
+
+int *pj_get_errno_ref( void );
+
+const char *pj_get_release( void );
+
+
+<h3>SEE ALSO</h3>
+
+<h3>Documentation</h3>
+<ul>
+<li><a href="http://pubs.er.usgs.gov/usgspubs/pp/pp1395">Snyder, 1987: Map projections; a working manual</a>.
+</li>
+<li><a href="http://www.asprs.org/resources/GRIDS/">Grids &amp; Datums</a>: Clifford J. Mugnier's columns in PE&amp;RS.
+</li>
+<li><a href="http://www.mapref.org">MapRef</a>: Assorted general information on projections, and related topics.
+</li>
+<li><a href="http://earth-info.nga.mil/GandG/publications/index.htm">NGA Publications on Geodesy</a>.
+</li>
+<li><a href="http://www.progonos.com/furuti/MapProj/CartIndex/cartIndex.html">Map projections</a>: An introduction to cartography emphasizing map projections: their properties, applications and basic mathematics.
+</li>
+<li><a href="http://www.galleryofmapprojections.com/">Paul B. Anderson's Map Projections Site</a>.
+</li>
+</ul>
+
+<h3>Software</h3>
+<ul>
+<li><a href="http://ftp.dfg.ca.gov/Public/BDB/Tools/proj4/proj_api.zip">PROJ.4 VB Wrappers</a> from Eric G. Miller.</li>
+<li><a href="http://www.proj4js.org/">PROJ4JS</a> - Javascript projections implementation.</li>
+<li><a href="http://gmt.soest.hawaii.edu/">GMT</a> - Generic Mapping Tools, includes reprojection services.</li>
+<li><a href="http://edc.usgs.gov/pub/software/gctpc/">GCTPC</a>: The other widely used projection package from the USGS.</li>
+<li><a href="http://earth-info.nga.mil/GandG/geotrans/index.htm">Geotrans</a>: a projections and datum shift program from NIMA/NGA.</li>
+<li><a href="http://www.jhlabs.com/java/maps/proj/">JHLabs Java Map Projection Library</a>: Loosely derived from PROJ.4 with similar syntax.</li>
+<li><a href="http://geotools.org/">GeoTools</a>: GeoTools is a Java GIS library that includes sophisticated projections support.</li>
+</ul>
+
+*/