IBM Developer Advocacy

Better infrastructure maintenance with offline mobile maps



Raj R Singh
3/7/16

640px-Utility_pole_in_CuritibaYou might assume that since the reliable provision of utilities like water, gas, and electricity, is so important, we'd have the maintenance of these systems down to a science. Unfortunately that's not the case. When maintenance workers go out into the field to fix or inspect something, they're often doing it with inaccurate, old, paper maps. This is usually because they don't have maps on mobile devices, or their mobile mapping apps work only when they have a strong Internet connection.

By Honza Groh (Jagro)

By Honza Groh (Jagro)

The workers must use their experience and wits to figure out a lot of things that should be easy. Then once they do get the job done, there's usually no easy way to update the official maps so that the next worker doesn't have to go through the same ordeal.

Our group is often approached by utility companies looking for a better way, and over time we've developed a sample app called Field Work. It enables workers out in the field, like maintenance staff in the utilities, oil, and gas industries, to do their jobs more efficiently. It's a lightweight, mobile, map-centric, pure HTML5 web application that lets workers take gigabytes of data into the field where Internet connectivity is limited or non-existent.

There, they make updates: mark infrastructure as broken or repaired, create work orders, or move features on the map to update the accuracy of the database. When connectivity is restored, the changes are synchronized to a Cloudant database which serves as a staging point to update work order management systems like IBM Maximo, or geographic information systems like Esri's ArcGIS, or other systems of record.

fieldwork-app-graphics

How it works

A live demonstration is online here, and the code is available on GitHub.

Here’s how it works:

  1. Click the Load Data button.
  2. A menu appears on the upper right. These are categories of items that show on the map called layers.
  3. Turn on a checkbox to see items of that type on the map. Red pushpins appear.
  4. Tip: To move the map and see a different area, click and drag.

  5. Click the Edit Pins button.
    Some new tools appear on the left side of the map. Hover over each tool and try them out!

Edits to the pins are automatically synchronized back to the Cloudant database immediately, or whenever the web app gets an Internet connection. Then once the data is in Cloudant, it can be shared across back-end applications that need it.

Extending the demo app

When describing Cloudant’s role in enterprise information systems, we often talk about Cloudant being the database for “systems of engagement”, i.e. web applications. Cloudant Geo brings a wide range of geospatial functionality to web apps that inexpensively scale to the biggest audiences. Read more about Cloudant’s geospatial query capabilities in these two blog posts:

The data Cloudant handles eventually needs to spread throughout the enterprise, so you want to integrate with back-end “systems of record” like work order management, HR, CRM, and ERP. In the geospatial realm, you may want to connect your Cloudant-powered web app with an Esri geographic information system, which you can do either by writing your own adapter, or using FME from Safe software. Both of these are relatively simple paths to seamless data integration.

Another way to extend the demo app is on the front end, allowing for editing of lines and polygons. If you’re a JavaScript developer this should be pretty straightforward as Field Work uses Leaflet Draw, which has very nice documentation on its event-driven library for drawing and editing geospatial features. I have some code that handles polygon editing and saving to Cloudant nicely, so get in touch.

Enjoy the Field Work demo and explore all the geospatial richness of Cloudant.

blog comments powered by Disqus