123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- /*! \page projlib GRASS and the PROJ4 projection library
- <!-- doxygenized from "GRASS 5 Programmer's Manual"
- by M. Neteler 11/2005
- -->
- by GRASS Development Team
- http://grass.osgeo.org
- \section projintro GRASS GIS and the PROJ4 projection library
- GRASS GIS utilizes the PROJ4 library (<a
- href="http://proj.osgeo.org">http://proj.osgeo.org</a>) originally
- developed by Gerald Evenden/USGS (Cartographic Projection Procedures
- for the UNIX Environment -- A User's Manual, Evenden, 1990, Open-file
- report 90-284). The PROJ4 functions are used through wrapper functions
- in a GRASS environment.
- Internally to the PROJ.4 library, projection may involve transformation to
- and from geodetic co-ordinates (latitude and longitude), and numerical
- corrections to account for different datums.
- This is transparent for the user as input and output parameters are
- either read from PROJ_INFO and PROJ_UNITS files (<tt>g.proj</tt>,
- <tt>v.proj</tt>, <tt>r.proj</tt>).
- In GRASS the wrapper functions in lib/proj/get_proj.c makes the
- preparations to set up the parameter strings and init the info-structures,
- while lib/proj/do_proj.c contains the actual projection calls.
- Files lib/proj/ellipse.c and lib/proj/datum.c contain functions for
- querying GRASS locations and users for ellipsoid and datum information
- (some of these functions were included in the GIS library in earlier
- versions of GRASS).
- File lib/proj/convert.c contains functions for converting GRASS
- co-ordinate system descriptions to and from the formats used by other
- GIS. Heavy use is made of the OGR library, part of GDAL
- (http://www.gdal.osgeo.org/ogr/).
- \subsection datum_transformation Datum transformation
- GRASS generally supports datum transformation (3 parameters, 7 parameters
- and grid).
- <p>
- If a warning appears that a certain datum is not recognised by GRASS and
- no parameters found, the datum transformation parameters have to be
- added to $GISBASE/etc/proj/datum.table (and also $GISBASE/etc/proj/datumtransform.table
- if you have 7-parameter transformation parameters). No need to re-compile
- though. When adding to SVN, currently these files are still in lib/gis/.
- <p>
- A list of datum equivalents is included in convert.c for geospatial files that
- use a non-standard name for a datum that is already supported in GRASS.
- <p>
- Hint: use GDAL's "testepsg" to identify the canonical name, e.g.
- testepsg epsg:4674
- \subsection Makefile_Example Makefile Example
- <p>
- The following code demonstrates the Makefile.
- \verbatim
- MODULE_TOPDIR = ../..
- PGM = r.myproj
- EXTRA_INC = $(PROJINC)
- LIBES = $(GPROJLIB) $(GISLIB)
- DEPENDENCIES= $(GPROJDEP) $(GISDEP)
- include $(MODULE_TOPDIR)/include/Make/Module.make
- default: cmd
- \endverbatim
- \section Functions
- - GPJ_ask_datum_params()
-
- - GPJ_get_datum_by_name()
- - GPJ__get_datum_params()
- - GPJ_get_datum_params()
-
- - GPJ_get_default_datum_params_by_name()
- - GPJ_get_ellipsoid_by_name()
-
- - GPJ_get_ellipsoid_params()
-
- - GPJ_get_equivalent_latlong()
-
- - GPJ_grass_to_osr()
-
- - GPJ_grass_to_wkt()
- - GPJ_free_datum()
- - GPJ_free_ellps()
-
- - GPJ_set_csv_loc()
-
- - GPJ_osr_to_grass()
- - GPJ_wkt_to_grass()
- */
|