Tuesday, October 17, 2017

Photo Interpretation and Remote Sensing Module 6

This week we started learning about image enhancements that can be used for things like reducing noise and atmospheric effects and emphasizing or de-emphasizing certain features or details. The lab assignment involved experimenting with a number of enhancement tools in both ERDAS Imagine and ArcMap. For the final deliverable, the goal was to minimize the striping (caused by a problem with the sensor) in a Landsat 7 image while preserving as much detail as possible. Here's my attempt:

I had a hard time with this because I don't feel like I understand enough about how to use the different filters to be able to approach a problem like this strategically--I was just sort of throwing options at the image hoping something would work, and not surprisingly I'm not very happy with the result. Hopefully we're going to continue working on how to properly apply image enhancements in the coming modules, now that we know the basics of how to use the tools.

Tuesday, October 3, 2017

Photo Interpretation and Remote Sensing Module 5a

This week we learned the basics of how to view and navigate images in ERDAS Imagine. I've used this program before, but so long ago I don't really remember, so this is helpful, especially as I don't find it to be particularly intuitive to use. For the lab assignment, we had Imagine calculate the area covered by each type of land cover in a classified image, then extracted a subset of the image to create a map layout in ArcMap.

Tuesday, September 26, 2017

Photo Interpretation and Remote Sensing Module 4

This week we learned about using ground truthing to confirm land cover/land use classifications, and about calculating the accuracy of an LULC map base on ground truthing. Since we couldn't actually visit our sample sites for the lab assignment, we used Google Maps and Google Street View to confirm/correct classifications. Below is my map from last week, overlain with "ground truthing" points color-coded according to whether or not my original classification was correct at that location. Some points were more of a challenge to identify than others, particularly a few that had obviously changed between the time the photo was taken and the time the Google Maps imagery was last updated.

Tuesday, September 19, 2017

Photo Interpretation and Remote Sensing Module 3

This week was all about land use and land cover classification using aerial photos, and the lab assignment was to visually classify an image. We only needed to classify to Level II (out of four levels), so it's much less detailed and specific than it could be. Even so, it takes a lot of time to examine the image and identify various features to determine in which category they belong. 

My final map is not as thorough as I would have liked, but my time was limited. Here's what I came up with:

Tuesday, September 12, 2017

Photo Interpretation and Remote Sensing Module 2

We're starting off the course on Photo Interpretation and Remote Sensing by examining aerial photographs, and this week we specifically looked at different methods of identifying the features in an image. 

The image below explores the range of tones and textures that can exist in a single photograph. Tone and texture can help in identifying a feature.

Features can also be identified by their size and shape, by the shape of the shadows they cast, because they form a pattern, or based on their association with other identifiable features. The image below shows some examples.

Wednesday, August 9, 2017

GIS Programming Module 11: Sharing Tools

This week was focused on different ways of sharing custom script tools for ArcGIS, and for the assignment we were provided with a script tool and asked to make some updates and then embed the script in the tool. This allows the toolbox to be shared without the separate script file, and also allows the creator to password-protect the script so that other users can't copy or edit it.

The script tool was already partially functional, but needed some hard-coded variables to be replaced with coding that accepts user input from the tool interface. Then we needed to add descriptions for each of the tool parameters, and finally embed the script in the tool and set a password.

This screenshot shows both the tool interface and the output of an example from the lab using 50 points and distances of 10000 meters:

This is the last week of class, and I've had a great time and learned a ton. The most exciting and immediately useful thing I learned during this course is how to write geometries using a Python script, which I used in my final project to solve a real-life problem. I also found the lessons on turning a model into a script and turning a script into a custom tool to be very interesting, and I already have plans to apply those concepts outside of class as well. I also think it’s very cool that you can use Python scripts to manipulate GIS files and even map documents without ever even opening ArcMap.

Wednesday, August 2, 2017

GIS Programming Module 10: Custom Tools

 This week we learned how to convert a standalone Python script into a tool that can be run like any other ArcGIS tool, which makes scripts more versatile and shareable.

Assuming you've already written a script, the steps to turn it into a customized tool are:
create a new toolbox in ArcGIS > add the script to the toolbox and give it a name/description/etc. > set the tool's parameters > modify the script to allow it to accept user input for the parameters > change any print statements to arcpy.AddMessage (this makes them print to the tool progress window in ArcMap)

Here is the tool window for the script tool from this week's assignment (don't worry about the red Xs; ArcMap is just warning me that those default file paths don't exist on my local computer):

And here is the results window after running the tool successfully:

This was an easy lesson, but an incredibly helpful thing to know, since tools are so much easier to use and share, and better integrated into ArcGIS, than standalone scripts.