We always like a good challenge. More than once in the last few weeks we have been asked if it is possible to auto generate features – points, lines, polygons – on a mobile device using GPS. So store the path followed using the built in mobile GPS. Then generate a feature from this data. We put our thinking caps on and came up the application you see in the video below
The demo shows the app running on an Android tablet in offline mode. This could just as easily have been an iPad; since we built the app using Mobile Flex which can run on either platform. We first generated a tile package in ArcMap, this forms the offline basemap and is stored on the tablet. Checkboxes in the top left header allow users to select either polygon or line as the final generated feature. Start and stop buttons initiate data collection, and generate the final feature respectively. In the demo we drove around a block; starting and finishing at the same point, so we chose to generate a polygon.
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):
Mobile GIS in Archaeology and Historical Preservation
Cultural Resource Management relates to archaeology and historical preservation. We had a recent email from somebody working in this area – thanks Stephen – who discussed how mobile applications, particularly those which utilize GIS, would be a huge help.
Stephen sees an important place for mobile GIS apps in the world of archaeology and historical preservation. He writes:
“Even though GPS technology has been readily adopted in the profession, it is still mostly wedded to a system of paper forms and (often) disconnected implementations of ArcGIS based map creation and non-geo-referenced photos”
This reminds us of many other areas where paper and pen remain the field recording equipment of choice. Mobile apps allow users to record data using tablet based forms, and basic geo-referencing. Combine this with GIS and a wide array of tools become available. Stephens cites some examples:
“If one is recording an historic building or archaeological sites, one can take a decent resolution image, complete the form electronically, and consider view shed/buffering without juggling several devices and a handful of forms as well. I can also see value when doing a field inventory for something like a wireless tower where viewsheds and buffers are important. It would also be very useful for situations where one is doing resource monitoring (making sure a client doesn’t impact something).”
Mobile GIS in Natural Resources Management
Another recent conversation we have had revolved around natural resource management:
“We have a diverse natural resources management program going on here, and I can see this used for several of our field activities. Particularly of interest, though, is using this for collecting survey data. We are currently doing things horribly old-fashioned: collecting GPS points and logging attribute data on paper forms in the field, then coming back to the office to download points and enter into a database.”
“We collect a few different types of data during surveys: any threatened or endangered species, all species present for certain transects, and incipient and invasive species. Spatial datasets are then updated as needed. It requires a lot of attention just to make sure data gets organized properly. For years, we’ve talked about getting a nice set of Juniper systems with ArcPad, but it’s a pretty big investment. The proliferation of mobile devices, and new mobile GIS apps, seem like a more cost-effective means of achieving similar functionality.”
Mobile GIS in Civil Engineering
Finally civil engineers are looking for solutions to improve how field workers record and update data:
“We simply want an easy way to update our GIS from the field. To overlay pipeline and manhole layers for example on a basemap, and view on an IPad, would be a big benefit to our field crews. More than that, if we were able then to update a GIS where we see inaccuracies in both the path of the pipeline and attributes of a manhole, that would be simply huge. We would want a sanity check. Whereby any updates were processed first by our GIS administrator before they were committed to the GIS”
Mobile GIS Solutions
With an increasing number of these types of inquiries, we have been looking at the implementation of solutions. The link below is to a video showing an online/offline feature editing solution:
We are actively looking at building GeoMobile for Geoserver (we already have released GeoMobile for ArcGIS), an open source mobile GIS viewer. Feature editing as described above will be an important consideration.
Go to our contacts page and let us know the challenges you are facing in the field viewing, editing and adding new data.
This is part 2 of a discussion on mobile GIS and feature editing. In part 1 we began the discussion. Here we spoke about saving basemap tiles and shapefiles to the mobile device. How shapefiles can be represented (overlaid) on the map in a number of, less than perfect, ways. We discussed other mobile GIS type apps which load shapefiles. We have actually just created a video which compares a number of these mobile GIS apps, with a focus on shapefile and attribute query. In this article we will take this discussion further and look at possible solutions
Online/Offline Mobile GIS Feature Editing
There are a number of approaches which can be taken when looking at solutions for online and offline feature editing and data recording:
We have discussed in other blog posts how pen and paper are still widely used in the field for recording new and updating existing data respectively. We know ESRI are working on solutions to both viewing layers and editing features in both online and offline modes. The feature layer – ESRI’s equivalent to WFS – approach linked to above is just for the iOS platform. So far we see no cross platform or Android specific mobile ArcGIS solutions. We’ve asked (weeks ago) and still await a reply. The approach allows online/offline feature updating then auto ArcGIS server syncing. We presume the final commit to ArcGIS would be done by a GIS administrator, so no direct update from the field.
But what do you do if you have an old version of ArcGIS server, don’t have feature layers or are using an open source solution?
Solution 2 above, using local files to record data, is a simple and robust solution. This approach is simple, and does not tie you to the latest ArcGIS server release. The video above shows two types of updates. First updating a features geometry. Imagine a pipeline layer which, in sections, is inaccurately represented. Using a markup tool as shown allows users in the field to redraw these sections. This markup is stored in a file and can be loaded by a GIS administrator for a sanity check and GIS update. The markup tool could also be used for adding new features; maybe a new section of pipeline. Second there is updating a features attributes. Loading a locally stored shapefile, editing a features attributes from this shapefile, storing these changes in a local file and sending this to the GIS administrator, again for GIS update.
We are actively looking at building GeoMobile for Geoserver (we already have released GeoMobile for ArcGIS), an open source mobile GIS viewer. Feature editing as described above will be an important consideration.
We’d be interested in any feedback you might have on this article. We have received many inquiries about online and offline data collection and editing functionality. Have you taken one of these approaches, or something different? Is this an area you too are looking for a solution? Tell us more
An issue we often get questions about relates to offline GIS and mapping. How do we take our mobile device into an area which lacks WI-FI connectivity and still be able to access base maps and our layers? More than that how do we make edits to or update spatial features and sync these with a central server like ArcGIS? We have been pondering particularly this latter question for a while. Mansour Raad at ESRI, has been a huge help. We adapted some of his code and loaded both base map tiles and a shapefile on a smartphone. More than that we added the ability for users to tap a feature and, eureka, a pop up of the feature attributes appeared. I’ll admit we were jumping up and down in the office when we managed to get all working. Here is are two videos of the app.
But. After testing we did find one problem. The shapefiles loaded very very slowly! Hmmm ….!
Let me digress for a moment. We recently wrote a surprisingly popular blog post reviewing available mobile GIS apps. What did we find? Amongst other things a lack of cross platform apps. Too many are just built for the Apple iOS platform. Also most do not use a spatial server. They are pseudo GIS apps. Meaning they have some GIS functionality but are not driven by a GIS. To us unless ArcGIS or GeoServer are on the server side of the mobile app, call it a clever mapping app. Not GIS. But a number use shapefiles, both loading and rendering and generating. Nice functionality. But none, that we have found, allow feature editing, and centralised storage. The latter is key since collaboration will always be important. Others will want to see and use your updates.
Ok, with that out of the way. Let’s look at the question posed. How does a true GIS mobile app allow non WI-FI connected users to visualize, edit and update layers in ArcGIS? As the videos above shows, base maps tiles loaded onto a mobile device for offline use are no problem. But ArcGIS layers are rendered on the fly. Meaning when online, each zoom or pan requires redrawing of the layer by ArcGIS. How do we store this in offline mode? The obvious choice is a shapefile. So store this spatial layer entity on the device. Load it when required.
Mobile GIS – Querying and Editing Features in a Shapefile
This brings us back to the slow load. In the demo we are using Adobe AIR. The applications takes the geometries in the shapefile and physically draws them. Slow .. you betcha. There are other approaches. Fast layers (again thanks Mansour) in one. Here we can improve the speed of drawing.
Another is not drawing the geometry, but converting the shapefile to a bitmap. Adobe AIR handles bitmaps super fast. So multiple pictures are loaded on the screen. The pictures represent shapefiles. One more potential approach is to convert to svg.
But, click on a feature in, say, a bitmap, maybe a single county in a state, and you are clicking on a picture. How do you relate the point click to the feature? More than that if you want to edit the attributes of that feature, again how do we store this data?
Mobile GIS – Offline Changes Synced with ArcGIS
Lastly, and most importantly, if we want others to have access to these updates how do we upload this data to ArcGIS?
As mentioned we have had requests for this functionality. We feel this relative trickle of emails may become a flood in 2012. So finding a solutions to this conundrum is something we are giving particular attention.
This is part 1 of a two part post. Here we laid out the question. Next we will discuss possible solutions.