Imagine how simple the world would be if there was only one projection. In our quest to flatten the earth onto paper and device screens, we’ve created numerous projections to suit our purposes. Each projection has a set of goals, and at the same time, a set of compromises. We use transformations to convert data from one projection to another.
I’ve always thought that transformations are similar to translations between languages. Take French and English, for example. You could use Google Translate today and for the most part get a pretty good conversion. That works in a broad sense and often allows you to communicate what you’re trying to say even if the odd thing is lost in translation. But what if your audience was French Canadian, Haitian, or Swiss? You might make some slight adjustments in how you translate certain words to better match regional differences in the language.
Transformations work much the same way. We have transformations that are more generic, that are good for converting data that spans the world, continent or even country. They do a pretty good job, but they do tend to lose accuracy when you zoom in to local scales. That’s where region- or location-specific transformations work very well. They’re designed to translate coordinates from one projection to another for a specific region.
ArcGIS Online is very good at converting feature layers from one projection to another without you having to think too much about it. It looks at the details of your data and then applies what it thinks is the most appropriate transformation to convert your data into the map’s projection. However, sometimes what it thinks is the most appropriate isn’t what you want. And as a result, your data appears to have shifted, sometimes ever so slightly and sometimes rather noticeably.
When the incorrect transformation or a transformation that is less accurate for your map area is used, you can introduce a shift in your data when it’s overlaid on a map with a different projection.
If you find yourself in that scenario, you have a few options at your disposal to solve the problem.
Project your data ahead of time
This isn’t a new approach, and has always been at the top of “best practices”. If you want to have total control over how your data is reprojected, you can reproject your data into the same projection as the map you are working with. In ArcMap and Pro, you can do this by adding your layer to a map or data frame that matches the projection of the web maps you’ll be using. Set the transformation in the map or data frame properties to use the transformation you want to apply. Then publish your layer to ArcGIS Online. As part of the publishing process, your data will be reprojected to match the map or data frame’s projection using the transformation you’ve specified. This method even works if you have your own custom projections and associated custom transformations. Depending on your workflows, though, this method creates some extra steps if you need to merge the published layer back into the original dataset.
Project on the fly with you in the driver’s seat
While the method above works for some folks, it’s not what everyone wants. Sometimes you just want things to work the way you want them to, and for many people part of that is keeping their GIS data in the projection that makes the most sense to their organization. Most of the time, that probably isn’t Web Mercator. It would be nice to be able to tell ArcGIS Online how to reproject data on the fly when adding your data on top of an Esri basemap. That scenario gives you the best of both worlds. When you’re working with your own GIS data and basemaps there’s no reprojecting going on. When you need to branch out and overlay that data on basemaps that are not the same as your organization’s basemaps, you can pick the right transformation for your data before you publish. In the latest release of ArcGIS Online, you can do just that when publishing hosted feature layers. Any supported transformation you set in the map or data frame before publishing will carry through and be used when working with the hosted feature layer.
What this means is you can publish your data in a projection other than Web Mercator, and add a transformation to go from your layer projection into another projection such as WGS1984. When that data is displayed on top of a basemap based on WGS1984, it will use the transformation you picked to reproject the data. This method should work with any transformation that is supported out of the box in Esri’s desktop software.
Note: User-defined/Custom transformations or grid-based transformations that typically require downloading a third-party grid shift database (GSB) are not supported at this time. Please remove them from your data frame prior to publishing to avoid any unexpected issues. Detailed steps on how to author each method can be found in the ArcGIS Online Help