ArcGIS supports taking web maps offline. Taking web maps offline allows you to reliably work with your GIS data in disconnected scenarios when connectivity is intermittent or unavailable.
The following apps support taking web maps offline:
- ArcGIS Field Maps
- ArcGIS Pro
- ArcGIS Survey123
- ArcGIS Workforce
- Custom apps created using ArcGIS Maps SDKs
Use the links above for information about what configurations each app supports.
Offline map areas
Offline map areas are always used when you take web maps offline. You can either define the offline map area for the map ahead of time, or the client app that downloads the map will define the offline map area on demand.
- Define an offline map area ahead of time—This pattern is sometimes referred to as a preplanned offline map area.
As a map author, you can define offline map areas ahead of time for your users. This works well when workers operate in well-defined geographic areas. Whenever possible, it is recommended that you prepare offline map areas ahead of time. Defining offline areas ahead of time has the following benefits over an on-demand workflow:
- The data for the offline map area is packaged once for all users who need it and hosted in ArcGIS Enterprise. A single offline map area can be downloaded by many users, allowing it to perform better at scale when supporting many offline mobile workers because the data they download has already been packaged.
- Because the area is defined by the map author, there are minimal errors in the field—such as not enough detail or in the wrong geographic area—when downloading an offline map with layers that have predefined map areas. Taking these decisions out of the control of offline staff members simplifies their workflow and helps them get up and running faster to focus on the work they need to do.
- Create offline map areas on demand—There are times when it is difficult to predict or know exactly where your mobile staff is going ahead of time. That can be for any number of reasons, including scheduling changes, adjusting to weather, or sudden changes in priority of work. Being able to adapt and be flexible in the field can keep a field team productive.
This is where an on-demand workflow can help. On-demand offline areas allow a user to define their own area for use offline.
Although creating offline map areas on demand is a more flexible workflow, it puts more responsibility on the mobile user to ensure they are taking the correct information offline and at the correct level of detail. It can also be more demanding on your organization's resources, because each user's download results in a separate export of the data for their own unique offline area. This pattern is not recommended for large offline crews.
Note:
Offline areas require a base ArcGIS Enterprise deployment, at minimum.
Enabling layers and maps for offline use
To take a web map offline, all the layers, including the basemap and reference layers, must be enabled for offline use. You can enable the following types of map layers for offline use:
- Hosted feature layers
- ArcGIS Server feature layers
- Hosted tile layers
- ArcGIS Server cached map services (also called tile layers)—Check the Allow clients to export cache tiles check box when you publish the service from ArcGIS Pro.
- ArcGIS Server cached image services (also called imagery layers)—Check the Allow clients to export cache tiles check box when you publish the service from ArcGIS Pro.
- Sketch layers and map note layers* saved in the web map
Note:
*Map note layers that you save as feature collection items and add to a map cannot be taken offline.
The default Esri basemaps included in your portal are not enabled for offline use. You can take similar basemaps offline by adding an Esri basemap from ArcGIS Online to your web map.
Feature layers
Support for offline use of both hosted and ArcGIS Server feature layers requires you to enable synchronization on the layer.
You can enable sync when you publish hosted feature layers, or check the Enable Sync check box on the Settings tab of the hosted feature layer's item page in the portal.
You can also enable sync when you publish ArcGIS Server feature layers from ArcGIS Pro, or enable sync on the service in ArcGIS Server Manager after publishing.
Hosted tile layers
When you publish a hosted raster tile layer or hosted vector tile layer from ArcGIS Pro, enable the Allow clients to export cache tiles option. Alternatively, you can enable the Allow this layer to be downloaded and used in an offline map option on the Settings tab of the layer's item page in the portal after you publish the layer.
ArcGIS Server cached map and imagery services
Similar to hosted tile layers, when you publish a cached map service or cached imagery service, you can enable the Allow clients to export cache tiles option in ArcGIS Pro when you publish, or you can enable the Allow this layer to be downloaded and used in an offline map option on the Settings tab of the layer's item page.
Sketch layers and map notes layers
Sketch layers and map note layers in web maps are automatically enabled for offline use. However, once the web map is taken offline, sketch and map notes layers do not receive updates if features are added to, deleted from, or modified in the layer in the source map.
Web maps
After the layers are enabled for offline use, the Offline section appears on the Settings tab of the map's item page with the Enable offline mode toggle button enabled. If you don’t want your map to be taken offline, click off the Enable offline mode toggle button and click Save.
Use an Esri basemap offline
You can take an Esri basemap from ArcGIS Online offline with an ArcGIS Enterprise web map. To do so, you must have an account as a member of an organization in ArcGIS Online.
Note:
When you take an Esri vector basemap offline in an ArcGIS Enterprise web map, the basemap can only be displayed with the default World Street Map style.
Complete the following steps to add an Esri basemap that you can take offline:
- In the Tiled Basemaps or Vector Basemaps groups in ArcGIS Online, find the basemap you want to use and open its item page.
- On the item page, in the URL section, click Copy next to the text box containing the layer's URL.
- Sign in to the ArcGIS Enterprise portal.
- On the My Content tab of the content page, click New item.
- Click URL, paste the basemap link you copied in step 2 into the text box, and tab out of the text box.
The service information is retrieved from ArcGIS Online.
- Enable the Store credentials with service item option and click Next.
- Provide the username and password for your account that is a member of an organization on ArcGIS Online.
- Type a title.
- Choose a folder in My Content where you want to save the item.
- If the portal administrator has configured content categories, click Assign categories and select up to 20 categories to help people find your item.
You can also start typing a category name to narrow the list of categories.
- Optionally, type tags that describe the item.
Separate the terms with commas (for example, Federal land is considered one tag; Federal, land is considered two tags).
As you type, you can select any of the suggested tags that appear; suggestions are generated from tags you have added previously.
- Provide a summary that describes the basemap.
- Click Save.
The item page for your new item appears.
- To make the basemap available across multiple maps, create a map that uses the new layer as the basemap and share it with your organization's basemap gallery.
Note:
The map that is shared with the organization's basemap gallery should only be used for offline use and not for general map viewing.
- Using Map Viewer or Map Viewer Classic, open the map you want to take offline and update it to use the basemap in one of the following ways:
- If you added the basemap to the basemap gallery, click Basemap, and click your newly created basemap in the basemap gallery.
- To add the layer as the basemap for only this map in Map Viewer Classic, see Use your own basemap in Choose a basemap (Map Viewer Classic).
- To add the layer as the basemap for only this map in Map Viewer, see Use a basemap that is not in the gallery in Choose a basemap (Map Viewer).
- Save changes to the map.
Tips for working with offline maps and layers
Keep the following in mind when you work with offline maps and layers:
- When taking hosted tile layers, cached map service layers, or cached imagery layers offline, the layers' spatial reference must match the web map's spatial reference. Also, tiles must exist for all tile levels (scales) that you request when taking the map offline. For feature layers, the data is projected to the spatial reference of the web map when you take the map offline.
- Maps that contain the same hosted or ArcGIS Server feature layer multiple times do not support offline use. For example, you might add the same layer twice and apply a filter or different style to each one. To reference the same data in a web map you take offline, you can do the following:
- For hosted feature layers, create hosted feature layer views. This provides distinct layers that can be added to the map. Set a view definition and apply different styles as needed.
- For ArcGIS Server feature layers, publish separate feature services that have unique names. You can then add the feature layers to the same web map to apply filters and styles.
- Creating
offline
map areas
ahead of time is not supported on feature layers that
have
ownership-based
access
control
enabled
that
restricts
users from viewing
features
created by other users.
For hosted feature layers, ensure that the Editors can see all features option is selected if you enable the Editors can only edit their own features (requires tracking) option on the hosted feature layer item.
For ArcGIS Server feature layers, the source data in the enterprise geodatabase must have editor tracking enabled, and the service must have at least the Query option checked for the Operations allowed on features created by other users option configured.
- If the map you want to take offline contains a tile layer, the source service definition file, tile package, or vector tile package for the tile layer must exist in the ArcGIS Enterprise portal.
Create and manage offline map areas prepared ahead of time
Once you enable a web map for offline use, it's recommended that you create offline map areas to simplify the experience of offline workers. Offline map areas allow you to package data from specific areas of a web map to make it easier and faster to download maps for offline use. Offline map areas that you prepare ahead of time can be used in ArcGIS Field Maps, ArcGIS Survey123, and maps built with ArcGIS Maps SDKs.
When you create an offline map area, the data in the specified area is bundled into one or more downloadable packages. Feature layers are bundled into mobile geodatabase files (.geodatabase), tile layers into tile packages (.tpk or .tpkx), and vector tile layers into vector tile packages (.vtpk). Package names reflect the names of the layers they contain.
To create, edit, and manage offline map areas for a web map, you must be the owner of the map and have privileges to create content.
Note:
You cannot share a web map that contains an offline map area with groups that allow members to update all items, and organization administrators cannot change ownership of a web map that contains an offline map area.
Create an offline map area
You can create up to 16 offline map areas for a web map. The number of offline map areas you create depends on the needs of your organization and its mobile workers.
Do the following to create an offline map area:
- Ensure that all the layers in your map are enabled for offline use.
- On the web map's item page, click the Settings tab and click Offline at the top of the tab.
If the web map item does not have an Offline section on the Settings tab, the map contains one or more layers that cannot be taken offline.
- In the Offline section, ensure that the Enable offline mode toggle button is on.
- In the Offline Map Areas section, click Manage Offline Areas.
The Manage Offline Areas window appears.
- Click Create offline area.
- Do any of the following to navigate to the part of the map where you want to create an offline area.
- Use the zoom buttons to zoom in or out in the map preview.
- If your map has bookmarks, click the Show bookmarks button and click a bookmark to navigate to the that area of the map.
- To navigate to a specific place or address, enter keywords in the search box. Keywords can include addresses, street intersections, places, points of interest, longitude and latitude coordinates, and feature IDs.
- To draw a shape representing the offline area, click one of the buttons on the Sketch toolbar.
- To draw a box around the area to take offline, click the Sketch rectangular map area button and draw a box on the map.
- To draw a polygon to define the area you need to take offline, click the Sketch polygon map area button and draw the polygon on the map.
- To move the offline area shape, select it and drag it to a new location on the map.
- To change the shape of a rectangular area, click the rectangle to select it, hover over a vertex until the pointer changes, and drag the vertex to the desired position. Repeat this action with any of the vertices until you're satisfied with the area of the rectangle.
- To change the shape of a polygon area, follow these steps:
- Click the polygon to select it and click the Reshape map area button on the Sketch toolbar.
The polygon's vertices appear.
- Click a vertex to select it.
- To move a selected vertex, drag it to a new position.
- To delete a selected vertex, press the Backspace key on your keyboard.
- Repeat substeps b through d with any of the vertices until you're satisfied with the area's shape.
- Click the polygon to select it and click the Reshape map area button on the Sketch toolbar.
- In the Name box, type a descriptive name for the offline map area.
- To change the quality and resolution of the downloaded raster or vector tile layers, open the Level of Detail section and move the slider to the right for more detail or to the left for less detail.
Set a level of detail that is appropriate for the offline map area you create. If the level of detail is too great (for example, you set the level of detail to Streets but your offline map area is the size of Spain), you'll receive a warning indicating you must either reduce the offline map area or decrease the level of detail.
- Open the Packaging schedule section to set the interval and time that you want the offline map area packages to be refreshed to capture changes to feature layer data.
If you don't want to set an automatic refresh schedule, select Never from the drop-down menu.
Note:
Scheduled refreshes don't apply to tile layers. You must manually refresh tile layer packages as needed.
- To create offline map area packages for read-only use, open the Optimizations section and switch on the Enable packaged updates toggle button.
Read-only packages are created based on the schedule you set in the previous step.
- Click Save.
The new offline map area appears in the Offline map areas list with a badge indicating the area is being packaged. Packaging can take several seconds or minutes, depending on the size of the data being packaged.
Packaging will fail if the size of the offline map area, when packaged, is larger than 2.5 GB. If packaging fails, try sketching a smaller area to include in the offline map package. If the map contains feature layers that have attachments, you can exclude attachments from the offline package to decrease the package size. If the map includes tile layers, you can decrease the size of the offline map area by adjusting the level of detail to include less detail.
- To create more offline areas for this map, click Create offline area and repeat the previous steps starting with step 5.
You can create up to 16 offline map areas per web map.
Edit an offline map area
Once you have an offline map area, you may want to change its name, shape, level of detail, or the schedule for refreshing feature layer packages (if set).
Do the following to edit an offline map area:
- On the web map's item page, click the Settings tab and click Offline at the top of the tab.
- In the Offline section, ensure that the Enable offline mode toggle button is on.
- In the Offline Map Areas section, click Manage Offline Areas.
The Manage Offline Areas window appears.
- If necessary, type part of the offline map area name in the Filter offline areas field to help you find the one to edit.
- Click the name of the offline map area to edit and change any of the settings or the shape of the offline map area as needed.
- Click Save when you finish editing.
Manage offline map areas
In addition to editing your offline map area, you can update or refresh individual packages, and you can re-create or delete offline map area packages at any time. You can also update the map area, which automatically refreshes its associated packages. Understanding each of these options is important to managing your offline map area effectively.
The following actions can be found by selecting existing offline map areas from the list or by clicking an individual offline map area to get to its details.
Update
This is the most common action. Update compares the existing map area packages to the current layers and advanced offline options set on the web map. If layers have been added or removed, clicking Update will delete or add new packages as required. If the advanced offline settings have changed, the Update action also repackages the changed data, and makes the changes available in the offline map area for future users who download it.
The update action does not incorporate schema changes to the map area. For schema changes, re-create the offline map area.
Delete
Deleting an offline map area will remove the offline map area item as well as any associated packages and make the offline map area unavailable for download. Apps that have already downloaded this offline map area can continue to synchronize; however, if the offline area is configured with the Packaged updates option enabled, the offline area will no longer receive updates.
Recreate
Re-creating the offline map area differs from updating the offline map area. When you use the Recreate action, it deletes all packages associated with the map area and re-creates them based on the offline map area's settings.
The primary reason to re-create a map area is to pick up schema changes that have occurred after you created the offline map area. For example, if you add or delete a field or change an attribute value list or range (domains), you must re-create the offline map area to pick up those changes.
Refresh a specific package in a map area
If the data in a feature layer in the offline map changes significantly, and you need to make the updates available for new downloads earlier than the next scheduled offline package update, you can choose the package from the list of packages in the offline map area's details page and click Refresh. This updates the data manually ahead of the next scheduled package update time.
Optimize data delivery
Several options are supported when downloading offline areas and when synchronizing changes to optimize data delivery. Adjusting these options allows you, the map owner, to control what data updates are sent to mobile workers and how often they can receive data updates with their offline map area when synchronizing and checking for updates.
Reducing the frequency and amount of data updates sent from the organization to the client can decrease the amount of time it takes to synchronize, especially in locations with limited network connectivity.
Optimize what data is delivered
By default, synchronization sends edits from the client app to the organization and from the organization to the client app (bidirectional). These edits include any attachments that are associated with the features with which you are working. That may not be desirable and can increase the amount of data that each user downloads when syncing their map, especially if many workers are operating in the same geographic area and using the same layers.
You can control what data is delivered to the client, both on the initial download and when synchronizing. For a web map, you can decide what data is delivered to the mobile worker. When data delivery optimizations are configured for the web map, they apply to offline map areas prepared ahead of time as well as on demand.
Feature layer owners and administrators can choose whether you need to see or work with existing features or attachments, and whether you continue getting updates for features or attachments when synchronizing. By adjusting these settings to only deliver the data your mobile workers require, you can reduce the time it takes to synchronize the offline map area and reduce the amount of data being downloaded or synchronized.
Note:
The options configured in the following steps work out of the box in ArcGIS Field Maps. Developers building their own apps with ArcGIS Maps SDKs can take advantage of these advanced options using unsupported JSON. For example, if you're building an app using ArcGIS Maps SDK for .NET, you could use the UnsupportedJson property.
To optimize what data is delivered when a map is taken offline, complete the following steps:
- On the web map's item page, click the Settings tab and click Offline at the top of the tab.
- In the Offline section, ensure that the Enable offline mode toggle button is on.
- Click Advanced Options.
The Offline: Advanced Options window appears.
- In the Control feature and attachment delivery section, specify how attachments and features are delivered to clients when the offline map is downloaded for the first time and each time data updates are synchronized from the map in the organization to the map on the client.
By default, the Device will download and get updates for features and attachments option is selected for both editable and read-only layers. That means clients will download all features and attachments when the map is downloaded and receive updates to both features and attachments for all layers in the map. You can change the settings for both editable and read-only layers. Additional options include the following:
- Device will download and get updates for features only—Excludes attachments when downloading the map and when updates are synchronized from the organization to the client.
- Device will never download or get updates for features—This option is only available for editable layers. When you choose this option, no editable layers are downloaded or synchronized from the organization to the client.
Choose the options that make sense depending on what users need to use offline, as well as any concerns or limitations related to device storage, cellular data usage, and download and synchronization speed, especially in areas of poor connectivity. For example, you can choose to deliver only feature updates if offline users don't need to see attachments, or you can have attachments and features delivered for editable layers but not read-only layers.
- Under the Use a tile package for the offline basemap section, choose one of the following to specify what to use as a basemap in the map when working with it offline:
- Basemap defined by the web map—The basemap that is currently in the map will be used offline.
- Tile package on the device—The offline map will use a tile package that is already on the device. Using a tile package as a basemap allows you to download a larger and more detailed basemap for offline use when required. Before choosing this option, ensure the tile package covers the area or areas you plan to work with offline.
- Tile package from my organization—You will select a tile package item from your organization to use as the basemap in the offline map. In this case, you don't have to load the tile package to all devices that will take the map offline, and ArcGIS Enterprise does not have to compress the map's basemap into a tile package to take it offline.
Note:
Users who will take the map offline must have access to the tile package. Ensure that the tile package is shared with the correct audiences to allow offline map users to access it.
- If the map contains a utility network layer, choose one of the following options in the Offline Capabilities Utility Network section to specify which layer-based capabilities and functionality to include when taking the map offline and synchronizing in clients that support them:
- Only include simple features—The offline map will include the features and their attribute values but not the utility network behavior and rules. You can edit the feature geometries and nonspatial attribute values while you work offline and synchronize those edits with the feature layer, but you will not have access to utility network functionality such as query associations and tracing. This is the default option, requires the smallest amount of storage space, and is best suited for basic data collection that does not require access to utility network functionality.
- Edit utility network features—The offline map will include a sync-enabled mobile geodatabase with an editable utility network. This option is best suited for data collection scenarios in which users need to view utility network associations and edit utility network features, but no tracing is required.
- Trace utility network features—The offline map will include a read-only mobile geodatabase with a utility network that is traceable. This option is best suited for data collection scenarios in which users need to view utility network associations and trace utility network features, but no editing is required.
The capabilities you select will only be included if the layers within the map support them.
- Click Save.
Optimize how updates are delivered
In addition to controlling what data is delivered when downloading and synchronizing offline map areas, you can also set a packaging schedule for offline map areas prepared ahead of time that control when or how often updates are available.
The Enable packaged updates option is available when you set a packaging schedule. This option allows you to optimize how apps working with an offline map area receive updates from the organization. This option works well in the following scenarios:
- There is no need to edit layers in the offline map.
- You only need to add features when working offline in custom apps built with ArcGIS Maps SDKs.
- Mobile staff does not require the most current information.
- The source data is updated on a well-defined schedule. For example, all parcel data is updated every Friday morning when you receive updates from the assessor's office.
The Enable packaged updates optimization option updates the stored offline map area for the benefit of users who download the offline map for the first time, and also creates separate update packages that contain only changes made since the last run of the packaging schedule. Update packages are used by mobile workers who have already taken the map offline and need only these subsequent changes.
Having a package that contains only the changes made since the last scheduled package update improves performance by reducing the load on your network and the portal content directory.
When you enable the Enable packaged updates optimization option for a map area and use the map area in apps that take advantage of this setting, you cannot edit in the offline map (except in the case of apps built with ArcGIS Maps SDKs that support adding features) and you cannot synchronize with the organization to receive updates.
Choosing the right options for offline areas created ahead of time
Understanding how updates are delivered is essential to choosing the right settings for the offline areas you create ahead of time.
Trading scalability for data freshness can be beneficial in many scenarios. The examples below outline the expected behavior for two scenarios: when the data in the map area taken offline can be edited and when the data in the map area taken offline is not editable.
- Data in the offline map area is editable
If the map contains at least one editable layer, and the user who takes the map offline has editing privileges, the following is true:
- Offline map areas prepared ahead of time will update based on the packaging schedule to reduce the staleness of the data for the next user to download.
- Apps will use sync after the initial download of the map to ensure that the offline map area has the latest available data. This allows the data you're using offline to catch up with the data stored in the organization.
- Mobile workers can synchronize the offline area whenever they have network connectivity to send and receive updates, ensuring they always have the latest available data.
- In this scenario, even if you enabled the Enable packaged updates option on the offline map area, it will be ignored and synchronization will be used instead.
- Data in the offline map area is not editable
If the map contains no editable layers, or the user who takes the map offline does not have privileges to edit, the following is true:
- Offline map areas prepared ahead of time will update based on the packaging schedule to reduce the staleness of the data for the next user to download the map area for the first time.
- New users downloading the offline map area for the first time get the latest available data. What constitutes the latest available data, though, depends on whether you enabled the Enable packaged updates option on the offline map area.
- If the Enable packaged updates option is enabled, users downloading the map area for the first time receive the latest packaged data available since the last time the packaging schedule was run.
- If the Enable packaged updates option is not enabled, users downloading the map area for the first time receive the latest data for all the layers in the map that was available at the time they downloaded the map.
- Mobile workers can check for updates from the mobile app anytime they have connectivity to the organization to receive available updates. What they receive, though, varies depending on the Enable packaged updates setting.
- If the Enable packaged updates option is enabled, mobile workers receive the latest packaged data available since the last time the packaging schedule was run.
- If the Enable packaged updates option is not enabled, mobile workers receive the latest data for all the layers in the map that is currently available.
Note:
Using packages that contain only the updates made since the last scheduled update improves scalability and performance, but mobile workers may not receive the latest data available for the layers in the map. It is recommended that you align large layer updates as much as possible with your packaging schedule to minimize data staleness if you enable the Enable packaged updates option.