Tuesday, September 13, 2016

Land Use\Land Cover Classification

Photo Interpretation and Remote Sensing - Mod 3

This week's lesson was to classify a TIFF image to Level II.  A polygon shapefile was created and two fields, Code and Code_Descr added to the attribute table.  Next an editing session was started and the boundaries for the different classifications needed to be digitized.  Digitizing each of those islands was a very long, drawn out process, but the most difficult part was determining how to classify everything.  So many things could be either one thing or another.  Fortunately most of what I was uncertain about fit into the same category so I didn't have to make a final determination.  If I had had to drill down to Level III there were several things I wouldn't have known how to classify.  There were a couple buildings that could have been schools, hospitals or nursing homes.  Fortunately they all belonged to the Level II Commercial and Services category so I didn't have to decide. 

This lesson was pretty intense.  There was a lot of reading material to cover and so much information it was difficult to absorb it all.

Thursday, September 8, 2016

Network Analyst - Analyze Week

Special Topics - Project 1 Week 2

Using the data that was prepared last week, this week the assignment was to create a map with evacuation routes for patients from Tampa General Hospital to other hospitals, evacuation routes from downtown Tampa, supply routes from the National Guard armory to the shelters, and the service areas for each of the shelters.

To accomplish these analyses I created a new network dataset and added the attributes Seconds, to create fast and simple routes, FloodPublic, to calculate routes to avoid flooded streets closed to the public, and FloodEmer, to calculate routes for emergency vehicles which may need to use flooded streets to respond to emergencies but will otherwise avoid them, verifying the evaluators had the correct type and value for each of the attributes.

Because of its location on Davis Islands and the very low elevations there, Tampa General Hospital will need to be evacuated before the hurricane hits.  Memorial Hospital of Tampa and St. Joseph’s Hospital were chosen to accept those patients.  Using Network Analyst’s New Route feature, routes were created from Tampa General Hospital to each hospital, ensuring Impedance was set to Seconds and Restriction only to Oneway to be sure the shortest time route was selected to each.

The US Army National Guard will deliver the emergency supplies from their armory to the local storm shelters.  Because the supplies may not arrive until after the storm hits the routes have been designed to avoid flooded roadways.  Three new routes were created from the armory to each of the shelters.  For these routes the Restrictions were set to FloodEmer to avoid flooded streets as much as possible, but to use them if necessary.

Multiple evacuation routes were also created for downtown Tampa because it is so heavily populated.  The DEM polygon layer, which was used in the Prepare data to specify the predicted flood elevation levels, was also used here with a new Short Integer attribute field added named ScaledCost so groups of elevations could be used with the Impedance attribute to determine the drive times affected by flooding in order to determine the best routes to take to the shelter located at Middleton High School.

To cut down on confusion and uncertainty by the general population the map has been color coded by the shelter service area to make it easier at a glance to tell what shelter they can get to the quickest.  This was done through the New Service Area Network Analyst feature using the shelter points as Facilities, setting the Impedance to Seconds and the Default Breaks value to 10,000 to make sure all areas would be included in the analysis, and the Direction to Toward Facility, with Not Overlapping selected for the polygons, which were then symbolize with different colors.

Monday, September 5, 2016

Visual Interpretation of Aerial Photography

Photo Interpretation & Remote Sensing - Mod 2

This lab covered the methods and techniques used to visually interpret aerial photos through three exercises.  The first exercise focused on tone and texture.
  Five areas of the map were selected to represent different tones in a range from very light to very dark.  Polygons were drawn around these areas then converted to features so the attribute table could be edited to add the tone of each feature and its label added to the map.  Next, the same was done for texture, selecting five areas that ranged from very smooth to very course.




Exercise 2 covered shape and size, shadow, pattern and association.  Three objects were selected to represent each of these elements except association which only required two.  Instead of polygons markers were used to highlight features that were identified in each category.  The markers were also converted to features and each attribute table edited to include the name of the feature so it could be labeled.



The last exercise was a color comparison between the same image in True Color and in False Color IR.  Again markers of the selected features were converted to features to be edited and labeled.  This was done in a data frame with the True Color image, the colors of the selected features were noted then recorded in a table in the process summary.  Those same features were then examined in the False Color image and the difference in colors were also noted in the table.

Wednesday, August 31, 2016

Network Analyst - Prepare Week

Special Topics - Project 1 Week 1

Our first project was to act as a city employee preparing for a major hurricane projected to make landfall the next week.  The project was divided into three stages to complete over three weeks; Prepare, Analyze, and Report.  

With a major hurricane projected to hit Tampa, Florida the city has to make preparations for the storm.  Those preparation included determining road closures in low-lying areas likely to be impacted by the storm, evacuation routes and plans, distribution plans for FEMA aid to storm shelters, and basic information to the public.

This week, for the Prepare stage, a basemap was created to use in the following weeks.  We started with several feature classes of data required to complete the analysis in the next stage.  These included streets, fire and police departments, hospital, shelters and a National Guard Armory locations, a DEM and a boundary of the study area.  

The first task was to clip all the feature classes to the boundary of the study area and reproject them to the specified projection.  Python tools were provided to perform these tasks in batches, but an update to ArcMap seems to have made them a bit glitchy so it took a lot more time and effort to use the tools than to do each feature class one by one.  Still, it was a good refresher on how to edit tools.

Once the clipping and projecting was done the DEM was reclassified into a discrete data set with several categories of elevations, then converted from a raster to a polygon for those areas less than 6 feet.  A couple fields were added to the streets layer in order to determine which streets were likely to flood and create the best routes throughout the city and around the flooded areas.

Another tricky step was editing and exporting the metadata.  Some of the datasets had complete metadata, some had some or none.  For those that needed data added, the export process worked just fine.  The datasets that didn't require data added transferred to the new folder, but the metadata didn't transfer with it.  In order to get the files to transfer with their metadata I had to make and save something in each of the files.  

The map was saved to a Map Package and zipped with the Metadata folder.

Friday, August 5, 2016

A Residential GIS Location Study

Applications in GIS Final Project

Well it's easy to see why this project usually gets three weeks during a normal semester. The project was to produce a residential location study using GIS to help a woman and her daughter get started on house hunting in St. Augustine, Fl.  The analysis involved two proximity analyses, three calculated analyses, and two weighted analyses, one equal, one favored.  With the completion of the analysis recommendations were made on three tracts that best fit the criteria they had set.

To present the data a Power Point presentation was made.  It is located at this site:

http://students.uwf.edu/mr80/AppsFinalProject_MR.pptx

Wednesday, August 3, 2016

Sharing Tools

GIS Programming - Mod 11

Our final assignment for this course was Sharing Tools.  We started with a script that was already written and a tool that was already made.  The script had a couple paths that were hard coded to non-existent files or locations so our first step was changing those paths to parameters defined by the tool.  To do that we used the sys.argv[] function, which is very similar to GetParameterAsText() as it always returns string objects.
 With the variables set to pull the paths from the tool parameters the tool then ran correctly and added random points and put buffers around them, so we moved on to clean up the tool a little bit.

The dialog box has a help window that explains the purpose of the tool and the requirements for all the parameters, but it doesn't just magically appear with the creation of a tool, so we entered it by editing the Item Description in ArcCatalog.  Since this tool was a combination of two existing tools, Create Random Points and Buffer, the explanations could pretty much be copied from those tools with just a little tweaking.

Once the script and the tool were both cleaned up and grade A professional looking the script was imported to the tool so the tool could more easily be shared, requiring only the passing of the toolbox.  And to make sure nobody could sneak in and sabotage all my hard work on this my last GIS Programming assignment, I password protected it with a diabolically clever password nobody would ever figure out in a million gazillion years.

While I really enjoyed the entire course, I think what I enjoyed most was learning how to create custom tools.  It frustrates me to use a program and always wonder how it knows what to require of me and what to do with the information I give it.  Creating custom tools gave me a behind the scenes, behind the screen, view of what is going on.  Now I have a sense of what goes into the making of dialog boxes and what the limitations and possibilities can be.  I think that is something that can come in very handy in the future, especially for making GIS more usable to others who don’t have time to learn the program.  They only have to learn how to enter the data required, and they’re making their own maps.

Another thing I really enjoyed was debugging.  I just don’t feel I have a deep enough knowledge yet to really be very successful at it.  Hopefully once I get back to work I’ll have the opportunity to use Python and get to really dig deep into it. 

Wednesday, July 27, 2016

Creating Custom Tools

GIS Programming - Mod 10

This week we modified a script to create a custom tool and a toolbox.  We modified a stand-alone script to create a tool to perform the clip function on multiple features based on a single clip boundary file. We did this by adding the new script to the new toolbox we created, added a description and selected the "Store relative path names" option.  Next we set the tool parameters and the options that go along with them.  
Once the tool was prepared we went back into the script to make the adjustments that were required to take it from a stand-alone script to one that would work within ArcMap.  To do this we had to replace the hard-coded values in the script with parameters passed by the tool using arcpy.GetParameter () and adding the appropriate index value for each variable into the argument and replacing the print statements with arcpy.AddMessage () statements in a for loop.

To do this we followed these basic steps:
1.       Create a new toolbox in a location it can be selected along with the script.
2.       Add the stand-alone script to the toolbox.
3.       Add a Description and select the “Store relative path names” option.
4.       Select the script as the Script File.
5.       Run to make sure it works.
6.       Enter the parameters and their options in the Properties box of the tool
7.       Update the script to change hard-coded values with arcpy.GetParameters(#),  replacing # with the appropriate index value for that particular parameter.
8.       Update the script to change print statements to arcpy.AddMessage statements, making sure everything to be printing is inside the argument parenthesis and any commas are changed to the plus sign.
9.       Any variables that need to pass a string and use results from arcpy.GetParameter function must be converted to a string
10.   Verify “Store relative path names” option is checked in the tool’s Properties, then select the script and the toolbox and compress them to a zipped folder.