Sunday, August 30, 2015

Lab 1 - Calculating Metrics for Spatial Data Quality

The first lab covered how to calculate error in x, y data.  We specifically examined how 50 GPS points taken at the same location related to each other as well as to the 'true' point location, otherwise known as the reference point.  Our goal was to calculate the amount of accuracy and precision our sample of 50 GPS points has.

Accuracy represents the absence of error, or how close a point is to any given reference or 'true' point location.  Precision represents variance around a given point location, or how many times the same result occurs around a given point location.

Map layout of the GPS points in relation to the average point location.
The above image shows the 50 sample GPS points in relation to their average point location.  The rings around the average point location represent what percentile the points located around the average location are in - this is a measure of the overall precision of the GPS points.  So, roughly 50% of the points are 2.9 meters from the average point location, 68% of the points are 4.4 meters from the average point location, and 95% of the points are 14.8 meters from the average point location. 

As shown above, the sample GPS points were not very accurate, nor were they very precise.  The points are scattered all around the average point location, and while 68% of the points are within 4.4 meters of the average that level of accuracy can be considered too course if one requires sub-meter accuracy for their project.

Friday, August 7, 2015

Module 11 - Sharing Tools

The final lab of the semester was short and sweet - we created parameter help messages associated with a script tool, then embedded the main python script within the tool in order make it easier to distribute.  To keep our scripts 'safe' we password protected the embedded script - which means that only those who know the password can see or modify the python script.

The script tool that we modified does the following: creates a series of random points within an extent as defined by the input feature class, then creates a buffer around the randomly created points.  The random points are offset from each other by a certain distance, as defined by the tool end user.  A screenshot of the tool dialog box and output results is shown below.

Tool dialog box with custom parameter help messages on the left, and the tool results on the right.

Parting Thoughts...

This course has proved to be very useful... I'm still in shock over being able to actually create a custom script tool that actually works!  Learning the basics of how to code in Python has been very cool and I definitely think the lessons 'took'.  Even if I never get a chance to write another custom tool in my life, just by being able to understand what all those code examples mean on the ArcGIS Help page will come in handy.  In a strange way I think I have a better understanding of how most tools run now that I can get the gist of their associated code.