So we’ve been spending quite some time with the very cool editing capabilities of the ArcGIS FeatureLayer. We are most interested in services published to ArcGIS Online. Editing will be a key advantage mobile brings to the world of ArcGIS. Avoiding the details (maybe in a future post), but not all ArcGIS FeatureLayers are the same. We wanted to put together a demo of the editing of a Featurelayer which contains a featureCollection, from the ESRI docs:
“The featureCollection is used when you want to initialize the FeatureLayer with features from outside of ArcGIS Server.”
This lends itself well to offline editing.
ArcGIS Mobile Editing
In the demo below we are online and accessing the app via a mobile browser (note, this demo needs Flash and thus wont run on an iOS device):
We live in changing times in the geo-space. Our work with location data as a company, began in the 90’s. Its been an interesting ride; from desktop to Internet, to now the cloud and mobile. New conferences appeared like Where 2.0; too many so called experts and innovators were thrust at us. Much of this left us cold; GIS for the masses with venture capitalists lurking in the background. We became a little cynical.
But truly exciting things are now happening. As the term GIS fades; location data and the integration of other business systems (SAP etc) with geospatial services moves our work from its historic niche, to solving real business problems. With mobile, new location data is becoming available. Mobile apps now provide access to location services, for both the consumer and the Enterprise. ArcGIS Online we see as huge. Its a pleasure to hear guys like Sean Gorman talk about our geospatial future. In fact talking about Sean, here is an excellent recent James Fee interview with the man:
Our previous blog entry showed the initial steps in working with mobile ArcGIS when offline. We ended the post with “whats next? Offline Feature layers and Offline editing”. And that is the topic of this blog post.
As we have mentioned before as a company our focus is mobile location technology. GIS, and specifically ArcGIS, is an important part of this work. We are also advocates of open source software. Now the so called ‘elephant in the room’ of mobile GIS is offline. Everybody wants it, but there remains no practical solution. Both ESRI and Google have discussed rolling out offline solutions. But nothing is yet in place, at least in published API’s.
We are regularly approached about disconnected mobile maps and offline GIS. Its an itch we started to scratch a while ago. Our goal was initially to put in place a solution in the ArcGIS world, upon which we could also base an open source solution. ESRI, and in particular Mansour Raad, have been a big help in moving this work forward. We now have an end to end solution for working with mobile ArcGIS while offline.
Before we describe the work, here is a video which shows an ArcGIS Online webmap being takes offline; that is basemap, feature layers and editing.
ArcGIS Online is a major step forward for mobile ArcGIS. True its not just targeted at mobile, but it has and will make the lives of mobile developers and their clients considerably easier. Why? Let’s make a list:
1) Single endpoint, or webmap to load, in a mobile viewer
2) Easy for users to prepare and publish their data.
3) Shapefiles published to ArcGIS online are converted to Feature layers and pushed to the mobile ArcGIS viewer within the webmap itself.
4) Other data sources can be easily published in ArcGIS online, then rendered in a mobile map viewer.
Those are just some of the advantages.
We’ve just released ‘GeoMobile for ArcGIS Online’ a free mobile app which allows users to load on a mobile tablet, their own published ArcGIS Online webmaps. We designed it to be extensible. So it goes beyond the excellent ESRI mobile widget, in that we can add functionality based on user requirements.
We are approached regularly about offline ArcGIS. Thus the somewhat confusing title of this blog post ArcGIS Online Offline! Here, we will discuss using GeoMobile for ArcGIS Online to access your webmap in an offline mode. The approach we demonstrate could easily be used in our other free mobile app GeoMobile for ArcGIS Server.
Before we describe the offline widget in more detail, here is a demo:
GeoMobile for ArcGIS Online is a free mobile app we launched in July 2012 to the Android Market. In August it will be released in the Apple market. The app allows users to access their ArcGIS Online maps on their iPad and Android tablets. Multiple maps can be accessed, when users set up and host their own configuration file. The mobile ArcGIS app goes beyond what is available in the excellent ESRI mobile app. We are actively extending the functionality of GeoMobile for ArcGIS Online for our clients.
Working with GeoMobile for ArcGIS Online
There are a number of simple steps needed to use GeoMobile for ArcGIS Online:
Step 1 – Setup an ArcGIS Online standard map service
Apple has been praised for its innovation in the mobile space. Criticism of the company has centered around their fixation on absolute control. Their spat with Adobe in 2011 over the Flash Player plugin, effectively forced Adobe to change direction away from Flash and Flex. This was an early sign that Apple would not be playing nice. Legal pressure forced them to allow cross platform apps, like those generated in Mobile Flex, to be made available in their Apple store. But it was not a decision made to placate Adobe. Now we see attacks on rival hardware companies, like the recent Samsung lawsuit:
Other interesting developments include; the dropping of Google Maps in favour of Apple Maps, and the suggestion that their Maps app for iOS will include Yelp check-in feature that ties in with review site Yelp, further integrating social networking and location-based services into iOS 6.
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.
Local Storage
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.
ArcGIS Online and the new ArcGIS 10.1 release are about to provide a plethora of online and offline mobile GIS solutions. We launched GeoMobile for ArcGIS nearly a year ago. The goal was to provide a custom mobile ArcGIS app. We include a configuration file so users could add their own map layers; basemaps, dynamic and tiled ArcGIS layers. The mobile app has proved to be very popular. But the need for a single service, which provides all map data, has nagged at us. To the rescue comes ArcGIS Online and web maps. Now users can publish their ArcGIS layers, shapefiles, CSV, GPX, KML ad WMS to a single service. The associated web map can then be consumed by mobile applications like GeoMobile for ArcGIS.
ArcGIS 10.1 is exciting for many reasons. Primarily, in this discussion, because it allows users to generate tile packages for use offline. More on this in a later post. Lets first walk through the steps to publish a web map in ArcGIS Online.