The ArcPad Team Blog

Unofficial stuff from the team behind the World's leading mobile GIS platform

Thursday, July 01, 2010

Basemap Image Tiles for ArcPad 10


You can create a basemap for ArcPad 10 from any ArcGIS map by using image tiles.
This post explains how to do this in 5 steps:
  1. Preparing your map in ArcMap.

  2. Publishing your map to ArcGIS Server.

  3. Creating image tiles for your map.

  4. Subscribing to your map in ArcPad 10.

  5. Copying your image tiles to ArcPad.

Step 1: Preparing your map in ArcMap
Your map must be in ArcGIS Online Web Mercator projection (WGS_1984_Web_Mercator_Auxilary_Sphere). This is because ArcPad 10 currently assumes data is coming from an ArcGIS Online Web Mercator service. Open your data in ArcMap and open the Data Frame properties. You will fine Web Mercator under Predefined > Projected Coordinate Systems > World > WGS 1984 Web Mercator (Auxiliary Sphere).



Step 2: Publishing your map to ArcGIS Server
I'll assume that you have installed ArcGIS Server and have some familiarity in publishing maps. For our purposes, there's nothing special in this step, use your favour technique to publish your map with ArcGIS Server, i.e. either from within Catalog or through the ArcGIS Server Manager.



Step 3: Creating image tiles for your map
You'll need to create ArcGIS Online compatible map tiles for your service in Exploded storage format. This can be achieved through the following steps.
  1. Use Catalog to manage your ArcGIS Server

  2. Right click on your service and select Service Properties

  3. Click Caching tab

  4. Click Using tiles from cache that you will define below

  5. Click on "Load tiling scheme from ..." and select "ArcGIS Online / Bing Maps / Google Maps"

  6. Scales from "1:591,657,527.591555" down to "1:1,128.497176" will be prefilled for you.

  7. For now, delete every scale except for the top 3, i.e. keep "1:591,657,527.591555", "1:295,828,763.795777" and "1:147,914,381.897889" (so that we can create the tiles and test them in ArcPad).

  8. Change the Storage Format from "Compact" to "Exploded".

  9. Click on "Create Tiles..." button and follow the wizard.

  10. Verify that the tiles are created by opening File Explorer on your ArcGIS Server machine and checking the C:\arcgisserver\arcgiscache\(yourmapservice)\Layers\_allLayers folder and you should see subfolders "L00", "L01", "L02" each containing some image tiles.

Step 4: Subscribing to your map in ArcPad 10

  1. Start ArcPad 10.

  2. Select "Add Data from Server..."

  3. Ensure the Service Type is "ArcGIS Online Service"

  4. Enter the URL of your website, i.e. http://yourwebsite.com

  5. Click on the Refresh services button

  6. Select your map's service

  7. Click Ok

  8. You'll be prompted to save the (yourmapservice).nmf file (Note where your saving this to)

  9. At this stage, some map tiles may begin to download from ArcGIS Server to ArcPad

Step 5: Copying your image tiles to ArcPad

Recall in Step 3 we created the image tiles and verified where they were in ArcGIS Server. The ArcGIS Server tiles are in the same tile cache format that ArcPad uses so you can bulk copy the tiles so that you'll always have an offline copy of the tiles in ArcPad.

  1. Open File Explorer

  2. Navigate to the folder where you saved your (yourmapservice).nmf file

  3. Show Hidden Folders (In Windows 7, Organize > Folder and Search options > View > Show hidden files, folders and drives).

  4. Open the hidden service folder for your map service

  5. Note the directory structure looks like (yourmapservice)\Layers\_allLayers

  6. Copy the directory from your ArcGIS Server machine's C:\arcgisserver\arcgiscache\(yourmapservice)\Layers\_allLayers folder

And that's it, now you have a complete offline copy of the tile caches. Now that you're happy, you can create more scales by repeating Step 3, 4 and 5 but keeping more than the top 3 scales. (You'll need to click on Delete Cache in your Map Service properties before you're allowed to recreate it with more scales).

When you're happy with the tiles, you can deploy this to your device. You should deploy both the (yourmapservice).nmf file and the entire (yourmapservice) folder tree. If you don't deploy the (yourmapservice) folder tree you'll need to have a data connection on your device so you can download the tiles on the fly.