[GIS] How to perform datum transformation in ArcGIS server REST API exportmap

arcgis-rest-apiarcgis-servercoordinate systemdatum

I have a ArcGIS server 10.0 mapcontext in one projection (swedish grid sweref99 TM) which uses its own datum, also named Sweref99 . When I use the REST API's map service export function I want to specify the coordinatesystem of the exported map to another coordinatesystem with another datum (Swedish grid rt90).

If add the imageSR argument with SRid for RT90 the returned map is offset by the amount that usually corresponds to the error induced by lack of datum transformation.

It does not help to add a transformation to the data frame in arcmap before saving the MSD-file. The MSD-file will contain a definition of the transformation, but it seems like it is not used. It seems to me the transformation is only used to transform layers within the map service.

The documentation on the REST-API is very vague on this point, if it is by design or a bug, as it doesn't mention datums at all.

Can anyone tell me if it is supposed to work or if there's some way of telling arcgis server which datum transformation to use?

Best Answer

I get no results when I search the GeoServices REST Specification Version 1.0 whitepaper for "transformation".

It looks like Esri exposed IGeometry.Project but not IGeometry5.ProjectEx5 (for REST).

Implementing this would be complicated. AFAIK there are no WkID's for geotransformations. IGeoTransformation.Name is not an industry standard (?) so using that in an Open spec doesn't seem right. Without a WkID for datum transformations, the parameters of the transformation would need to be sent along with the request.

It suspect you might need to write either an SOE or a GP service to do this. (If you want to use REST).

Update

Looks like the SOAP interface exposes geotransformations through its Project method. And there are also WkIds for geotransformations.

Update 2

The ArcGIS REST API for 10.1 has added support for geotransformations in the Project Geometries operation. Unfortunately the GeometryService.ProjectAsync method in the ArcGIS Silverlight API 3.0 does not expose this.

Related Question