Offline or disconnected mode is one of the most in demand client and potential client requests we receive. And yet the main spatial solution providers have only made small steps in this direction. Chatting with ESRI, offline ArcGIS is on their roadmap, but no major releases are planned in the near future. Our interest is cross-platform solutions. So recent iOS and Android specific announcements from the likes of Google, though very interesting, do not serve our clients well.
It was time for us to look into our own solution. We broke down the problem into manageable chunks, then conferred with Mansour at ESRI on the details. Let’s discuss at a high level these pieces.
Offline versus Online Mode
In code we can detect if a mobile device has online connectivity. If it does reach out over the network for map and server functionality. If offline look locally, to the device itself, for resources.
Mobile devices have varying amounts of local storage. They also come with so called lite databases. In offline mode we take advantage of these local resources.
Offline ArcGIS Visualization – Tile Packages
Let’s imagine we have an ArcGIS Online web map we wish to view on our mobile in disconnected mode. Using ArcGIS 10.1 we can now generate a tile package of the layers used in the web map. These .tpk files vary in size, we need to be careful when generating these packages, particularly thinking about the capacity of the mobile device targeted for the mobile ArcGIS app. But once the tile package has been generated this need be stored on the mobile device. Note, tile packages which include base map tiles will need agreement with ESRI since there are various licensing agreements attached to the source of these base tiles.
Let’s imagine we want more than simple tiles in our mobile ArcGIS app while in offline mode. Feature layers resemble WFS layers in the open geoweb standards world. In essence the raw materials of a layer are provided to the client app, for the code (be it HTML5 or Mobile Flex) to handle. So points, lines and polygons are drawn and styled by the app itself. Attributes are also supplied. By storing this feature layer data in the mobile database, as supplied by the ArcGIS server while in online mode, we can use this data to draw these interactive layers over the .tpk base map tiles. So tap a polygon with your finger and view attributes.
Mobile ArcGIS – Offline Editing
Now this is a big one. Visualization and interactive layers are one thing, but often workflows are interrupted by offline, this is particularly true when it comes to editing. We wish to add new features and edit existing. ESRI’s Feature Server is a wonderful way to edit feature layers. Below is a simple demo of the use of Feature Server while in online mode on an iPad.
Again taking advantage of the local mobile database and FeatureCollections, we can in offline mode, store our edits and when online communicate this information to the server.
ESRI will streamline the above flow at some point; following similar steps. But for now this is a very clean way to provide both offline base map and layer visualization, interaction and editing.
Let us know if you have you implemented an offline ArcGIS mobile solution, or are looking for this functionality.