2

At my job we are developing Add-Ins for ArcMap. We are expecting to do some demos for clients in the near future and to make the demos go as smooth as possible we would like to build up the local cache for the various basemaps found in the "Add Basemap" window.

Right now, it seems that the only way to build up the cache is for me to open ArcMap and start manually scrolling around the dataframe so that it downloads chunks of the basemap.

Is there anyway I could quickly get the entire basemap cached for every section at every scale level?

3

2 Answers 2

1

You can use fishnet tool as Alex Tereshenkov suggested, In addition use Animation tool, It will pan your view automatically all over your AOI to make cache (you don't have to zoomToSelectedFeatures or pan manually)

Steps:

  1. Create Fishnet
  2. Create Line feature from fishnet created points(as a path on which your animation will pan).
  3. Select the line feature and open animation tool bar, here you will see Create Flyby From Path in the drop down menu of animation toolbar (Note: if you didn't select a line feature this option will be grayed out).
  4. Set Flyby settings and click Import, it will create Keyframes in animation Manager, you can check them from Animation Manager's Keyframes tab (Note: your current zoom level will be taken as keyframes zoom level).
  5. From the Animation toolbar click on Open Animation Control, set the Play Options as you desire.
  6. Click play and it will start panning according to the path and settings you specify and starts creating cache.

For any confusion or clarification refer to ArcGIS Desktop Help, it contains details about how to use animation toolbar.

0

Using Pro would be the easiest way. But since you target ArcMap, your only option would be to automate caching of the basemap. I'd be creative and use arcpy for this.

  1. Create fishnet polygons of multiple size, for instance, with the side size of 10, 5, 2, and 1 km using the GP tool Create Fishnet. The polygons should cover your AOI.
  2. Iterate through every polygon in your fishnet by zooming to it using the zoomToSelectedFeatures method of the DataFrame object. This will zoom your map to every polygon and trigger caching the visible basemap cache tile.
  3. Repeat the step 2 for every fishnet feature class.

This little script should be run in ArcMap session open. You should also have a basemap layer added. I'd experiment with a smaller area to make sure the workflow works as expected.

2
  • Will use of data driven pages achieve the same?
    – FelixIP
    Commented Aug 15, 2018 at 20:24
  • I guess so. The DDP are still generating the fishnet grid behind the scene. Commented Aug 16, 2018 at 8:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.