Enable Mosaic Datasets to Use Environment Variables in Path

09-14-2012 02:11 AM
Status: Open
Labels (1)
Occasional Contributor
When loading rasters into a Mosaic Dataset, it should be possible to specify an environment variable as part of the path to the data to alias the server name or server with a share name. This way, the data can be migrated without having to alter all the paths stored in fields. Also, in tests the value could be set to a path on the test server and in production to the name of the production server. The client (e.g. ArcGIS Server, ArcGIS Desktop) would substitute the variable to insert the name of the correct server.

This has been available for unmanaged raster catalogs and hotlink fields and is very convenient. For example, an environment variable "SharedData" may be defined on client workstations, and paths in raster catalogs or hotlink fields may be something like "$SharedData\Raster\Img0815" or "$SharedData\LinkedFiles\Report.pdf", where "$" indicates an environment variable defined at the operating system level of the client machine. Actually under Windows, the "%" notation is common ("%SharedData%"), but ArcGIS Desktop supports the "$" notation.

However, the Mosaic Dataset does not currently support environment variables in the path to the data. There has been a request for this, logged as NIM-073165 "Provide a way to change paths to raster datasets in a mosaic dataset without modifying the mosaic dataset properties or configuration", but it has been rejected "as designed".

Please reconsider.
This would be helpful for us because on occasion with have had to move massive amounts of imagery from a failing server to a new one.
What about using relative paths to the geodatabase?  Then we could move mosaics to laptops, external hard drives, etc without fear of breaking the mosaic.
Also see related request for Relative path names for mosaic datasets.

If the paths are relative to the location of the mosaic then all one would need to do is ensure the rasters were in a sub-folder from the folder of the GDB holding the mosaic (or at least on the same volume). To my mind this would be simpler and just as effective because then one doesn't need to add and maintain variables on every machine.