Mobile Soil Sampling on iPhone & iPad

Run a repeatable, multi-season sampling program from one device — grid, collect, track freshness, and re-sample without a clipboard in sight.

If you've ever walked a field with a clipboard in one hand, a handheld GPS in the other, and a stack of sample bags in your vest pockets, you know the drill: write down the sample ID, squint at the GPS screen, scribble coordinates on a mud-smeared form, and hope you can read it all later when you're back at the truck.

There's a better way. The phone already in your pocket has a GPS receiver, a camera, a barcode scanner, and a screen you can actually read — and GoGIS runs the same program on Android and on Apple. GoGIS turns it into a purpose-built soil sampling tool — and not just for a single trip. It's built around the way sampling actually works: a program you run season after season, where the same points get re-sampled on a schedule and you always need to know what's done and what's still owed.

The Problem with Traditional Sampling

Traditional soil sampling workflows involve multiple disconnected tools: a handheld GPS for navigation, paper forms for data entry, a separate list for sample IDs, and a laptop back at the office to pull it all together. Data gets transcribed two or three times, and every transcription is a chance for error. Bag labels get swapped, coordinates get transposed, and by the time the lab results come back, nobody's sure which sample came from where.

It gets harder once sampling repeats. A field sampled last fall is due again — but which points have you re-collected this season, and which are still outstanding? Across dozens of fields, that question is almost impossible to answer from a pile of paper. The program, not the single trip, is where things fall apart.

One Device, One Program

GoGIS collapses the whole workflow into a single device and a single app — and keeps the thread across seasons. You generate a grid once, collect against it, and the app tracks which points are current, which have expired, and which were never visited. Here's how it works in practice:

1. Set Up Your Field Boundary

Load your field boundaries from a shapefile, GeoPackage, or KML file — whatever your farm management software or agronomist provides. The polygons become the containers for your sample grid.

2. Generate the Sample Grid

Select your field polygon and tap the sampling tool. GoGIS generates a numbered grid of sample points inside the boundary. You control the cell size in acres or hectares, and you can adjust the grid rotation and offset to align with rows or avoid obstacles. Each point gets a sequential ID automatically.

Sample grid generated inside a field boundary in GoGIS
A sample grid generated inside field boundaries, with numbered points ready for collection.

3. Print QR Bag Labels

Before you head out, print peel-and-stick labels for your sample bags right from the app. GoGIS lays out a sheet of QR codes (or Code 128 barcodes) on A4 or US Letter — and you choose what goes on each label: a field name pulled from the boundary, the date, and the sample number or your own Bag ID. Stick one on each bag, then scan it back when you collect so every bag stays tied to the exact point it came from.

QR and barcode bag labels generated by GoGIS for soil sample bags
Print QR or barcode bag labels right from the app — no more hand-writing IDs on bags.

4. Walk to Each Point — by Proximity or by Route

With the grid generated, head into the field. GoGIS shows your live GPS position on the map with a proximity circle around the nearest sample point. Walk toward it — the display updates in real time. When you're close enough, the nearest point highlights green so you know you're in the right spot.

GPS proximity indicator turning green when close to a sample point
The proximity circle turns green when you're close enough to collect — no guesswork needed.

Wandering point to point works fine on a small grid. On a full field, or several fields in one outing, let the app plan the walk instead. Tap Route and GoGIS lists the sample collections near you, with how many points each has left to visit. Pick one — or pick several, and they are walked as a single route.

The route covers only the points that still need collecting, ordered so the walk is short rather than in grid order. A compass arrow points to the next point, the banner counts down 3 of 14, and each save advances you to the next. Skip passes a point you cannot reach — a wet hole, a standing crop — and leaves it outstanding rather than marking it done.

One option is worth setting before you start: Bring me back here when done. Leave it off and the route ends at the last sample point, wherever that leaves you. Turn it on and GoGIS marks where you are standing — the gate, the truck — and plans the walk as a loop that returns there, which matters more than it sounds when the last point is half a mile from the road.

A GoGIS sample route across a field, with numbered points joined by an arrowed line and a banner reading 1 of 20
A route across twenty points. The small arrows on the line show which way you are walking, and the banner counts your progress — note that stop 1 is point 17, the one nearest where you were standing, not the lowest number.

5. Collect Your Data

Tap the sample point to open the attribute form. Fill in your observations — soil color, texture, moisture, depth, whatever fields you've defined. Scan the barcode on your sample bag directly into a text field — look for the barcode icon next to any text field to activate the scanner. Snap a photo of the core or the site conditions. Hit save, and the point changes color to show it's been collected — see freshness below for what the colors mean.

Data collection form in GoGIS with barcode scanning, pick lists, and photo capture
The collection form with pick lists, barcode scanning (tap the barcode icon on any text field), photo capture, and more.

That form is the point's own base attributes — the columns on the layer itself. For a grid sampled once a season it is usually all you need, and it is the simplest thing to export: one row per point, every value in its own column. The trade is that a second visit overwrites the first. If the current condition of each point is all you need to keep, stop here and skip the next step.

6. Or Keep Every Visit with a Related Form

Sometimes one record per point isn't enough. A point might get re-tested, inspected, or re-cored on separate dates, and you want every visit kept — not overwritten. Attach a related form to your sampling layer and each collection adds a new dated entry linked to that point, with its own photos and fields. The sample's identity rides along with every entry, so an inspection from March and a re-test in October both stay tied to the same point and the same sample number.

Related form entries showing multiple dated visits linked to a single sample point in GoGIS
Multiple dated entries per point — every visit is kept and linked back to the sample, never overwritten.

7. Track Freshness and Re-Sample Across Seasons

This is what turns a one-time grid into an ongoing program. Set an expiration window — say, one season or twelve months — and GoGIS colors every point by its status:

The orange "expired" state only appears once you've set an expiration window — without one, points are simply unsampled (red) or sampled (green), and nothing ages out. When you do set a window, fresh points quietly revert to expired as it passes, and the same grid is ready for the next round with no need to regenerate anything. Walk the field again and you can see at a glance which points still need a fresh core this season and which are already done.

A sample grid on the map with points colored red for never sampled, green for fresh, and orange for expired
Freshness at a glance: red points were never collected, green are current, and orange are due for re-sampling.

8. Monitor the Whole Program — Layers and Fields

Across a dozen fields, you need more than colors on one map — you need the big picture. Open Tools › Sampling Status to see every sampling layer in one place. Each row shows how many points are sampled, expired, and not yet visited, the completion percentage, the date of the last collection, and a thumbnail of the grid and its field boundary. Tap a layer and GoGIS turns it on and zooms straight to it on the map.

The Sampling Status panel in GoGIS listing each sampling layer with sampled, expired, and unvisited counts and a mini map thumbnail
The Sampling Status panel — every field's progress at a glance, with completion, last-collected date, and tap-to-zoom.

That is the Layers view — one row per sampling layer, the whole grid taken together. It answers “how is the program going?”

The Fields view answers a different question: “how is this parcel going?” It breaks a multi-polygon sampling layer into its individual fields, one row each, with percent complete per field. That is the view you want when a grower asks about the north eighty, or when you need a client PDF for one parcel without exporting the whole farm. A field that is sampled on two different layers appears once under each.

Both views share the same controls. Changed only narrows the list to layers with work that has not been exported yet — the short list of what you still owe someone. Select turns on multi-select so you can export a package covering exactly the layers, or exactly the fields, you choose.

9. Import Your Lab Results

When the lab sends back your results, you don't re-type anything. Open Import Lab Results from the Sampling menu and pick the lab's CSV — or a ZIP of several. GoGIS matches each row to its sample point by Bag ID across every field, and files the values as a dated record on the point. Re-import next season and the new numbers stack up as history. The summary tells you exactly what matched, what didn't, and any duplicate IDs to fix.

GoGIS matching imported lab results to sample points by Bag ID
Lab results matched to each sample by Bag ID — no manual transcription.

10. Map Results as Heat Maps

Now turn those numbers into a picture. Pick any result — pH, phosphorus, potassium, organic matter — and GoGIS interpolates a smooth color heat map clipped to your field boundary, right over the satellite image. Switch between chemicals from the legend, choose a smooth gradient or blocky management zones, and compare fields on one shared color scale. The same tool maps any point data with values — like yield, soil EC, or elevation.

Soil pH lab result heat map over satellite imagery in GoGIS
A pH result surface interpolated over the field — the moment your samples become a map.

11. Built-in Quality Control

Every sample point automatically records metadata you'd otherwise have to track manually:

Why distance matters: If a sample was collected 50 meters from the target point, that's worth knowing. Maybe there was a waterway in the way, maybe the GPS was drifting, maybe someone grabbed the wrong point. The distance field makes it easy to flag and review outliers.

12. Export and Share

When you're done, export the completed layer as a shapefile, GeoJSON, CSV, or KML — complete with all your attribute data, coordinates, sample numbers, and photos bundled in a ZIP. Related-form entries export alongside the layer, each carrying its sample number so repeat visits stay tied to the right point. Send it to your agronomist, upload it to your farm management platform, or open it in QGIS or ArcGIS for further analysis.

Hand Off a Report, Not Just Raw Data

Raw shapefiles are great for the GIS desk, but the person paying for the work usually wants something they can actually read. From the Sampling Status panel you can export several field layers at once into a single ZIP — and each one comes with a ready-to-share PDF report alongside the data.

The report opens on a satellite map of the field with every sample point colored by status — green for fresh, amber for expired, red for never sampled — over the field boundary. Then comes a fast-scan grid of every point with its collection time, coordinates, and your form values, followed by detail pages with photo thumbnails. There's also a flat CSV of the collected data, so the numbers drop straight into a spreadsheet. Pick the layers, choose a format, and you've turned a season of fieldwork into a client-ready package in one step.

A GoGIS sampling PDF report showing a satellite map of the field with color-coded sample points and a table of collected data
Each field exports with a PDF report — a satellite map of the points plus a scan grid of the collected data — ready to hand to a client or agronomist.

Once lab results are in, the report grows with them: a color heat-map page for every chemical joins the overview map and point detail pages, so the deliverable shows not just where you sampled but what the field actually measured.

See a real one: Download a sample soil report (PDF, 1.1 MB) generated entirely in GoGIS — overview map, per-chemical heat maps, and point detail pages.

Any Point Layer Can Become a Sampling Layer

Not every point comes from the grid tool, and two things have to hold for one to behave like a sample: it has to know which field polygon it belongs to, and which collection it is part of. The grid stamps both when it lays the points out. A point that arrives another way has to acquire them — either one at a time as you work, or a whole layer at once.

Digitize a point and it is adopted

You are standing in a field that has already been gridded and you want a core somewhere the grid did not put one — a wet spot, a rise, a place the agronomist asked about. Drop a new point on the sampling layer and GoGIS works out where it belongs: it looks at which field polygon the point falls inside, and adopts it into that field's open collection, giving it the next sample number in sequence. It appears on the status dashboard, in the Fields view, on bag labels, in routes, and in the report, exactly as if the grid had placed it.

If the point lands where two gridded fields overlap, the field you are currently working in wins — if you have one open, you have already said what you mean. With nothing open and two collections over the same ground, GoGIS leaves the point alone rather than guessing wrong.

Bringing In Existing Sample Points Made Outside GoGIS

Plenty of sampling programs do not start in GoGIS. The points already exist somewhere else: a grid your agronomist laid out and sent as a shapefile, prior-year locations exported from farm management software, a directed-sampling plan built from yield or EC data, a CSV of coordinates from a consultant, monitoring wells or established plots that have been walked for years. You want to collect against those points, not re-invent them.

Import the file and turn on sampling for the layer, and you immediately get the freshness colors, the status tracking and the re-sampling workflow. What you do not get is the tie to field boundaries — the points do not know which field they sit in, so the Fields view has nothing to group them by and the report has no outline to draw. The same gap appears in a grid GoGIS made itself if the source polygon layer was later deleted.

Sampling Status › Tools › Link Field Polygons makes that tie. Choose the points layer, choose the polygon layer to attach, give the collection a name — it defaults to the polygon layer's name, and it is what shows on the Fields view and in report titles — and tap Link. GoGIS matches points to polygons by their existing parent ID where there is one, then by location for the rest, repairs the collection so outlines come back, and creates a collection if none existed.

What You Don't Need Anymore

Works for More Than Soil

The same grid-based sampling workflow works for any field collection task where you need to visit points inside a boundary: environmental site assessments, vegetation surveys, contamination sampling, wetland delineations. Define your boundary, generate your grid, and collect your data.

Try it in your next field season

GoGIS is a one-time purchase on Android and on iPhone and iPad. No subscription, no account required, and your data never leaves your device.

Get GoGIS on the App Store Get GoGIS on Google Play