Select to view content in your preferred language

ArcGIS Online Hosted feature service default transformation parameters

572
1
03-24-2023 10:10 AM
DavidPike
MVP Frequent Contributor

Hi all,

I have published a hosted feature layer to ArcGIS Online AGOL using the data interoperability extension (in other words - FME).  Note I am no expert on FME or Data Interoperability.

My original data is in a United Kingdom format called 'British National Grid', 'BNG' for short.  EPSG:27700 Airy (1880) Spheroid and OSGB1936 (also called OSGB36) Datum.

The process works as intended and creates the hosted feature layer, however the service is EPSG 27700 (which is what I want) but the default transformation is probably sub-optimal.  As the service could likely be used with a Web Mercator or WGS84 basemap, this may affect both performance and accuracy. 

This is the transformation which I believe is the default for the service:

 

  "datumTransformations" : [
    {
      "transformDirection" : "forward", 
      "transformJson" : "[{\"wkid\":1149,\"latestWkid\":1149,\"transformForward\":false,\"name\":\"ETRS_1989_To_WGS_1984\"},{\"wkid\":5338,\"latestWkid\":5338,\"transformForward\":false,\"name\":\"OSGB_1936_To_ETRS_1989_1\"}]", 
      "fromSR" : {
        "wkid" : 4326, 
        "latestWkid" : 4326
      }, 
      "toSR" : {
        "wkid" : 4277, 
        "latestWkid" : 4277
      }
    }, 
    {
      "transformDirection" : "reverse", 
      "transformJson" : "[{\"wkid\":5338,\"latestWkid\":5338,\"transformForward\":true,\"name\":\"OSGB_1936_To_ETRS_1989_1\"},{\"wkid\":1149,\"latestWkid\":1149,\"transformForward\":true,\"name\":\"ETRS_1989_To_WGS_1984\"}]", 
      "fromSR" : {
        "wkid" : 4326, 
        "latestWkid" : 4326
      }, 
      "toSR" : {
        "wkid" : 4277, 
        "latestWkid" : 4277
      }
    }
  ], 

 

 If my interpretation is correct, for reprojection on-the-fly it is transforming OSGB36 datum into ETRS, then ETRS to WGS84.  I think there must be better ways to set this.

Questions:

1.  For any UK folks or geodesy geeks - I think that transformation OSGB_1936_To_WGS_1984_7 

"wkid": 5339

would be preferred.  Is that a fair assumption?

2.  Can this transformation be configured in Data Interoperability/FME (fully aware that this is more of an FME question, so will post in their forum also.  Advice is appreciated however).

3.  Can the default transformation be updated using the REST API?

1 Reply
ChristopherCounsell
MVP Regular Contributor

1.  For any UK folks or geodesy geeks - I think that transformation OSGB_1936_To_WGS_1984_7

"wkid": 5339

would be preferred.  Is that a fair assumption?

You cannot publish a Hosted Feature Layer with this transformation method defined at a service level. It's a grid-based transformation method and will not be supported by Hosted Feature Layers. You should project and transform as part of the publishing process. Not only will this align your data to WGS84 correctly, you will also avoid projection-on-the fly issues.

NTv2 transformations are supported for ArcGIS Server referenced services (with NTv2 installed). They are also supported for Field Maps between the GPS and the map (but not the map to the service).

General points around considering/implementing your 'preferred' transformation.

  • ArcGIS Online will use a default transformation to align data in a different Geographic Coordinate System to the basemap.
  • This transformation will be the 'most accurate' one available in ArcGIS Pro by default. You can identify it by adding the EPSG:27700 layer to a new map (with Esri basemap) in Pro. It'll add the default transformation. I have seen Esri manually adjust the accuracy to 'preferred' transformations.
  • ArcGIS Online does not support transformations not available by default in Pro. This means publishing a service with custom or grid-based transformations as 'hosted feature layers', will drop
  • If you publish from Pro (share as web layer), depending on your map properties, the data will either
    • A) publish a service in the source data datum + any transformations at the map level; or
    • B) Project the source data to match the coordinate system of the map, applying any transformations set at the map level (including grid or custom).

2.  Can this transformation be configured in Data Interoperability/FME (fully aware that this is more of an FME question, so will post in their forum also.  Advice is appreciated however).

As far as I am aware, no. I can't find a parameter to include this outside of the Target WKID. If you find one, please let me know

3.  Can the default transformation be updated using the REST API?

Yes. You have to go via the admin rest API. Except you can't choose non-supported (grid/custom) transformations. What transformation is defined is also only visible via the admin API. Furthers my recommendation to just align everything in the WGS84 projection you will be using.

Please vote for this idea:

https://community.esri.com/t5/arcgis-online-ideas/show-arcgis-online-service-transformation/idi-p/12...

I wrote a whole series of blogs on this from an ArcGIS Pro and ArcGIS Online perspective here, if you want to read further.

  1. Understanding Spatial References in Australia 
  2. The introduction of GDA2020 to ArcGIS and how to install additional transformations
  3. Working with coordinate systems and transformations in ArcGIS Pro
  4. GDA2020, ArcGIS Online and the Web Mercator Dilemma
0 Kudos