Sign up ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Does anyone have any good examples of using Python to automate or simplify common surveying tasks?

I'm teaching a Python/ArcPy lab this week for a GIS class. There are a number of surveying students in the class that think GIS is largely a waste of their time, and are only taking the course because it's required. I want to give them something to be excited about.

A little context: Most of the students will probably be working for forestry or title companies when they graduate, and we are in Arkansas, so almost everything around here is based on PLSS. So far, my thoughts are showing them the angular math functions and mentioning the couple of free Python-based CAD programs. I've also learned there is a project to write a plugin for AutoCAD that provides a Python interface. Any other suggestions would be greatly appreciated.

Edit: I've already taught the class, and as expected, the surveyors weren't too thrilled. I'd still love to hear any good examples of using Python to facilitate surveying.

share|improve this question
Would something like wading through old mountains of plss data to find something meaningful be on the agenda? I have taken different types of data, not just surveying, and used python to create and populate functional feature classes. –  gm70560 Apr 2 '13 at 22:11
That does sound interesting. –  Jay Guarneri Apr 2 '13 at 22:27
Here is a demo of a surveying site for CA DOT (Caltrans) in northern california. It is a GIS web viewer that allows surveyors to find existing survey points in several different ways including PLSS searches - points are mostly along major roads and interstates. They can then print out and take to field to recover points. It's not python, but it is GIS and surveying using ArcGIS Server and the javascript API My company is at –  awesomo Apr 3 '13 at 18:40

1 Answer 1

up vote 8 down vote accepted

I'm not a surveyor, so take this with a grain of salt. If your students are still being trained to use equipment that requires line-of-site, then my own property points out an interesting challenge. Except for a couple of cases, no two consecutive corners of the property are visible from one another. Thus, to locate them, you need to use auxiliary points that are visible from both corners. In fact, you might even need a chain of auxiliary points (as is the case for my property). Using viewshed mapping from within ArcGIS (since you did say arcpy) it would be an interesting challenge to automate finding good sets of auxiliary points. If they are sufficiently mathematically skilled, I would add into the challenge finding points that minimize error. And for a large property, I would want the minimum number of auxiliary points, plus perhaps minimize the total amount of walking.

Of course, if they have survey grade GPS and don't need line-of-site, this doesn't help.

(I'm in rural New Mexico, so my property is defined with respect to PLSS, just like you. Specifically, the reference point for the survey is the north quarter corner, but that still doesn't mean that my boundary is easy. It has 17 corners, some consecutive pairs of which are over 1/2 mile apart through forest and canyons. Most amazing, it was originally surveyed in 1905 using transits and chains. Mathematically speaking, it's over-specified since the last corner has a bearing and distance back to the first corner. If you do the trig, the error in locating the first corner after walking the whole boundary is about 100 meters out of ~5km, which is pretty impressive given the terrain and the available equipment.)

share|improve this answer
Thanks! I don't know if I have time to work that up as a lab exercise, but it sounds like a great example for them. –  Jay Guarneri Apr 1 '13 at 13:31
And even if you can't work this up as a Python exercise, just the viewshed analysis might help them understand that GIS isn't a waste of time. –  Llaves Apr 1 '13 at 14:29

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.