GLIMS: Global Land Ice Measurements from SpaceMonitoring the World's Changing Glaciers |
|
Bruce Raup and Siri Jodha Singh Khalsa
National Snow and Ice Data Center
Boulder, Colorado
Contact: braup@nsidc.org
$Revision: 1.3 $
$Date: 2008/07/22 20:32:07 $
The following outlines a method for transferring the results of GLIMS analysis performed at the Regional Centers (RCs) to NSIDC (National Snow and Ice Data Center) for ingest into the GLIMS ( Global Land Ice Measurements from Space) data base. It specifies the formats and conventions for the files that convey these data.
In a given submission to NSIDC, a Regional Center provides information about their institution, the glaciers (names, size, etc.), and polygonal outlines circumscribing the glaciers. These different levels of information are conveyed in a hierarchy of ESRI shapefiles. Bibliographic data can be conveyed in an Endnote-formatted ASCII text file.
Design considerations for this specification include:
The ESRI shapefile format was chosen because
A shapefile actually consists of three files, all with the same basename, but ending in .shp, .dbf, and .shx. The .shp file contains the points, lines, or polygons; the .dbf file contains the attributes; and the .shx file is an index file.
GLIMS glacier data and metadata fall into three categories; they can be:
This hierarchy is reflected in the choice of shapefiles and attributes below. There is a "session" shapefile to convey the highest level information (RC info), a "glaciers" shapefile to convey per-glacier attributes, and a "segments" shapefile to hold all the glacier outline segments and their attributes. In addition, there are other shapefiles to hold information about displacement vector sets, area-elevation histograms, images, point measurements, and ancillary data. In Table 1 below, "Geometry" refers to what kind of geometric objects are in the shapefiles.
Four of the shapefiles are mandatory for any submission from an RC, as they contain the mandatory items for any submission. Not all attributes in each shapefile are mandatory, however.
Shapefile name | Mandatory? | Type* | Geometry |
---|---|---|---|
session.shp | Y | 1,5,11, or 15 | outline of region, or point in middle of region, or point where RC is located |
glaciers.shp | Y | 1 or 11 | point location of glacier |
segments.shp | Y | 3,5,13, or 15 | line segments |
images.shp | Y if no maps | 5 | polygon of image footprint, or part of mosaic made up from this image |
maps.shp | Y if no images | 5 or 1 | polygon or point of map location |
vec_sets.shp | N | 1,5,11, or 15 | Center of mass (point) of vector set, or convex hull around vectors |
vec_points.shp | N | 3 or 13 | two-point vector arcs |
histograms.shp | N | 1 or 11 | point at center of glacier |
ancillary.shp | N | 1 or 5 | |
point_meas.shp | N | 1 or 11 | point measurements |
* Shapefile Types (see "ESRI Shapefile Technical Description: An ESRI White Paper" for details):
1 | Point |
---|---|
3 | PolyLine (arc) |
5 | Polygon |
11 | PointZ |
13 | PolyLineZ (arcz) |
15 | PolygonZ |
The following table lists the attributes contained in each shapefile. The Regional Center may include additional attributes for their own purposes, but non-standard attributes will be ignored during data ingest at NSIDC. Also, optional attributes from the list below may be omitted by a Regional Center if those data do not exist.
Shapefile | Attributes | Required? | Comment |
---|---|---|---|
session | Yes | ||
RC_ID | Yes | ||
analy_time | Yes | date/time analysis was done | |
src_date | No | date or timestamp for the data acquisition | |
data_src | Yes | description of data source | |
proc_desc | Yes | description of processing | |
anlst_surn | Yes | Surname of analyst | |
anlst_givn | Yes | Given name of analyst | |
3d_desc | Yes | Description of how 3-D information was derived | |
glaciers | Yes | ||
ID | Yes | ||
name | No | Name of glacier, if one exists | |
src_date | No | As-of time for this glacier. This overrides src_date in "session". | |
prim_class | No | WGMS fields | |
form | No | ||
front_char | No | ||
long_char | No | ||
mass_src | No | ||
tongue_act | No | ||
width_m | No | Representative width (meters) | |
length_m | No | Representative length (meters) | |
area_km2 | No | ||
abarea_km2 | No | ||
speed_myr | No | ||
snwln_elev | No | ||
wgms_id | No | ||
local_id | No | ||
parent_id | No | GLIMS ID of glacier that is parent of this glacier. | |
image_id1 | No | supercedes value(s) in "images" for this glacier. These are to be the same kind of IDs as orig_id in the images file. | |
image_id2 | No | Ditto. A glacier may have bridged multiple images. | |
image_id3 | No | Ditto. A glacier may have bridged multiple images. | |
image_id4 | No | Ditto. A glacier may have bridged multiple images. | |
image_id5 | No | Ditto. A glacier may have bridged multiple images. | |
map_id1 | No | supercedes value(s) in "maps" for this glacier. These are to be the same kind of IDs as user_map_id in the maps file. | |
map_id2 | No | Ditto. A glacier may have bridged multiple images. | |
map_id3 | No | Ditto. A glacier may have bridged multiple images. | |
map_id4 | No | Ditto. A glacier may have bridged multiple images. | |
map_id5 | No | Ditto. A glacier may have bridged multiple images. | |
segments | Yes | ||
category | Yes | Can be one of: glac_bound, centerline, snow_line, intrnl_rock, pro_lake, supra_lake, debris_cov | |
ID | Yes | glacier ID (G...) or tiepointregion ID (T...) | |
type | Yes | "m" (measured) or "a" (arbitrary) | |
label | No | Is this segment on a terminus? cloud? edge of data? | |
loc_unc_x | Yes | local (within-image) location uncertainty, in meters | |
loc_unc_y | Yes | local (within-image) location uncertainty, in meters | |
glob_unc_x | Yes | global (geographic) location uncertainty, in meters | |
glob_unc_y | Yes | global (geographic) location uncertainty, in meters | |
left_mat | No | material to the left of the segment | |
right_mat | No | material to the right of the segment | |
left_feat | No | feature (higher level of abstraction) on left | |
right_feat | No | feature (higher level of abstraction) on right | |
images | Yes (if analysis derives from imagery) | ||
image_id | No | ID of image within GLIMS (populated on ingest at NSIDC) | |
inst_id | No | Instrument ID (valid IDs: ASTER=1, SPOT5=2, Landsat7=3, SPOT4=4, SPOT3=5, TM5=6, ERS-1 SAR=7, ERS-2 SAR=8, Ikonos1=9, Ikonos2=10, Quickbird=11) | |
inst_name | Yes | Instrument name (e.g. ETM+, ASTER) | |
orig_id | Yes | Original ID of image (e.g. EROS Data Center granule ID) | |
imglocurl | No | Location (URL) of image | |
acq_time | Yes | Time of image acquisition, in 'YYYY-MM-DD' or 'YYYY-MM-DD hh:mm:ss' format | |
imgctrlon | Yes | Longitude of image center, in decimal degrees | |
imgctrlat | Yes | Latitude of image center, in decimal degrees | |
imglon_unc | No | Uncertainty of center long (meters) | |
imglat_unc | No | Uncertainty of center lat (meters) | |
image_azim | No | Image azimuth (deg east of north) | |
cloud_pct | No | Percent of image obscured by clouds | |
sun_azim | No | Solar azimuth (decimal degrees east of north) | |
sun_elev | No | Solar elevation (decimal degrees) | |
inst_zen | No | Instrument zenith (0 degrees = nadir) | |
inst_azim | No | Instrumetn azimuth (deg east of north) | |
projection | No | Name of projection | |
maps | Yes (if analysis derives from maps) | ||
usr_map_id | Yes | Analyst-assigned ID for the map. Should start with "RCnn", where nn is the RC number, or some other similar RC-specific marker. | |
regionname | Yes | Name of region covered by the map | |
map_title | No | Title or name of the map | |
auth_pub | No | Author or publisher of the map | |
pub_date | No | Date the map was published | |
asof_date | Yes | As-of date for the content of the map | |
pub_loc | No | Location of publisher of the map | |
scale | No | Scale of the map, expressed e.g. as 1:10000 | |
units | No | Units used in the map for contours, etc. | |
proj | No | Projection of the map, including some parameters such as UTM zone | |
series_ed | No | Series or edition of the map | |
sheet | No | Sheet identifier for this map | |
comment | No | Free text field for comments or additional information | |
vec_sets | No | ||
vel_set_id | Yes | local ID, not stored in database | |
anal_id1 | Yes | Analysis ID for first time | |
anal_id2 | Yes | Analysis ID for second time | |
num_vecs | No | Number of vectors in the vector set | |
p1_loc_lon | Yes | first point, local uncertainty, longitude | |
p1_loc_lat | Yes | ||
p1_glb_lon | Yes | first point, global uncertainty, longitude | |
p1_glb_lat | Yes | ||
p2_loc_lon | Yes | ||
p2_loc_lat | Yes | ||
p2_glb_lon | Yes | ||
p2_glb_lat | Yes | ||
vec_points | No | ||
vel_set_id | Yes | local ID, not store in database | |
speed | No | speed, in m/yr | |
azimuth | No | azimuth of vector (deg east of north) | |
histograms | No | ||
ID | Yes | glacier ID (will be tied to analysis ID at ingest) | |
elev_m | Yes | ||
area_km2 | Yes | ||
binwidth_m | Yes | ||
regist | Yes | these last two are rundundant (will be the same for all rows) | |
ancillary | No | ||
ID | Yes | glacier ID | |
ancdat_loc | Yes | Location of dataset (e.g. URL) | |
ancdat_typ | Yes | Data type | |
ancdat_sz | Yes | Size of dataset (bytes) | |
comment | Yes | Text comment | |
point_meas | No | ||
ID | Yes | glacier ID | |
timestamp | Yes | Time of measurement | |
longitude | Yes | ||
latitude | Yes | ||
elev_m | No | ||
label | Yes | Short description of what the measurement is | |
value | Yes | Numeric value | |
unit | Yes | SI unit | |
lon_unc | No | in meters | |
lat_unc | No | in meters | |
elev_unc | No | in meters | |
value_unc | Yes | in same units as "value" | |
comment | No |
Names of the attribute fields in shapefiles are limited to 10 characters. Thus, please use the above names for all attributes in the .dbf files. Also, shapefile names must be in the 8.3 format (an ESRI restriction), and the three files (.shp, .shx, .dbf) should have the same basename prefix (the part of the filename left of the '.').
The "Reference_Document" table stores information about journal articles and other reference documents. A reference is conveyed in the "Endnote" export file format, described here. A Regional Center need only supply references with those tags, in plain ASCII text format. We define an additional "custom" tag (%4) to associate with each entry a list of glacier IDs.
An example file containing two journal article records might look like this:
%0 Journal Article %A Bishop, M.P. %A Shroder, J.F. %A Hickman, B.L. %A Copland, Luke %D 1997 %T Scale-dependent analysis of satellite imagery for characterization of glacier surfaces in the Karakoram Himalaya %J Geomorphology %V 591 %! Scale-dependent analysis of satellite imagery for characterization of glacier surfaces in the Karakoram Himalaya %F Y %K Batura %4 G090000E25000N %4 G090010E25010N %4 G090020E25020N %4 G090030E25030N %0 Journal Article %F raup:2000 %A Raup, Bruce H. %A Kieffer, Hugh H. %A Hare, Trent M. %A Kargel, Jeffrey S. %T Generation of Data Acquisition Requests for the ASTER Satellite Instrument for Monitoring a Globally Distributed Target: Glaciers %J IEEE Transactions On Geoscience and Remote Sensing %V 38 %N 2 %P 1105--1112 %D 2000 %8 March
During ingest, a perl program parses the shapefiles and checks for some errors, then writes a file of SQL statements that are then used to insert the data into the relational database.
Whereas the GLIMS database requires that glacier outlines be closed polygons, these polygons are typically be sent to NSIDC as a set of segments, using the Shapefile entity type "PolyLineZ". This allows assignment of different attributes to different segments of the polygon. The segments making up a closed polygon are checked for closure at time of ingest into the database. Glacier outlines that do not have such attribute information (e.g. data digitized from historical maps) may be sent as complete polygons, using the Shapefile entity type "PolygonZ" or "PolyLineZ".
The "segments" shapefile(s) should use feature type PolyLineZ (called ARCZ in shapelib) to store segments. X, Y and, optionally Z coordinates are defined for each vertex and are written to the shapefile. Also, a fourth measurement, the M variable, can be stored. This is being reserved for future use.
Glacier and tiepoint region outlines (as closed polygons) can be pieced together upon ingest at NSIDC by extracting all the segments, in order, that have the same category (e.g. 'glac_bound') and ID.
A given segment may be in the shapefile more than once if it is shared (in the case, say, of an ice divide). In this case, the different instances will have different values for the (probably glacier) ID attribute.
An analysis session will generate a number of files. Each shapefile consists of three files: basename.shp (contains the geographic points), basename.dbf (contains the attributes), and basename.shx (an index file). Bibliographic files should end in '.en'.
The simplest layout for the shapefiles is to have one of each, as outlined above. In this case, all the segments, from all glaciers and regardless of category, would be in the "segments" shapefile. This is what the GLIMSView software exports, and this is the simplest for NSIDC to handle. However, we recognize that some Regional Centers may want to put all glacier outlines in one shapefile, centerlines in another, snowlines in another, etc. If this is the case, please contact NSIDC.
An example submission is available. The example dataset consists of a number of files, all packaged into a tar file. For a submission, a regional center could also use the zip utility. Submission packages should therefore end in .tar (simple tar file), .tar.gz (gzip compressed tar file), .tgz (same as .tar.gz), or .zip (zipped file).
In addition to the above items, we ask that you also include in the submission package the image or images that were used in the analysis. The ideal format for us would be geoTIFF, but we can accept almost any common format for georeferenced imagery. Full resolution imagery would be best; you may want to crop the imagery down to only the area containing glaciers. These images will be viewable in the GLIMS database web interface.