PDS_VERSION_ID = PDS3 LABEL_REVISION_NOTE = "2000-09-21 RS:simpson original; 2001-06-13 RS:simpson revision; 2013-06-17 DK:kahan revision; 2013-08-22 DK:kahan GRAIL RDR peer review revisions. 2016-03-15 kjha: updated definitions for line and sample projection offset for the GRGM1200A maps." RECORD_TYPE = STREAM OBJECT = DATA_SET_MAP_PROJECTION DATA_SET_ID = "GRAIL-L-LGRS-5-RDR-V1.0" OBJECT = DATA_SET_MAP_PROJECTION_INFO MAP_PROJECTION_TYPE = "SIMPLE CYLINDRICAL" MAP_PROJECTION_DESC = " The following description applies only to the GRGM1200A RSDMAP data. In the simple cylindrical projection [SNYDER1987], parallels of latitude and meridians of longitude are straight lines that intersect one another at right angles. Images in this projection are centered on the equator. Map resolution is constant throughout the image, thus increasing distortion away from the poles. Discrepancies with Offset Parameters in previous releases: ---------------------------------------------------------- The registration of the LOLA GDR image arrays is the same, but the keywords for projection offset have been revised and values decreased by 1. Previous releases were based on a description of offset used for Mars digital elevation models which is inconsistent with that given in the PDS data dictionary, http://pds.nasa.gov/tools/ddlookup/ data_dictionary_lookup.cfm and with examples given in the PDS Standards Reference, 2009-02-27. The effect of this description was to give projection offsets larger by 1. The transformation from latitude and longitude (LAT, LON) in degrees to LINE and SAMPLE indices is given here by the following equations. Longitude increases from west to east and is non-negative. SAMPLE = NINT(SAMPLE_PROJECTION_OFFSET + RES * (LON - CENTER_LONGITUDE)) + 1 LINE = NINT(LINE_PROJECTION_OFFSET - RES * (LAT - CENTER_LATITUDE)) + 1 NINT is a Fortran intrinsic rounding function, identical to the C math.h library function rint. In the case of half-integer values, the NINT function rounds to the nearest even whole number. The inverse transformation from the center of the pixel (SAMPLE,LINE) is LON = CENTER_LONGITUDE + (SAMPLE -SAMPLE_PROJECTION_OFFSET - 1) / RES LAT = CENTER_LATITUDE - (LINE - LINE_PROJECTION_OFFSET - 1) / RES Note that the offset of 1 is part of the equation, so that the result of rounding the expression to the nearest whole number will produce a value of (1,1) for a point whose longitude and latitude lie inside the upper left-most pixel. For a map resolution of one degree per pixel, spanning longitudes from 0 to 360 degrees of longitude and from -90 to 90 degrees in latitude, with CENTER_LONGITUDE = 180 degrees and CENTER_LATITUDE = 0 degrees, a point lying in the open interval (0-1) degrees in longitude must lie in sample 1. Thus, SAMPLE_PROJECTION_OFFSET = 179.5 so that for a point at 0.5 degree longitude, SAMPLE = NINT(179.5 + (0.5 - 180.)) + 1 will result in a value of 1. The value 1 is added after rounding so that longitude 0 also is in sample 1. As a convention, longitude 360 lies within the last sample, although this value should not occur in a standard conversion of angles to degrees. Similarly, LINE_PROJECTION_OFFSET = 89.5 in this example. For a point lying midway between 89 and 90 degrees latitude, LINE = NINT(89.5 - (89.5 - 0.0)) + 1 will result in a value of 1. As a convention, latitude -90 lies within the last line. These equations refer to a digital array in which the positive direction is to the right and down, and where: LAT and LON are the latitude and longitude of a given spot on the surface in degrees. LINE_PROJECTION_OFFSET provides the line offset value of the map projection origin position from the line and sample 1,1 (line and sample 1,1 is considered the upper left corner of the digital array). SAMPLE_PROJECTION_OFFSET provides the sample offset value of the map projection origin position from line and sample 1,1 (line and sample 1,1 is considered the upper left corner of the digital array). CENTER_LONGITUDE, CENTER_LATITUDE are the longitude and latitude chosen as the origin of the map projection. RES (MAP_RESOLUTION) is the number of pixels per degree at the projection origin. Values for LINE_PROJECTION_OFFSET, SAMPLE_PROJECTION_OFFSET, CENTER_LONGITUDE, CENTER_LATITUDE, and MAP_RESOLUTION are found in the IMAGE_MAP_PROJECTION object in an image's PDS label. In the above definitions, a pixel is assumed to cover an area, and the integral values of LINE and SAMPLE are assumed to correspond to the center of the area. The pixel in the upper left corner is line 1, sample 1. The latitude and longitude corresponding to the center of pixel (1,1) are maximum latitude - 1/(RES*2) and westernmost longitude + 1/(RES*2). The top edge of pixel (1,1) has the maximum latitude in the image. The left edge of pixel (1,1) has westernmost longitude in the image. ############################################################################## Previously, these definitions were worded as: LINE_PROJECTION_OFFSET is the line number on which the map projection origin occurs; i.e., the line number that corresponds to the center latitude. SAMPLE_PROJECTION_OFFSET is the sample number on which the map projection origin occurs; i.e., the sample number that corresponds to the center longitude. Integral values of LINE and SAMPLE are assumed to correspond to the center of the area covered by that pixel. and the equations as SAMPLE = SAMPLE_PROJECTION_OFFSET + RES * (LON - CENTER_LONGITUDE) LINE = LINE_PROJECTION_OFFSET - RES * (LAT - CENTER_LATITUDE) where it was not specified how rounding is performed, but we believe rounding to nearest integer was implied. In our example above, the distance from the center of the SAMPLE_PROJECTION_OFFSET = 180.5, and for longitude 0.0, SAMPLE = 0.5, which rounds to zero and is not a valid index. For longitudes greater than zero but less than 1, SAMPLE = 1. Lastly, the USGS Lunar MDIM (Eliason, 7/1/1997) uses a convention for projections in which the equation for LINE is LINE = INT(LINE_PROJECTION_OFFSET - LAT*MAP_RESOLUTION) Assuming the usual meaning of INT as rounding downward, this implies for our example that LINE_PROJECTION_OFFSET = 91. ############################################################################## " ROTATIONAL_ELEMENT_DESC = "See [DAVIESETAL1995]." OBJECT = DS_MAP_PROJECTION_REF_INFO REFERENCE_KEY_ID = "DAVIESETAL1995" END_OBJECT = DS_MAP_PROJECTION_REF_INFO OBJECT = DS_MAP_PROJECTION_REF_INFO REFERENCE_KEY_ID = "SNYDER1987" END_OBJECT = DS_MAP_PROJECTION_REF_INFO END_OBJECT = DATA_SET_MAP_PROJECTION_INFO END_OBJECT = DATA_SET_MAP_PROJECTION END