Due to the large number of image formats and applications, XMS (GMS, SMS, and WMS) makes use of the GDAL library to classify the type of data in an image file when it is loaded into the application. XMS first classifies the image data as "Online", "Vector" or "Raster".
Online images are added to a project using the File | Add Online Image command. This command associates a URL to a web source with the image object, so XMS can always handle these images as dynamic images.
Vector images are not images at all but files that contain points, lines and/or polygons. When a GIS file (with the exception of ESRI Shapefiles and CAD DWG, DXF, or DGN files) containing vector data is read into XMS, XMS converts the vector information to an RGB image (raster) that XMS can display on the screen using a vector display pipeline. Vector data for ESRI shapefiles and CAD files is displayed as vector data without converting the information to a raster.
When opening any other image file, XMS looks for raster bands in the image. A band is a list of values for each pixel in an image. Most common types of bands include byte values, integer values, and float values. Each band may also have attributes to help indicate what the intended purpose of that data band. These attributes are not completely standard or required.
If XMS detects that an image file has raster data bands, it is processed as a raster image as described below. If no raster information is detected, XMS attempts to detect vector data in the file. If vector data is detected, XMS processes the vector data into a raster format for display. Vector image objects also include functionality to convert the vector data to map coverage data or to export them as ESRI shapefiles or other vector file formats.
XMS includes multiple display pipelines for raster images. These include:
- Contour Raster Display Pipeline – This display pipeline is used to display contours on rasters containing floating point values:
- These rasters have one single band of any data type. There cannot be any color palette or color defined for the single band. XMS displays contours for these rasters and allows users to change the contour options.
- Color Image Display Pipeline – This display pipeline is used to display color images (anything that XMS does not contour):
- If the image has a single band with a palette (such as a land use raster), XMS identifies this image as a type of index map. It converts this to an RGB image and displays the image using the palette colors.
- If the image has a single band with a grayscale attribute associated with the band, XMS converts this image to an RGB image and displays it.
- In all other cases, XMS converts the image to an RGB image based on the data in the first 3 bands and displays it. If the image has less than 3 bands, XMS uses the data in the first 1 or 2 bands as it exists and converts the image to a 3-band RGB image.
Note: if an XMS user loads an image with non-standard data, XMS will log a message indicating the type of anomaly associated with the image. These anomalies include:
- XMS creates one or more bands as in the case described when the third band is generated.
- XMS loads an image with bands that are of type other than “Byte”.
- XMS detected extra bands that were not used in the generation of the image.
A user may desire to process the image file using external tools to clarify the intent of the data bands. This processing will normally result in a new image file, for which the data bands are clearly defined.
These images use the vector display pipeline in XMS. This display pipeline converts vector files that don’t have raster data to RGB images that can be displayed in XMS.
These image use the online image display pipeline in XMS. This display pipeline converts online image services to RGB images that can be displayed in XMS.