This are the neccessary steps to get full map datum support within GRASS: - change coorcnv library calls to use $GISBASE/etc/datum.table done. - change coorcnv library to use ellipsoids in $GISBASE/etc/ellipse.table done. - add datum support functions to coorcnv library: datum shift parameters: + CC_get_datum_by_name + CC_get_datum_by_nbr x CC_datum_name x CC_datum_description + CC_datum_ellipsoid x CC_datum_shift -> CC_get_datum_parameters + CC_get_datum_parameters ( or CC_get_datum_parameters3?) CC_get_datum_parameters7 spheroid/ellipsoid parameters: (only wrappers for libgis calls!) * CC_get_spheroid * CC_spheroid_name + CC_get_spheroid_by_name + CC_get_spheroid_by_nbr (reworked and new gislib calls) + G_ellipsoid_name + G_get_spheroid_by_name (for f parameter) + G_ellipsoid_name + G_ellipsoid_description * G_get_ellipsoid_by_name * G_get_ellipsoid_parameters datum shift routines: + CC_datum_shift_Molodensky + CC_datum_to_datum_shift_M + CC_datum_shift_CC + CC_datum_to_datum_shift_CC + CC_datum_shift_BursaWolf + CC_datum_to_datum_shift_BW others: + CC_geo2lld + CC_lld2geo symbols: ? not known x changable, because not used in any module * existing, not changable + new not yet implemented mostly done, needs testing. - change m.datum.shift to new library calls done, needs testing. - add functions for low-level datum support to gislib (in analogy to the ellipsoid and projection functions): add metadata (datum name and parameters) to PROJ_INFO to every PERMAMENT mapset of locations. This is done via g.setproj i assume (please correct me if i am wrong!) proposed format: datum: acronym ellips: acronym -> already there dx: -> shifting parameter dx relative to wgs84 dy: -> dy dz: -> dz a: -> already in PROJ_INFO e2: -> already in PROJ_INFO f: -> from ellipse.table - add a function to read the datum parameters for the actual location (parallel to G_database_projection_name and G_get_ellipsoid_parameters) + G_database_datum_name() + G_get_datum_parameters(a, e2, f, dx, dy, dz) + G_get_datum_parameters7(a, e2, f, dx, dy, dz, rx, ry, rz, m) - add G_ask_datum_name for interactive use in modules + G_ask_datum_name() done. - change all modules that create new locations to ask the user for a map datum and add to PROJ_INFO file. This is done via g.setproj. - change all modules that do projection or data-import to use datum conversion: v.proj r.proj s.proj r.in.* v.in.* etc. Please note that i am only involved with the first steps of changing the library to support map datums. The changes in the modules must be done by other GRASS developers or the module maintainers. Andreas Lange, 05/2000, andreas.lange@rhein-main.de