Tuesday, June 20, 2017

GIS 5103: Module 5- Geoprocessing with ArcGIS

Good evening UWF,

This week's lab was a fun one and one that I can relate to immensely at work.  The past few labs have been somewhat difficult for me in this class because they focused heavily on Python.  This week's class focused more on geoprocessing tools in ArcMap, of which I have a lot of familiarity with.  The main goal of the lab was to create a model using Model Builder and export that model as a script.  This is going to be very handy for me going forward I think.  I seem to follow the lines of codes better by looking at the script from the model point of view.

The specific lab instructions required me to clip out soil shapefile areas from the boundary of a basin shapefile area.  Then I was to identify all of the soil types within my clipped area that were named "Not prime farmland" as a soil type.  This specific soil type was then removed from the clipped soil-basin shapefile boundary.  This three step process was added into model builder and extracted out as a script.  The final area boundary (which does resemble the example screenshot shown in the lab) is shown below.  My model and script both worked successfully.

-Matt Griggs

Monday, June 19, 2017

GIS 5100: Lab 4- Visibility Analysis

Good evening UWF,

This week's lab was a fun one in working with visibility analysis studies.  A major theme of the lab was working with two specific types of visibility analysis, viewshed and line of sight.  Both analysis types are useful in finding viewable and non-viewable paths and areas.  The tools we used in this lab were one that I have not used much in my career from the Spatial Analyst and 3D Analyst toolbars, so that was a pleasant surprise.

The blog post requirement for this week's lab asks me to reflect upon Part C of this lab, which dealt with camera placement at the Boston Marathon.  The lab directions walk us through setting up the first camera and determining its viewable area.  The lab asks us to place two more cameras to extend the coverage of the street that the finish  line is on.  I placed the second camera further west of the first camera to catch more of the street west of the finish line.  I placed the third camera further east of the first camera to try and look back west and catch the entire street that the finish line is on in view.  Placing these cameras meant finding a correct spot for placement and measuring how high up these spots are to incorporate vertical offset.  I just placed both camera on top of buildings.  I used the Identify tool on our map DEM to find the correct elevation to incorporate for vertical offset when running the viewshed and visibility analysis.  Also, the horizontal angle of view needed to be incorporated to make sure that the camera is looking in the correct direction.  Camera 2 used the same angle as Camera 1 because it is looking in the same direction.  Camera 3 though is looking in the opposite direction, so I had to adjust its angle to look down the street to the west.  The screenshot below is my final result and I am very pleased with it.  Yellow areas are the camera coverage for Camera 1.  Green areas for Camera 2, and red areas for Camera 3.


-Matt Griggs

Wednesday, June 14, 2017

GIS 5103: Module 4- Debugging & Error Handling

Good afternoon UWF,

This week's lab dealt with using the Debugger tool in PythonWin to address fixing errors.  I found this lab to be semi-helpful in my continuing struggle to understand how Python (and basic computer programming) works in this type of environment.  I didn't find the debugger tool to be too helpful, but I did appreciate how the lab parts required to step through each line of code sometimes to see what errors were still existing.  This broadened my horizons on trying to interpret what some error codes mean and how to possibly fix them.  I am still not confident in my programming abilities up to this point, but I thought that this lab was a little easier than some previous labs so hopefully that means that I am catching on a little bit.

The lab was split into three parts.  The first part involved identifying two errors residing in a short span of code.  These errors were easy to find as they were of the spelling/syntax variety.  I am including my properly edited code and Interactive Window screenshots for each part of the lab to help me maybe identify trends going forward.  The Part 1 screenshot is below.


Part 2 was the most difficult of the lab in my opinion.  There were eight errors/exceptions to identify and I failed to find all of them.  I was unable to complete this section.  Errors that I had to fix that I wouldn't even consider errors involved updating some paths for data and mxd's listed in the code.  I think that I was supposed to have my data saved in paths to match what is shown on the code but I'm not sure?  I found a few syntax errors but couldn't really get past line 16 without getting stuck.  I actually started this section and left it for a while, moving on to Part 3.  After doing ok in Part 3, I was hoping to feel rejuvenated in being able to complete Part 2 but alas, I didn't get much further before calling it quits.  I will look forward to the lab grade feedback to see what I am missing in this section.  The Part 2 screenshot is below.


Part 3 involved making the code run even though an error was present.  Using the textbook was helpful for figuring out how to make both parts run.  This part involved placing a try-except statement into the code to make it run.  One interesting thing that I noted is that my Map Scale shows a different number compared to the lab example.  I don't know if that is a big deal or not but I am not going to bother to see if that matters for now.  Part 3 screenshot below.



Looking forward at future labs, I feel a little better because we will be incorporating ArcMap more and ModelBuilder.  I will just feel more comfortable working in an Arc environment as opposed to Python.  Hopefully I will feel more confident as this lab transition occurs.

-Matt Griggs

Sunday, June 11, 2017

GIS 5100: Lab 3- Watershed Analysis

Good evening UWF,

This week's lab was enjoyable for me as it dealt with looking at watershed analysis.  This type of lab work is going to be able to be directly applied to my current work projects so I am excited about that.  I do a lot of work with Florida WBID data and stormwater drainage so I feel that I can directly apply some skills learn in this lab.  The theme of the lab dealt with creating a robust watershed analysis based upon the creation of stream data and pour point data.  In Part A alone of this lab I jotted down 12 different tools that needed to be run to complete this thorough watershed analysis.

The final map out for this lab had me pick a specific watershed from an existing layer.  My job was to then create a replica of this current watershed by creating a pour point at the watershed's discharge point and then analyze the difference between the watershed boundaries.  My particular watershed that I chose seems to be too large based upon the existing data layer we used for it.  When I ran my Watershed tool from my Pour Point data I generated a much smaller watershed boundary.  Since this was the case, I identified two areas that were noticeably missing from my watershed boundary but were included in the initial existing boundary layer.  I created two new pour points for these areas and re-ran my Watershed tool to see if my three combine watershed areas would come close to matching the existing Watershed boundary.  My calculations still show over a 600 acre difference between the combine total area of my three watershed boundaries and the existing boundary.  I have come to determine that some of the coastal area in this watershed might skew the actual data in terms of a boundary.  My final map output for this lab is shown below.


-Matt Griggs

Wednesday, June 7, 2017

GIS 5103: Module 3- Python Fundamentals Part II

Good evening UWF,

This week's lab was TOUGH!  I spent a lot of time answering just a few questions in this lab and it made me contemplate dropping this class for the time being.  I was able to complete it though on time, but may have found other creative ways of answering some scripting questions that weren't specifically called for by the lab.  In general, I am hoping that this type of creativity isn't graded too harshly against, as Python provides many solutions to one questions using different modules and functions.

The main portion of the lab this week dealt with repairing an existing script and then implementing some functions to identify and remove some variables from a list.  The lab instructions have strongly recommended using while loops for multiple questions and I have a problem with that.  I have not been able to really comprehend their purpose as of yet, as I feel like I can understand for loops a lot easier.  To me, for loops are good for short sets of data, which is what we have been working with so far.  Using while loops seem unnecessary for the questions that are being asked so far in my opinion and I will avoid using them in my lab assignments until I comprehend them better.  The screenshot below shows my final script for this lab which answers all of the requests from the script building process shown, but with my own little twist for a few things because of my avoidance of using while loops.


-Matt Griggs

Monday, June 5, 2017

GIS 5100: Lab 2- Least-Cost Path and Corridor Analysis

Good evening UWF,

This week's lab was the most challenging lab that I have attempted to complete so far in my Master's studies.  It involved creating least-cost paths and creating corridor analyses from those paths.  The type of scenarios given for the lab were very interesting, as this type of work can be applied to human and animal travel.

The lab was split into parts A and B.  Part A dealt with finding a least-cost path between two source points.  I had some struggles with inputting some raster tools, but overall I was able to figure out the final map deliverable.  Once the least-cost path was found a corridor had to be created to show an acceptable area for a pipeline to be built.  The lab doesn't require this map to be shown in the blog post but I want to show it because this is the only part of the lab that I feel confident in.


Part B dealt with another corridor analysis, but I struggled with it mightily.  Part B wasn't near as specific with the required steps as was Part A, which I understand.  The goal of these labs are to apply what we learn without being guided every step of the way.  I could have used some more guidance for this lab though as I struggled mightily with it.  Time constraints, work commitments, and personal factors lead to me "doing the best that I could" on this lab.  I feel that this blog should be utilized for me to express my hardships when they occur and this is a great opportunity for that.  Below is my map output for Part B, which is incomplete.  I was unable to figure out how to generate the corridor for this assignment.  I am hoping that next week's lab will be a little easier for me.


-Matt Griggs

Wednesday, May 31, 2017

GIS 5100: Lab 1- Suitability Analysis

Good evening UWF,

After the first week of class dealt with a skills review, this was the first full week of lab assignment and discussion post work.  Looking at suitability analysis through vector and raster formats was the theme of this week's lab.  A lot of the lab instructions followed our textbook as well.  That was very helpful for me as it provided multiple references for me to look at it when performing the myriad of analysis that was required for this week.

Three different types of analysis were performed in this lab, Boolean Suitability with vector format, Boolean Suitability with raster format, and Rating Locations in Raster.  All three parts of the lab dealt with combining data at some point in the instructions.  This is vital for the final steps of each part of the lab to determine data values and rankings.  Without getting into too much detail, after each tool was run for each part of the lab, I would export out my newly created raster as a saving mechanism.  I liked to see the result of each tool or step performed so that I could compare to future steps or tools to check my work.  I also named my raster images with specific tools and functions that I performed to generate them.  This is another check or saving mechanism that I performed for verification purposes.

The final map product for the lab this week dealt with rating locations in raster format.  The ratings were applied via two different ranking systems involving overlay analysis.  Equal Area and Alternative Weighted Overlay  ranking systems were applied to the same four data sets.  The data involved were a rivers shapefile, roads shapefile, land cover raster, and elevation DEM.  The weighted overlay analysis required all data to be turned into raster format if it was not already in that format.  The resulting screenshot below shows the data and map differences based upon the weights applied using the Weighted Overlay tool.  Overall this was a very time-consuming lab to complete for me as this type of work was new to me.  I feel that I learned some valuable skills going forward from this lab though so I feel confident that this week's worth will be very beneficial for me going forward.


-Matt Griggs