Ah, yes. The DynamicMappingHost error, my old enemy. It sounds like a solid plan for getting around that particular issue.
For the CRS, we publish a number of hosted layers in state plane, and our web maps do not seem adversely impacted by doing so. I think breaking out a few hosted services is a good move, but I’d really be surprised if reprojecting it before publishing will be worth the trouble.
But let’s suppose that it is, just to get some ideas going. I would advise against a second standalone feature class in the database itself, as that becomes another thing you have to update and keep in sync. If the source data is in a database, how about a view layer?
I don’t know what RDBMS you’re on, but you could have a view layer to handle the reprojection, and then publish / overwrite the hosted layer from that.
SELECT
field1,
feild2,
-- and so on
ST_Transform(geometry, 3857) AS geometry
FROM your_table
Our Usual Approach
At Kendall, we have a number of hosted layers that are disconnected from their original source, which we publish specifically for our web maps. I like to think our update process is pretty streamlined.
To keep things in sync, we make sure that
- The hosted layer includes a GUID field to hold the source GlobalID
- The source layer has some kind of editor tracking enabled
At regular intervals, a python script will
- Look for recent edits in the source layer
- Identify corresponding rows in the hosted layer, using the GlobalID / GUID fields
- Make some adjustments, like changing fields or reprojecting geometry
- Apply edits to the hosted layer in place
It might be a little more to set up, but has the benefit of never needing your hosted layer to be fully overwritten, and is easier on the source layer database / hosting server, since the edit volume may be fairly low. No need to republish features that haven’t changed since the last update!