Discerning the path to cache tiles from the requested REST path
I'm wondering how to figure out how to find a cache tile in the Windows folders structure from a path such as http:///ArcGIS/rest/services//MapServer/tile/1/2/3.png?
Using Firebug I can see that my web app can't see some tiles, but I can't tell what/where they are.
Mapping Center Answer:
We are not exactly sure whether you just wanted to know where on your local machine your cache is stored or which files in your cache directory correspond to the tiles served in your web map, so we will attempt to answer both.
In general, your cache folder is located in "C:\arcgisserver\arcgiscache\". The folder hierarchy then follows this structure "<Service Name>\Layers\_alllayers\<Level>\<Row>\<Column>.<File Format>".
The path you got from Firebug is actually what the REST endpoint uses to request the map tile for your service and follows a similar structure as the cache folder: http://<Server Name>/ArcGIS/rest/services/<Service Name>/MapServer/tile/<Level>/<Row>/<Column>.<File Format>.
However, if you compare your cache folder and the map tile URL, you will notice that the row/column values do not match up. This is because the row/column values in your cache folder path are in hexadecimal format while the map tile URL uses the decimal format for its row/column values.
All you will need to do is to convert the decimal values in your map tile URL to hexadecimal format. An easy online tool that you can use to do this is online at http://easycalculation.com/decimal-converter.php. The "<Row>" folder and "<Column>" file that you are looking for in your cache folder will then be the converted values preceded by an "R" and "C" respectively, along with a number of zeroes (eg. R000061e0, C00004940.jpg).
So, the next time you have tiles that don't show up in your web map, you can use Firebug to find out the path to those tiles, convert the row/column values, and look them up in your cache folder.
If you would like to post a comment, please login.