MapIt. GPS data collection for Android

A few months ago I saw an announcement posted to a GIS user group that I subscribe to. They were looking for someone to spend a month volunteering in Guinea, West Africa to teach a course on soil mapping with GIS and GPS.  I am not a soil scientist by any means but I have worked with GIS and GPS for 25 years, mostly in the environmental consulting field and have picked up a bit of knowledge of soils through my work.

For the past several years I have been trying to find a way to use my knowledge of GIS and GPS to provide more benefit to conservation and humanitarian causes in the developing world. I had also recently moved to Mexico to get married and for once was not limited by vacation days, so I decided to answer the call.

One of my students collecting a GPS point

The project was a joint effort by USAID and Winrock International to teach mapping methods to the faculty of ISAV/F, an agricultural university in Faranah, Guinea. This had been highlighted in a needs assessment as one way to help the staff best meet the needs of the students they were teaching.

The project had a number of Garmin GPSMap 76CSx units. I had never used this particular model but I had owned and used many similar Garmin units over the years. I spent my first night in Faranah getting familiar with these units and making sure that I was able to download the data from them with GPSBabel. I noticed that many of them had points on them that had been collected in Sierra Leone and Liberia in 2014 and realized that these units had probaby been used during the west African ebola epidemic. I tried not to think about what those points might have represented.

When these units first came on the market, I’m sure that they were state of the art. And they were still quite functional in terms of collecting a point.  But their purpose had always been recreational and they were never really intended to collect GIS data.  If you were a hunter who wanted to find his way back to camp, or a fisherman who wanted to remember where he caught that 5lb bass, these units fit the bill.  If you were in the beginning stages of a large scale mapping effort, however, they left a lot to be desired.

My “students” (actually faculty at the local agricultural university), trying to locate a point.

You could certainly collect a point very easily, but you could not set up a data dictionary and collect attribute data. You would be stuck entering that information later on from your notes. And you could create a line IF you were very careful, but collecting lines was definitely a secondary use and the user interface for doing so was far from ideal.

Even though my students lived in a very rural part of one of the poorest countries in Africa, they still had smart phones. The tiny screen of the GPS, virtually non-existent mapping, and method for entering text via joystick seemed positively ancient.

Screenshot showing accuracy of line collection. 4 trips up one side of a road and down the other, about 12 hours apart. You can definitely tell which side of the road you are on. About as good as one could expect with non-corrected solutions. Accuracy can vary between phones though. This was with a 2 year old Samsung A5. Definitely not a top of the line phone even 2 years ago.

I got my first job using GPS for data collection in 1993. Since then I have had several types of recreational models that I used for my own use, to navigate to huts in the Colorado winter for example. I have also used virtually every model of Trimble, Magellen, and TopCon GPS unit in existence at one time or another in my professional career. And for the past 6 or 7 years I have tried many different GPS data collection apps for smartphones as well. All of them worked to some extent, but all of them had weaknesses as well.  It seemed that nobody had put together one app that did everything well in one place.

So I began writing my own data collection apps using JavaScript and PHP with a PostGIS backend for my professional clients, because I could give them a simplified app that did exactly what they needed nothing more. I could also modify it to meet whatever needs they had.  Need a site to change color after updating data? No problem. Need to send messages to your field staff and/or track their locations from the office? No problem. Need to automate some complex calculations based on user entries? No problem. Need to see a site’s survey history at the push of a button? No problem.  Best of all there were no expensive monthly user fees.  (Learn how)

More accuracy, three trips around the block collecting the same polygon.

This all worked great, but it still seemed like someone should have put together a basic data collection app for non-programmers by now.  What I was looking for was something that could collect points, lines, and polygons, as well as some custom attributes.  It had to work well off-line as there was no guarantee of service here.  I also wanted something that could simply save a data file, preferably to a Dropbox or Google Drive location.  I’ve never understood why I should pay $30 to $50 per month per user just to save data to someone else’s cloud service.  That seemed exorbitant, even in America and was one reason I had moved to writing my own apps.

It had been awhile since I had looked to see what was available in the Google Play store so I decided to take another look and came across MapIt GPS.  Everything I read about it seemed to fit the bill so I downloaded it.  After playing with it for a few minutes, collecting points around my house I realized I was on to something good and paid the $9 for the professional version so I could collect lines and polygons and export the data.  Everything worked exactly as stated and after a few days of testing I decided to introduce it to my class as an alternative tool for data collection.

Sample data collection form for a soil sample location

They fell in love with it at first glance.  Being experienced smart phone users they were right at home with the menu’s, keyboards, zooming in and out on the map, etc. It’s amazing how much more comfortable they were with a phone app than with the Garmin, which seemed quite foreign to them.  As an instructor it was much easier to explain the use of GPS to collect data for GIS because it uses the same terminology as GIS and I spent a lot less time explaining how to navigate the Garmin interface and enter text via joystick, using a third party software to download the data from the GPS and convert it to a shapefile, make sure all the serial port settings were correct, etc.  I could simply export it as a shapefile to my drop box account and magically I could load the data into a GIS system in seconds without even a cable connection. Thank you internet!

Things I love about the app

  1. Although I have not used it yet on a large project, it seems very stable. Everything works exactly as expected and very quickly. I have not had any unexpected hangups or crashes. Not once.
  2. The ability to see several different sources of background maps. Especially both Google and Bing imagery and the excellent OSM Topo map, which is by far the best world wide topo map service that I am aware of.
  3. The ability to make your own background maps for offline use. Author up your own data, symbolized exactly as you want, in QGIS and then export it to an mbtiles file using the QTiles plug in and load that file onto your phone. Boom.
  4. The ability to import your own shapefiles with attribute data into a MapIt layer.
  5. When collecting a line or polygon in tracking mode (streaming mode) pausing and/or forcing a vertex is simple and intuitive.
  6. Attaching photos to features is also simple and straightforward. The path and filename of the picture is included in the attribute table so that you will never lose track of which photo goes with which point.
  7. Navigating to a point, like most things with this app is simple and intuitive.
  8. Getting the data off the phone and into your GIS software again is simple and intuitive. No more losing data off in the cloud somewhere, no more DNR Garmin or GPSBabel as an intermediate step. You can save to either a local file on your phone and then download through a cable, or e-mail yourself the data. But the easiest is to save it straight to a Dropbox or Google Drive, which will sync automatically to your computer.  Saved and backed up in one step. Boom.
  9. Best of all the data can be exported in a number of formats. Shapefiles, GPX, GeoJSON, even KML, if that’s your bag.  I would have been thrilled with just GeoJSON but I’m sure ESRI users appreciate the shapefile option since ESRI products somehow cannot read a GPX or GeoJSON.
  10. Both the creation date and the date of the last modification are stored as attributes in the output. Even better they are stored in a simple and intuitive format that allows you to both sort it by date/time and parse it easily. Garmin GPX files drive me batty with placing the day first and the month as a text field which makes sorting them by date impossible and to make matters worse they use dashes to separate the date values and colons to separate the time values and don’t pad their zeros which makes parsing them into something a computer can interpret as a sortable date a real problem.  This may seem like nitpicking but to power users of GIS and GPS it is a huge deal.
  11. All export files are saved with the layer name and datestamp down to the second which helps tremendously with data management.
  12. I have not used the backup function yet, but it is nice to see it included. If it goes as well is the rest of the app, I’m sure it will be simple and intuitive. The ability to copy the backup to other devices would seem to make setting up large multi-user projects a snap.
  13. Very thorough on-line documentation.

In short this app was clearly designed by someone who has spent a lot of time in the field and managing the data, rather than a marketing department.  That being said, I have a couple of relatively trivial recommendations that would make it even better than it is.

  1. I would like to see a date attribute type. Even though the time stamp of collection is saved automatically, there are times when the ability to add a date might be useful.
  2. In larger data gathering efforts it would be useful to have a unique identifier for each point. A GUID would do the trick. My concern is that when it is time to merge the data together it would be possible for two files to have the same name attribute and thus possibly allow overwriting of data or at least a lot of confusing.
  3. Also for larger data gathering efforts, it would be very nice if each device could have an identifier that was added automatically to the attribute table and the output file names. Possibly the initials of the user would help tremendously with data management.

For large and/or complicated data collection efforts I will continue to write my own apps but for simpler projects and general use I will recommend this app to my field crews and anyone else looking for a simple solution to GPS data collection. I give it 5 stars.

Leave a Reply

Your email address will not be published. Required fields are marked *