Sunday, June 25, 2017

Applications Mod 5: Crime in DC

This week was focused on analyzing different offenses in Washington, D.C.. I learned about adding an address locator, geocode address from a table, using the field calculator, performing multi-ring buffers, and using and displaying kernel density maps.

The first part of the lab was compiling a map showing percentages of crimes occurring near police stations. Underneath, I showed population density to help in analyzing how offenses are distributed amongst the population. 


The second part is utilizing kernal density tool to show the differences between 3 different types of offenses and how often they occur in different parts of D.C.. I created kernal density maps for burglary, homicides, and sex abuse cases. 


Wednesday, June 21, 2017

Programming Module 5: Geoprocessing in ArcGIS

This weeks lab was about creating a model in ArcGIS, exporting it as a script, and creating a script tool, and creating and sharing a toolbox.

The first part was creating a model to work inside of ArcGIS. I had to clip a soil shapefile into a basin shapefile, use the select tool to select a certain type of farmland, and then erase that type of farmland from the original basin shapefile.

This is what my model looks like.

After running my model, this is what the final output file looks like.

Then, I had to export my model into a stand-alone script. With a little debugging and adding certain lines of code, the script was able to work outside of ArcGIS. 

This is what the exported script ended up looking like. At the end of the script I wrote a print statement just to ensure the script really worked.


In ArcGIS, I then created a script tool using this script. After, I created a compressed file with my toolbox (with my model and script tool in it) and my scripts folder (which is holding my exported script in part 2).

Sunday, June 18, 2017

Applications Mod 4: Hurricanes

This week was focused on hurricanes, more specifically Hurricane Sandy. There were two parts to the lab, so there were two map deliverables to submit. 

For the first map, I used the Select by Attribute to only select the states that were affected by Hurricane Sandy, and created a layer from this selection. Next, I added XY data of the different points of Hurricane Sandy's track. I also used the Points to Line tool to create and display a line that represented the actual hurricanes path. 
Next, I changed the symbology of the different points on the hurricanes track, and labeled them according to the type of storm that was happening at that point of Sandy's life. Then I simply added graticules to the map.
Below is the map, which simply shows Hurricane Sandy's path, and what type of storm it was at different points of its life. 

The next part was creating a map that showed a set of parcels (all residential) before and after the storm. 
For this map, I created a new geodatabase to include rasters of both pre- and post-storm imagery. I also used the Swipe tool from the Effects toolbar to see both the pre- and post-imagery. I also added 4 different domains to this database, and created a new feature class to digitize the selected parcels and assign certain damage values to them (like destroyed, major damage, minor damage, affected, and no damage.) This is important because then I can assign differing symbols to the different levels of damage. I digitized the parcels using the Editing tool, and also having the Create Feature and Attributes windows open. 
I also created a table with this data and added it to my map. 


Wednesday, June 14, 2017

Programming Participation Assignment 1

Here is the journal. 

This paper focuses on the wastewater drainage system and how the application of GIS was used to analyze and model the drainage system, while also showing the characteristics of the drainage system. The first part of the paper shows how they use GIS to store locations of the drainage systems and also the structures of the pipes. The use of GIS in this sense helped people monitor the pipes and provide any maintenance. They first created a digital model of the system as either points, lines (pipes, channels), or polygons (drains, pumping stations, etc.).

They also used ProGIS with three modules: longitude profiles, optical inspection, and geodetical modules. They used longitudinal profiles to store data like altitude, drop, depth, and height difference.

GIS was also used to select a suitable location for a wastewater treatment plant due to the possibility of pollution to the surrounding water and how it affects wildlife. They collect data based off of land use, wetland distribution, coastal aquatic animals, and water quality. They then create a map with three categories: appropriate, generally appropriate, and inappropriate.

And lastly, they talk about how from the treatment plant, this water can be used for irrigation, and how GIS can help monitor the water and quality of the water.


Overall, I do think this journal was very informative and very important. It is important to conserve our water resources, so utilizing GIS applications to spatially analyze and model the water systems is important. I feel like this article can help show others how to utilize GIS in a way that is beneficial and can both help in maintaining drainage systems and water quality of the wastewater. 

Monday, June 12, 2017

Programming Module 4: Debugging and Error Handling

This week was focused on debugging and handling errors in our scripts. I liked that we learned this early on because it makes it easier to handle writing scripts and lowers confusion.
This lab had three parts to it. 


 The first part was in Script 1, and had two errors that I had to fix so it would print out all the field names in a shapefile called Parks.shp. This part was pretty easy because it was just a few minor typing mistakes.
The second part was fixing errors again, except there were 8 errors this time. This script took a little longer to fix, but wasn't too difficult to fix. The errors focused mostly on modules and functions and missing arguments in them. This script was meant to print out all the layers in the data frame of a map.

The 3rd script wasn't too difficult either. It had two parts to it, A and B, but I only had to modify Part A. This part had me writing a Try-Except statement so the first part would print regardless of the error. This script was meant to print an error message for part A and returning three messages for part B.

Saturday, June 10, 2017

Application Mod 3: Tsunamis


This weeks lab was based on tsunamis, and creating evacuation zones around the Fukushima power plant in Japan.

The first map shows different buffer zones of radiation from the nearby Fukushima II power plant. The buffer includes 3, 7, 15, 30, 40, and 50 miles. It also shows the cities that lie within the buffer zones and the population of each city. I used the Multiple Ring Buffer tool and the Clip tool to create the buffer zones. I also created a table underneath the map that shows the population affected in each buffer zone and the possible effects from radiation they may experience.

The second map shows that evacuation zones of a Tsunami hitting the coast of  Japan. This part of the lab was created using the Model Builder in ArcCatalog. In the model, I was able to create the three evacuation zones based on levels of risk. With this map, you can see which roads and cities are closed off.

Wednesday, June 7, 2017

Programming Module 3: Fundamentals of Python 2


This weeks lab assignment was a lot harder than last weeks! It took me a couple of days of experimenting with the code to get it right. 

This lab was working on a script that already existed. It included writing parts of the script and debugging already existing blocks of code. The first part of the script was a dice rolling game based on the length of the players names. The last part was creating a list of 20 random numbers ranged between 0 and 10, and removing an unlucky number from that list. 

 The first step of the lab was importing the random module, which was easy. The second part was correcting part of a script, which was a little hard, but I completed it easily. The third part gave me the most trouble. I had to write a while loop that added 20 random integers from 0 to 10 to a list. It sounds pretty easy, but it gave me some trouble! The step after that was selecting an "unlucky" number and writing a code to remove that number from the list and printing the list again. Along with that, I had to print statements that depended on if the number was in the list or not. The last step was introducing comments, and writing comments. 

This lab took me a while to complete, and it was really challenging. I was able to get most of the script correct, but I couldn't get it to print the False statement if the unlucky number wasn't in the list.