Wednesday, May 7, 2014

GIS 1 Final Term Project

Hard to believe it's already the end of the semester, but it's time to start working on my final project.  The project is pretty simple by definition, think of a spatial question or problem we would like to answer, and then gather and manipulate data to answer that question.  Where things get complex is that the question we ask needs to be relevant, and we need to use four tools to answer our question.  Additionally, we need to use at least three different spatial layers, but I don't think that will be an issue. 

For my project, I chose to answer a pretty popular spatial question:  where should I buy a cabin?  In the Midwest, going up to the cabin for the weekend is your pretty standard vacation.  Everyone knows someone who has a cabin, or has one themselves. The data I will be using for this project comes from the "price data" that was included with the ESRI Arc software.  The price data includes major roads, state outlines, and cities.  This is a good place to start and establish boundaries for my project. I am also using data from the Wisconsin DNR.  This data is very detailed and contains useful info such as where the highest quality bodies or water are as well as where "sewage disposal ponds."  I wouldn't want to build a cabin anywhere near that. 

By taking a glance at the data available to me I have come up with a few criteria for where I want my cabin.  I would like it to be on a lake or a river, within a county forest, and not near any sewage or industrial waste ponds.  For this project, we are going to assume I'm filthy rich and I don't need roads to get to a cabin, as I have a private helicopter that can land me anywhere. 

The first step is organizing my data.  After adding the Wisconsin state boundary as well as major roads and cities, I needed to sort through all the DNR data to find layers that were pertinent to my project.  In the end I kept layers showing the high quality lakes and rivers, county forests, and other open water features, such as sewage ponds.  I should be able to find a suitable cabin location from this data. I also left on cities and interstates to give the map perspective.  After turning on these layers, I can begin to visualize what needs to be done to narrow down my search. 


The map with all layers I intend to use turned on. 

Right now the map contains a lot of erroneous data.  First of all, I need to eliminate interstates and cities outside of Wisconsin.  For cities, all I needed to do was a selection of cities within Wisconsin, and create a new layer from that selection.  For roads, I had to first select roads that went through Wisconsin, and then clip them on the Wisconsin outline so that the map kept the pars of the roads that were relevant. Additionally, I selected all of the "sewage disposal ponds" and "industrial waste ponds" from the DNR water body data and set them as individual layers. I gave them a bright "bio hazard" coloration, but they aren't big enough to show up. Now the map looks like this:



At this point I can begin to narrow down areas that fit my criteria.  To begin, I'll start with where I don't want my cabin, anywhere near a sewage or industrial pond.  I'll set a buffer around every industrial or sewage pond of 10 miles to make sure I'm not anywhere near them . By creating a union between these two buffered layers, I get a single layer that I can simply label "hazards" and create an orange label for so I know where to steer clear. 


It's clear that there are many hazardous areas, but it looks as if there is still plenty of room for me to find a good spot for my cabin.  I'll turn these layers off for now and return to them later.  

By looking at my map, I can see that there are not only plenty of streams and lakes to choose from, but plenty of spots where the two connect.  So instead of putting my cabin on a lake or river, I'm going to go for the best of both worlds and try to find a spot right where a river runs into a lake. But how do I find these spots in particular?

To begin I ran a 100 meter buffer on the water bodies layer, essentially giving me the shorelines of each lake.  I then ran the geoprocess erase, and eliminated the original lake area, leaving only the 100 meter outline of each lake. 

The 100 m shore is in purple, with the lake in blue.

Now that I have my shores, I need to figure out where the rivers cross them. I know that where these rivers cross the 100 meter shorelines I will find a suitable cabin location. By running the geoprocess intersect, and intersecting the rivers and shorelines I get a beautiful 100m segment at the end of each river as it runs into or out of the lakes. 

The 100 m segments at the end of rivers shown.  It is along one of these that my cabin will be built.

Now that I've established the exact shores where I would like to build, it's time to look at other parameters.  The DNR data has a shapefile showing all the county forests, which are lands dedicated to optimum forest protection as well as recreational activities.  What better place to build a cabin than in a government protected woods?  By running another intersect of my potential shores with county forests, I get another layer showing all the places where a shore is inside a forest, perfect!

An example of a river running into a lake, inside a county forest. 

By looking at the attribute table for my potential sores inside county forests, I can see that there are 9 potential locations.  However, I have one last step left.  As I said earlier, I do not want my cabin within 10 miles of any sewage or industrial ponds.  By running an intersect of my final shores and my hazards layer, I found that there was one shoreline within my hazardous zone. By running erase and erasing the bad shore from the rest, I am left with my final 8 shores to choose from. 
The rogue shore in its hazard zone.

Now that I have my final 8 shores it's time to start making an attractive map.  At this point, I have tons of erroneous layers from all the various geoprocessing tools I ran along the way.  By turning off the layers I don't need, and adjusting the displays of the ones I do, I get a pretty good start to my final map. 
So far a pretty good start to my final map, except for one thing: It doesn't show where my potential cabin locations are.  They're turned on, but the symbology isn't distinct enough for them to appear on the map at this scale.  To make them more distinct, I'm going to go into editing mode and create a new feature class that is solely the 8 point representing the 8 potential cabin locations. 
During this process, I found one of my locations to be nowhere near a lake, and three of them extremely close together, so close that they appear as one when not zoomed in on the map. I also gave the cities their names for reference, gave the cabin points a nice cabin symbol, added a legend, scale bar, arrow, and title and voila, we have a finished map. 

Overall, this project enhanced my GIS skills more so than any other assignment we had all semester.  It is one thing to solve a problem in a workbook or follow a tutorial, but to create your own original problem and solve it requires a new level of intelligence.  It has been a successful semester of geospatial work;  I'm excited for what the next one will bring. 




Wednesday, April 30, 2014

Lab 5: GPS Data Field Collection

The purpose of this lab was to get experience collecting data in the field with a handheld GPS device.  
To begin, I first prepared the area I was going to be mapping in ArcMap, and then load it onto my handheld device, the Juno 3B, made by Trimble. 
The area on campus where I added data. 
The Juno 3B.

The data was added to the map through ArcPad, an ArcGIS program that works like ArcMap, but can be used on handheld GPS devices.  I added the shapes of several spots of grass, a few light poles and trees, and a footbridge. These spots were all added by physically walking up to them, and recording them on the Juno in the form of polygons, points, and a line, respectively.  
Working in the field had its challenges, it is very hard to get an accurate reading when it is cloudy and rainy, which it was when I was gathering data. Additionally, the Juno's touch screen kept getting out of calibration, and I had to reset it multiple times as it's very hard to control when you can't click exactly on what you want.  In the end however, I was able to get all the data I needed. 

The next step was importing the data from our Juno back into ArcMap, which was as simple as dragging the map off the Juno in file explorer.  I then pulled the lines, points and polygons and added them back onto the map in ArcMap.  With a little editing of the symbology, the added features were ready for a final map. 
The collected data. 

And of course, we have to add the legend, scale, title, and north arrow to make it a proper map.  I also added the source data for the aerial photo the data was plotted on. 

It's pretty obvious that the data is not as accurate as it should be.  The bottom most GPS polygon is actually a circle, but with the cloudy weather it was impossible to get a perfect signal.  GPS is a very useful tool but I think you can clearly see its limitations in this map, and it's important to know those limitations to retain accuracy. 





Friday, April 4, 2014

Lab 4

The purpose of this lab was to work with vector geoprocessing tools to determine suitable habitats for bears in a study area of Marquette County, Michigan. Additionally, I created a visual workflow so that others could replicate my process.
 

The first step was to get a better understating of the data I was going to be working with.  By looking at the files in ArcMap, I saw that I was working with databases, feature classes, and an excel table containing the coordinates of bear locations.  By making this table into a feature class and setting its coordinate system to the same as the other feature classes I should be able to plot them accurately and easily.
Creating a feature class from an excel table.
 
The next step was to start plotting and interpreting the data.  I added the feature classes as well as bear locations to make a simple map that showed me what type of land cover each bear was in when their position was recorded.  By intersecting these two features, I generated a new feature that was a combination of the two, a point showing where the bear was as well as what type of land cover it was in.
From this map, I determined the three most popular cover types for the bears to be mixed forest land, forested wetland, and evergreen forest land.
 
The next task was to find out how many bears were near streams, as biologists hypothesize they will be.  By creating a 500 meter zone around the streams using the buffer tool, and then intersecting that with our bear_cover layer, I determined that 49 of the bears were within 500 meters of a stream, the majority of our 67 bears in the area.
 
The next task was to find the most suitable habitat for bears based on our data thus far.  By intersecting the 500 meter stream buffer with a layer created from the three most popular habitats, I got my results.  Only areas that were within the popular habitat as well as within 500 meters of a stream appeared on the map. By running a dissolve on this final layer, I took care of the overlapping boundaries, giving a much cleaner final look.
 
The next step was to figure out which parts of the potential habitat was on DNR management lands.  By intersecting our potential habitat layer with the DNR management lands layer, we get our result.
 
 
 

The DNR likes my results but wants its management land to be 5km away from any urban or built up land. By creating a 5km buffer around these land use types and then using the erase tool to remove where this buffer intersects DNR land we get our final results.
I then created the final map in ArcMap.
 
Finally, I created a workflow diagraming the steps I took in making my map so my work could be replicated by someone else.
 


Sunday, March 9, 2014

Lab 3

The purpose of lab 3 was to develop my skills in composing queries and using them to extract data from a database.  Queries are extremely useful, and you can use them to find pretty much any specific information about a set of data that you want.
 
 
 
 
 Part One: United States
 
For part one I worked with the US counties data.  The first problem asked to write a multiple criteria query based on population statistics.
 
After selecting the counties successfully, I created a graduated color map of them by population.
 
 
The second problem was similar but more complex than the first.  It required picking out states individually, creating a layer from them, and then creating another layer from the counties we selected based on the age and sex attributes.  After some trial and error, I managed to pick out the right counties.
 
 
The next task was to add to the above map by adding counties from a few more states, and also adding a second criteria of counties with over 30,000 houses. The finished map came out like this:
 
 
 
 
 
Part Two:  Wisconsin
 
The second part of the lab had me working with Wisconsin data, and writing more specific queries.  The first asked for cities near lakes, and with a specific population and land area.  It required two separated queries.
 
Attribute query.
 
Location query
 
The final selection left me with 3 cities, and a map that looks like this:
 
 
 
The final task was to select multiple rivers, and then create a map similar to the one above.
 
 
 

Tuesday, February 25, 2014

GIS 1 Lab 2

Lab 2
 
 
 
     The purpose of this lab was learning how to download data off the internet and use it in Arcmap to create a map. The data I used was from the US census bureau, which can be downloaded from the census.gov website.
 
     The data I downloaded was from the 2010 census, it contained population data of each county in Wisconsin.  I also downloaded a shapefile of the Wisconsin counties.
 
The Wisconsin shapefile on the US Census website ready for downloading.
  
 
 
     Next I added the shapefile to a blank map in Arcmap. Examining its attribute table yielded no useful info, so I needed to join it to the attribute table I also downloaded from the census site. 
 
      Putting the two tables side by side, I can see that they both have 72 records, and share a similar field, GEO#id. I shall join the two tables based on this field. This join is one to one cardinality, each record in the source table matches a record in the destination table.
 
      
    The tables have now been successfully joined, and population data is represented by the D001 field at the end of the table.

     The next task is to map the newly joined data, as well as download a different set of data and map that as well.  I chose Hispanic and Latino in origin, and downloaded the data for all of the Wisconsin counties. Like the population data, these two tables can be joined by the field GEO#id.  Unlike the population data, which contained only one field, the Hispanic data set has many. 
 
 

     To figure out which field to map, I looked in the excel file that came from the data. Field HD02_S30 is labeled Percent Hispanic or Latino- Total Population- Hispanic or Latino.  This seems promising. Plugging this field into graduated colors gives us a percent map by counties.  Success! All that remains now is to finish making our data into proper maps.      
 
                                     
                                 
 
 

Tuesday, February 11, 2014

GIS 1 Lab 1

2/11/2014

GIS 1 Lab # 1.


     The purpose of this first lab was to understand common projections.  We also learned how to define projections for features that did not have one set, and how to make very simple maps of our finished projections.

We began by making 5 different projections on the same two shapefiles, one was all the world's countries, and the other was a geographical grid. 
 
Loximuthal

                                                                         
Geographic
 

Mercator



 Sinusoidal
Equidistant Conic

 
 
 
     Next, we projected a shapefile of the United States onto a data frame with a different projection.  We learned about "on-the-fly" projection as we also added a Massachusetts roads shapefile.  We defined the projection for both of these, setting them to NAD83 Mercator Azimuth.  Once we finished that, they lined up much more smoothly.
 
 
     
 
 
 
 
 
We also projected the UTM 16N onto Wisconsin, creating a very accurate map of the state's outline.
 
We next added all of the maps together on one page, so they could easily be compared to one another.
I used Adobe Illustrator for this, I like the range of creativity and easiness of the program compared to trying to compose an image in ArcMap. I added a simple compass to a few of the maps where I thought it was appropriate.




Lastly, we combined everything we learned in the lab to create a final map of Eau Claire county in Wisconsin and its surrounding counties.  The counties shapefile came without any projection.  I gave it NAD 83 and then projected it, along with a local Rivers shapefile, onto a Wisconsin Transverse Mercator State plane.  The final result looked good, So I added a few more details to make it an official map. 


Again I used Illustrator.  I really like that you can export a map directly from ArcMap as an Illustrator file.  I'm looking forward to learning how to use other features and make even better maps between the two programs.