Handling the projection transformations in ArcGIS Image Server
ArcGIS Image Server allows the raster datasets, the service definition, and the requests from client applications to be in different coordinate systems. Each of the coordinate systems is defined by Projection files (.PRJ) that fully define the projection.
The coordinate system of the raster dataset is defined when the raster is added.
The coordinate system of the service definition is defined when the service is created.
The coordinate system of the client request is defined by the application that makes the request. If this is ArcMap, then it is defined as the projection of the data frame.
The following coordinate transformations take place with ArcGIS Image Server:
- When rasters are added, the footprints are computed by transforming the footprint of the raster dataset to that of the service definition.
- When a client makes a request for an area of interest, the client bounding box is converted to the service projection to search for the appropriate rasters.
- The raster dataset is also transformed to the projection of client request.
These transformations take place on the service editor and on the service provider level.
When transforming data between projections that are in different datums, a transformation is required. Typically in ArcMap, when data requiring a transformation is added to a data frame, ArcMap provides a list of possible transformations from which a user can select. The selected transformation is then saved as part of the map document.
Within ArcGIS Image Server, a single request for an image may involve a number of different projections: the projection of the client request, the projection that is used to define the service, and the one or more projections of the original raster datasets. It is not possible for ArcGIS Image Server to request from the client the exact transformation method that should be used for each of the re-projections. ArcGIS Image Server resolves this by using a table of defined transformations, and when a transformation is required, the table is searched for the first matching transformation. In most cases, the default transformation is most appropriate, but there may be cases where a specific transformation is to be used. The list of transformations is defined within the AISDatums file.
Customizing projections using the AISDatums file
You can manipulate the projection transformations within the ArcGIS Image Server framework using an AISDatums.txt file. This file contains a list of datum transformations that ArcGIS Image Server can use. You can edit this file, which is available at <Install Directory>\ArcGIS\Image Server\pedata\AISDatums.txt, in any text editor.
The format of the AISDatums file is as follows:
- One datum transformation definition (either the code or description) per line.
- The actual factory code and description of the datum transform is semicolon delimited.
- A line starting with # is treated as a commented line.
- A valid line should contain at least a code or description string. For example:
- CODE;DESC
- ;DESC
- CODE;
The Description string has the following structure:
GEOGTRAN["Transformation name",
GEOGCS["Coordinate system name",..]
GEOGCS["Coordinate system name",..]
METHOD["Method",…]
In cases where a datum transformation is required, ArcGIS Image Server searches for an appropriate transformation sequentially in the AISDatums file. It uses the first transformation where the two coordinate system names match and caches it for using later on. Afterwards, whenever ArcGIS Image Server searches for an appropriate datum transformation, the cache is searched before searching the datum file.
Any line starting with a CODE should not be modified, but its position in the file can be modified. The location of the line in the file can be modified so as to change its priority. There are a number of records that contain the same GEOGCS values, but they have different methods. In some cases, the preferred transformation can be prioritized by moving it up in the list.
Whenever the file is modified, users must restart the service provider to reflect the changes. Restarting the service provider clears the cache.
The AISDatums file is used by the service provider and service editor. In cases where the service editor and the service providers are on different machines, the AISDatums file must be manually copied or synchronized between machines.
If a user defines a projection that contains a datum that is unknown, or the transformation between two datums is undefined, then no transformation is applied. It is therefore important that if new datums are being used, the transformations are defined.
Adding customized projections to an AISDatums file
The Create Custom Geographic Transformation tool in the Projections and Transformations toolset can be used to define a transformation method that converts data between two geographic coordinate systems or datums.
You can add customized projections to an AISDatums file by performing the following steps:
- To create a transformation method, do the following:
- Open the Create Custom Geographic Transformation tool in the Projections and Transformations toolset under the Data Management Tools.
- Provide the fields with relevant information. For more information on creating a custom geographic transformation, refer to Create Custom Geographic Transformation (Data Management).
- Click OK.
The Create Custom Geographic Transformation reporter window will display the result. Click Close.
- The transformation method is saved as a .gtf file in C:\Documents and Settings\<user>\ApplicationData\ESRI\ArcToolbox\CustomTransformations.
- To add the customized projection to AISDatums.txt file, do the following:
- Open the .gtf file with a text editor and copy the transformation string starting from GEOGTRAN till the end. Do not copy the unwanted symbols that appear at the beginning of the string.
- Open the AISDatums.txt file with a text editor and paste the transformation string at the beginning of the AISDatums.txt file as the first transformation method after the comments. Begin the transformation string with a semicolon.
The AISDatums.txt file is available in <Install Directory>\ArcGIS\Image Server\pedata\AISDatums.txt file.
Example:
;GEOGTRAN["Geo",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],GEOGCS["GCS_Abidjan_1987",DATUM["D_Abidjan_1987",SPHEROID["Clarke_1880_RGS",6378249.145,293.465]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],METHOD["Geocentric_Translation"],PARAMETER["X_Axis_Translation",0.0],PARAMETER["Y_Axis_Translation",0.0],PARAMETER["Z_Axis_Translation",0.0]]
- Save the file.
- Restart the service provider to reflect the changes.