Use Desktop created Tile Cache for Cached Basemap on ArcGIS for Server?

4282
9
Jump to solution
11-18-2015 12:33 PM
AdamRepsher
Occasional Contributor III

Hello all,

I have been generating basemap Tile Packages for use in a few ArcGIS Runtime applications.  Using the desktop tools (at 10.3.1) to create the Tile Cache has been phenomenal, because I can use 19 threads on my desktop  machine.  This cuts down the time to cache our entire state, 1:2M to 1:2,500, 13 scales, to about 6 hours.

Since using the "Manage Tile Cache" allows the use of Parallel Processing, I was wondering if I could use the result and dump it into an empty ArcGIS Server cached map service.  Any thoughts or links to documentation would be fantastic!

Thank you,

--Adam

0 Kudos
1 Solution

Accepted Solutions
RebeccaStrauch__GISP
MVP Emeritus

I would:

  1. use the mxd to create the service first with it set to Dynamic (not cached).
  2. After the service starts, go back in to the properties and select Cached and check that you will set it up manually. (and save).   This just sets up the empty folder structure with the correct service name.
  3. Then shut down the service, copy the cache in the structure discussed, and restart the service.

It should see the service as cached with the tiles.  You may want to use the "manage cache" tools to refresh the status.  I can send more details on that later if needed.

View solution in original post

9 Replies
RobertScheitlin__GISP
MVP Emeritus

Adam,

   If you asking about copying a cache to another map service then this link will help:

ArcGIS Server Help | Copy Cache

RebeccaStrauch__GISP
MVP Emeritus

I think the main thing would to make sure the folder structure is the same, e.g. for 10.2.x (and I think 10.3 is similar)

     \arcgisserver\directories\arcgiscache\<servicename>\Layers\_alllayers\L00    (thru L12)

And that the  conf.cdi and conf.xml files are set up correctly.  Another thing to consider, especially if using the bundlex (compact version) is that they are compatible with the version of ArcGIS Server you are running.  hey are different between 10.2.x and 10.3 in Server.

I would think those would be the only requirements, since in reality, the mxd for a Map Service with a cache can be basically empty.  Unless you are need to identify or do other attribute/query type operations, the cache itself doesn even have to match the mxd (and is a trick on speeding up cached service for basemaps, etc).

I'm pretty interested in seeing if this works since I may try to take advantage of it too!

RobertScheitlin__GISP
MVP Emeritus

I always produce my cache on my (playground) test server, as to not tie down my productions servers with the task of creating caches. I then use xcopy to move the cache from that server to my production server.

AdamRepsher
Occasional Contributor III

Thank you both, Rebecca Strauch, GISP​ and Robert Scheitlin, GISP​ for those quick thoughts. It all helps. 

I think I might need to explain a little more. I am interested in using only ArcGIS for Desktop to generate the tile cache - not Server. I then want to serve that tile cache on Server.  Rebecca, I think your response is beginning to lead me in the right direction.  Using the Manage Tile Cache tool creates a folder structure like you noted in your response.  The Server Cache tools are different, requiring making a service on Server which will generate tiles.  As long as the tile cache is in a format that Server can read, I should be able to dump the Cache generated on Desktop (and yes, it is in compact format) into an empty server cache folder. Maybe use the same MXD, create the service and then stop it when it begins to create the server cache to create the empty folders?

Thank you all for the help!

0 Kudos
RebeccaStrauch__GISP
MVP Emeritus

I would:

  1. use the mxd to create the service first with it set to Dynamic (not cached).
  2. After the service starts, go back in to the properties and select Cached and check that you will set it up manually. (and save).   This just sets up the empty folder structure with the correct service name.
  3. Then shut down the service, copy the cache in the structure discussed, and restart the service.

It should see the service as cached with the tiles.  You may want to use the "manage cache" tools to refresh the status.  I can send more details on that later if needed.

AdamRepsher
Occasional Contributor III

Awesome!  I am going to try this tomorrow morning and will post my findings here.

Thank you very much,

Adam

0 Kudos
ModyBuchbinder
Esri Regular Contributor

Hi all

This thread is very interesting for me too since I have similar issues.

I have one question and one answer.

Question: How do you use Manage Tile Cache to create Tile package (tpk), the tool creates cache not tpk. Do you just zip it and name it tpk?

Answer: Creating cache for server using desktop tools works (just like the other people said). The way I use it is to put the cache in the C:\arcgisserver\directories\arcgiscache before I publish with the name I am going to give the map/image service.

Then when I mark the using cache radio button before publishing, the server should find the cache and give you the levels in the analyze form, this shows that the cache is connected.

Then after publish it is just using it.

Thanks

Mody

RebeccaStrauch__GISP
MVP Emeritus

That would work too. The reason I suggest creating the service first is to make sure the path is set up correctly.  Different versions have a slightly different structure, at least if you divide your services up into folders (not just keeping all in the root directory).

0 Kudos
AdamRepsher
Occasional Contributor III

Thanks for all of the input everyone!  I used Rebecca Strauch, GISP​'s method, but I was not able to complete the last step, possibly because I did not stop the service before dumping the cache in.  It just never worked.

What I did though was use the Import Map Server Cache.  It will take Tile Caches or even Tile Packages - I was just unable to find it before I asked this question.  Well more accurately, I didn't consider it, given the title of the tool.

Thanks again everyone!