As a mobile GIS development company we have had many fascinating conversations with clients, and built some very cool apps. We thought it might be interesting to look back at our experiences and list 4 popular uses of Mobile GIS.
Disaster Management and Assessment
Time is of the essence when managing disasters. Both providing relief to affected communities quickly, then following up with assessment and help with rebuilding. Mobile GIS has become a very important tool used by NGO’s and public safety departments.
We wrote last year about work we were doing with Monroe County. They were looking into improving their pen, paper and spreadsheet based approach to disaster assessment. Providing iPad’s to non-GIS trained Red Cross volunteers, loaded with a simple to use GIS app, was the goal of the work. The mobile GIS app built by WebMapSolutions allowed these volunteers to view interactive maps, collect data, share and collaborate while on site. The data resulting from the field reporting was quickly provided to state officials as an interactive Web map which was easy to understand, showed damage information at a parcel level, and helped with discerning patterns. This Web map approach has dramatically helped the decision making process, allowing for fast turnaround of relief funds.
In early 2011 we began to turn our attention seriously from development for the PC Web to mobile. Blackberry released their excellent, but not well received, Playbook. As a first step into mobile GIS development we built and launched a mobile ArcGIS viewer to the Blackberry App World. Accompanying this release we wrote a paper for ESRI’s ArcUser publication on the development process, available at this link.
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):
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.
Our thinking has been for the longest time that mobile will revolutionize the field of location-focused technology. Niche areas like GIS will be pulled into the mainstream under the location technology umbrella. Location based services (LBS) will coalesce with other location focused technologies.
As a company, we made a strategic decision nearly 2 years ago to move our focus from GIS development for the PC web, to mobile location app development. This year has been crazy busy. Combine this with Apples recent announcement, the launch of ESRI’s ArcGIS online, and new developments at Google and MapQuest, and we feel our strategy was correct; location is now at center stage in the mobile world. Making the decision when we did has also allowed us to develop expertise, and thus leadership in the location mobile app development space.
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.
No doubt the most frequent approach we get for the mobile ArcGIS apps we develop are offline or disconnected workflows. Clients want both to be able to visualize basemaps and their layers when out of wi-fi range, and offline editing; new feature additions, deletions and attribute edits.
ArcGIS 10.1 gives us tile packages (.tpk) so we can store tile pyramids locally on the device. Mansour has a nice example showing how to access basemap tiles using a tpk in offline mode on his blog.
The real challenge is offline editing. ESRI introduced Feature Server with Feature layers in ArcGIS 10, which work nicely in online mode. In April they released an Online-Offline Editing Sample using their iOS api. They include in their notes supporting the sample:
“For the sake of simplicity, the sample ….only allows you to add new features when the application is offline, not modify or delete existing features.”
Now there is the real challenge, what they have left out of the sample.
We have been asked many times about offline mobile capabilities. Situations where users are in areas without Wi-Fi access and still wish to access their mapping and GIS data, and geospatial tools using their Apple or Android mobiles. We have put together a video below which demonstrates a number of ways this can be done. To summarise the content. We need consider basemaps, layers and tools:
Basemaps – to access basemaps offline – street, satellite, topo maps – the basemap tiles for required zoom level need to be stored on the smartphone or tablet. The video shows two potential ways this can be done:
While online; auto zoom to a specific zoom level, and cache the tiles loaded during this zoom. Then referencing these when offline
Load a tpk or tile package which contains all the tiles required when offline.
Shapefiles – to view our layers, a shapefile needs be loaded onto the mobile device as a zip while online. In the video we discuss performance. The depackaging of the zip and rendering of the shapefile can be time consuming. We have optimised shapefile rendering by using fast shapefile depackagers and generating a bitmap of the shapefile.
The video below walks through solutions for offline basemaps and shapefiles:
We launched GeoMobile for ArcGIS to both demonstrate a custom cross platform (one code base which runs on multiple platforms) mobile ArcGIS app, and experiment with porting widgets from the Flex viewer for ArcGIS. The results have been met with enthusiasm by the user community. By adding a configuration file which the mobile app reads at startup, the app allows users to load their own ArcGIS server layers; so those from their own ArcGIS server instance or cloud based. Our work now mostly revolves around building custom tools for use in the mobile viewer.
We wrote a blog entry a while back called ‘Hot Topics in Mobile GIS’. This was a summary of some of the many client conversations we had in 2011, talking about mobile GIS. Moving away from the use of pen and paper while working in the field, was often mentioned. It remains common for field workers to record data using a pen, notepad and paper map. And to then reassemble their thoughts and notes when back in the office. Inaccuracy and inefficiency seemed a common concern. One client said:
“In our ideal world we would simply give our field workers a mobile device loaded with a mobile GIS app. The worker could then annotate the map on the mobile device, store the annotation on the device and either load it into a GIS application running on their PC when back in the office, or send it to an office based employee to do the same”.
Mobile GIS Flexible Frameworks
Around 6 months ago, we released GeoMobile for ArcGIS; a free mobile app in the iOS, Android and Blackberry app markets. This came from our work writing an article for the Winter edition of ArcUser called ‘Developing a Custom ArcGIS Application for the iPad 2’. GeoMobile for ArcGIS is a flexible cross platform framework written in Mobile Flex. We have found this flexibility to be very useful for extending and customising mobile GIS functionality. Building on this work, we are actually in the process of writing an open source equivalent called GeoMobile for GeoServer.
I digress. Given our clients ‘perfect world’ statement above, we decided to use the GeoMobile for ArcGIS framework to build this ‘perfect’ functionality. The ESRI Flex Viewer for ArcGIS has an advanced drawing widget, which allows users to both annotate an ArcGIS map and save and open the annotation. Perfect. We took this widget and ported it to GeoMobile for ArcGIS; made some adaptations and the results you can see demonstrated in the video link below:
Now field workers can annotate to their hearts content on their mobile. Add lines, points and polygons. Make notes, right on the map. Pipe broken here. Tree down there. Save this off and open it in the Flex Viewer for ArcGIS on their desktop in the office. And move forward.
We think this could be a mobile solution many organizations could find useful. We plan to build this type of functionality into GeoMobile for GeoServer. We’d be interested in your thoughts; is this mobile GIS functionality you could use within your work flow?