Posts

Module 1: Calculating Metrics for Spatial Data Quality

Image
 How important is it to monitor spatial data quality?  Spatial data quality is very important for GIS to accurately present data in a project and consider adjustments to properly format the data. Additionally, it is important to identify the potential errors data can have and summarize our findings. The accuracy and precision of data are two factors to identify errors.  In the lab, we used the Root Mean Square Error (RMSE) calculations to show errors in accuracy and measured the data points to identify variance in find errors of precision in the data.  In our lab, we were asked to summarize 50 GPS points taken on the reference point and create buffers to determine the range of precision at the 50th, 68th, and 95th percentile values.  Our horizontal accuracy was 0.26 m. We find the horizontal accuracy we took the precision value subtracted the averages of the data points to get 0.26m. Since it was still in the range of the horizontal precision value of 2.44m at t...

Module 6: Rasters

Image
 Rasters in GIS are commonly used to visualize elevation and inland classification. It takes normal data and pixelates each data and assigns a color. To work with Rasters we use the Spatial Analysis tool and python code "Check. Out Extension".  Our goal in the lab is to process an elevation and land classification raster to create new temporary rasters. Then by overlaying them on each other we can visually provide a different perspective of the data. Within the margins in our assignment of Forest landcover, Slope between 5 and 20 degrees and Aspect 150 and 270 degrees.  Flowchart  Raster Results 

Module 5: Geometries

Image
 This week we explored how to identify aspects of geometry such as points, lines, and polygons which features are displayed. To work with geometries we refer to the code "SHAPE@" and "SHAPEXY" which can draw out the feature through Python.  Additionally, we used cursors to go through the attribute table and pull out the data we want to be listed in the new text file.  Flowchart  Results   

Module 4: Explore and Manipulate Data

Image
 This week, we learned how to direct Python script to utilize the Describe function, Listing the Dataset, and different types of Cursors to Search, Insert, and Update Data to view GIS shapefile's attribute tables.  The Describe function operates to access certain GIS data such as a Shapefile. After we provide access to the Dataset location you can use my.layer = "_shp" and use key terms like mylayer.catalogPath or my.layerbasefile to look at the shapefile's properties. Listing in Python is very useful if you want to have a result of the different feature classes, rasters, tables, and their fields. We were able to create a list that contains a feature data shapfile's for the Name and their Data Type.  Finally, using Cursors just like viewing an attribute table in GIS, goes through the Attribute's rows and iterates the data. Using cursors can search within the attribute data, insert new attribute data in the attribute table, and update attributes (delete) in the...

Module 3: Geoprocessing

Image
  This week, we covered three geoprocessing tasks including buffer, dissolve and add XY coordinates GIS data using two applications in ArcPro Python Window and ModeBuilder.   It was a challenge adjusting to using python language to work with GIS processes. Being more familiar with the GIS aspect of geoprocessing buffers, dissolves, and adding XY coordinates, I was able to check some of my work and view how the current running of GIS functions in a separate map project and using Spyder.  Another error that kept showing up was that another file was already created so then the program would not run. It was an adjustment to notice these disparities. Additionally, closing the ArcPro program to go to Spyder and check my work.  Learning note: close ArcPro before going to Spyder, especially if you are working on the same project.  The Python window in ArcPro is not like the Spyder application so the code is not saved like a script and so saving and making sure the ...

Module 2: Debugging and Error Handling

Image
 This week we learned about the types of errors in scripting and how we can utilize the debugging tool in Spyder to fix those errors. Additionally, we learned about try-except statements that allow us to run a script with exceptions.  The first thing to note about errors in a script is the color separation that identifies errors in the console. Red is commonly used to identify errors. An example of what is identified as an error is a syntax error with a ^ position symbol ( this doesn't mean it is where the location of the error).  Script 1  To get the results for this script, we had to fix the FC that was misspelled. I also had to update the file path and recognizing the correct function was used and entered correctly.  Script 2 For the second script, we were tasked to correct the script's errors. By making changes into the file path to update and correct any spelling of the files. Additionally, correct small details of assigned features and were carried over in...

Fundamentals in Python

Image
  Flowchart Working with Spyder was a challenge. I had started on step 1 on a different approach than the lab instructions gave. My First Attempt started as follows stringName = “Brittany Anne Joe”  nameList – (“Brittany” “Anne” “Joe”)  print (“Joe”)  Although this gave the same results of printing my last name Joe in the program I learned to use some of Python’s functions that allows me to print my last name from a list. stringName.split automatically takes your stringName feature and divide it into separate cars for “Brittany” “Anne” “Joe”. To specify what to print from a list you need to index by specifying the number that represents your list. So “Brittany” would be 0, “Anne “would be 1, and “Joe” was 2.  After step 1, we had to debug a prewritten code that generates the results of random wins and losses for the players. I was challenged to create a loop to generate 20 random numbers between 0-10. My unlucky value was number 5 and we had to use an if/else st...