ArcGIS Runtime SDK for macOS

Work with offline layers

Layers of data can be sourced from either online services such as ArcGIS Online, WFS, or WMS, or offline sources such as mobile geodatabases, shapefiles, GeoPackages, tile packages and raster datasets. Using ArcGIS Pro and ArcMap you can create these GIS files and packages and deliver them via email, FTP, the cloud, networks, thumb drives, and so on. The recipient just side-loads the files and directories onto their device so that the ArcGIS Runtime apps can work offline without a network connection.

ArcGIS Runtime supports the following offline layers

  • Tiled layer data stored in tile packages (.tpk or .tpkx).
  • Vector tiled layer data stored in vector tile packages (.vtpk).
  • Feature layer data stored in the following formats:
    • ArcGIS features held in a mobile geodatabases (.geodatabase).
    • Features stored in a GeoPackages provisioned by the OGC file format (.gpkg).
    • Features stored in the Shapefile format provided by the .shp file and its associated files (.dbf, .shx, etc).
  • Raster layer data stored in a raster dataset file or in a GeoPackage (.gpkg).

ArcGIS Pro and ArcMap provide a range of tools to create these GIS files and packages. The following sections demonstrate how you prepare these data files, add then to your ArcGIS Runtime app and create layers to display in your map.

Tiled layer

Tiled layers are typically used to display pre-generated tiled data as basemaps. These give geographical context to operational layers and graphics in your map. You can take a portion of tiled data offline and store it within a single tile package (.tpk or .tpkx) file. To do this you need to specify area of interest, the tiling scheme, the levels of detail, and the tile format. You can do this using any of these tools:

  • Run the ArcGIS Pro python tool, Create Map Tile Package, to create a tile package file.
  • In ArcMap, choose File > Share As > Tile Package to create a tile package file, as described in the Tile Package option help topic.
  • In ArcMap, choose Share as > ArcGIS Runtime Content to export the map's basemap layer to a tile package file (.tpk) that is output within the ArcGIS Runtime Content folder. This is described in the Creating ArcGIS Runtime content help topic which is available with ArcGIS 10.2.1 for Desktop or later.

Review this document for more information about tile packages.

Note:

When you create a tile package it must have the same spatial reference as the map in which it will be displayed.

To create a tiled layer from a tile package file instantiate an AGSArcGISTiledLayer object with the path to the tile package file on the device.

Vector tiled layer

Vector tiled layers contain vector representations of data across a range of scales. Unlike raster tiles, they can adapt to the resolution of their display device as you zoom in and out. You can take an area of vector tiled data offline by exporting the vector tiles to a vector tile package file (.vtpk) using the Create Vector Tile Package tool in ArcGIS Pro. Be aware that ArcGIS Pro does not support custom styles and only packages the default styles into the vector tile package.

Note:

When you create a vector tile package it must be in the same spatial reference as the map in which it will be displayed.

To create a vector tiled layer from the vector tile package (.vtpk) instantiate an AGSArcGISVectorTiledLayer object with the vector tile package's file URL. The default style will be loaded directly from the vector tile package.

Feature layers

Feature layers allow you to display, select and query individual features and their attributes. If supported, you can also edit features, their attributes and their attachments. The desktop pattern allows you to work with features offline using cached features stored in an offline file, such as a geodatabase file (.geodatabase), a GeoPackage file (.gpkg), or a shapefile (.shp).

ArcGIS features

To generate a mobile geodatabase use the Share as > ArcGIS Runtime Content menu item as described in the ArcMap help topic Creating ArcGIS Runtime content. This is available with ArcGIS for Desktop 10.2.1 or later.

To create an offline feature layer from a mobile geodatabase (.geodatabase):

  1. Instantiate the AGSGeodatabase object with path to the geodatabase file.
  2. Load the geodatabase and instantiate a AGSFeatureTable from one of the geodatabase's feature tables.
  3. Finally, create a AGSFeatureLayer from the AGSFeatureTable and add it as an operational layer to the map.

Geopackage

GeoPackage is an open, standards-based, platform-independent, portable, self-describing, compact format for transferring geospatial information. It uses a single SQLite file (.gpkg) that conforms to the OGC GeoPackage Standard. You can create a GeoPackage file (.gpkg) from your own data using the create a SQLite Database tool in ArcGIS Pro.

To display features stored in a GeoPackage file you must:

  1. Instantiate the AGSGeoPackage with the .gpkg file path.
  2. Load the GeoPackage and then examine its list of AGSGeoPackageFeatureTables.
  3. Create a AGSFeatureLayer from one of the AGSGeoPackageFeatureTables and add it as an operational layer to the map.

Shapefiles

To create a feature layer from a shapefile (.shp):

  1. Instantiate the AGSShapefileFeatureTable with the path to the shapefile. This path must point to the .shp file and the associated .shx and .dbf files must be present at the same location.
  2. Create a AGSFeatureLayer from the AGSShapefileFeatureTable and add it as an operational layer to the map.

Raster layer

Raster data consists of a matrix of cells where each individual cell contains a value representing information. For example, satellite or aerial images and photographs for visualizing an area. You can identify and query cell values, and define renderers to display the raster data. This SDK supports several raster formats. To work offline you just sideload these onto your device and add the raster dataset to your app using the AGSRasterLayer class. See, Add a raster to a map, for more information.