Sunday, March 9, 2014

Assignment #6: Microclimate Geodatabase Construction

Introduction
When starting a large GIS project, it is smart to create a file geodatabase.  File geodatabases are a useful way of storing multiple files and pieces of information in one place.  They are defined by ESRI as being, “a collection of various types of GIS datasets held in a file system folder.”  They are advantageous in that they can hold a very large amount of data, from 1 to 256 TB.  File geodatabases allow you to work with very large file sizes without having to compromise on speed, a very important factor, as having large files open at once can slow a system down dramatically. 

What to consider when creating a geodatabase for deployment in the field
When setting up a geodatabase, it is important to stop and consider the purpose of the geodatabase.  Obviously, you are setting this up so that all of your information can be held and later accessed in one convenient place, but the considerations must go further than that.  You must consider the data collection component and the needs of the field agent who will be doing the collection.  There are several questions to consider. 

What types of data will be collected? Will they be points, lines, areas, or a combination? For example, if the field agent is collecting GPS coordinates of trees, he or she will be collecting point data. 

How much information will need to be entered about each piece of data? For the above example regarding trees, what does the field agent need to record about the tree? Tree type and relative size or age might be example of information he or she needs to enter in addition to simply capturing the GPS coordinates.

Next, to ensure the accuracy of the data collected in the field by the agent, domains can be set up in the geodatabase.  Domains are rules that govern the data being entered.  For example, if your field agent is collecting air temperature data at various locations, you can set a domain for the temperature field such that a temperature value cannot be recorded outside of a set range.  That way, if the agent is trying to record a temperature of 100 degrees and types 1,000 by mistake, he will get an error message and be able to enter the correct value instead.  Domains can be very valuable at preventing faulty numbers from being entered and ensuring accurate data collection. 

The number and type of feature classes to create is also an important consideration.  While a GIS user may be used to incorporating multiple feature classes into a single project, and would have no issue with simply creating a number them, the field agent collecting the data must again be remembered.  It is easy to display and edit multiple feature classes on a computer with a large screen and the pinpoint control of a mouse, but the field agent does not have this luxury.  His or her data collecting device likely has a small screen and buttons.  This makes switching feature classes a tedious endeavor, especially if it must be done on a regular basis.  To maximize the time a field agent has for collecting data it is important to keep the number of feature classes to a minimum.  This will also make the data collecting process easier on the field agent. 

How to set up a file geodatabase
To demonstrate, here is an explanation of the creation of a file geodatabase used in this class.  The geodatabase will store information collected in the field by a group of students including myself.  Our project goal is to create a microclimate map of a section of the UWEC campus.  First, we need to set up our file geodatabase for the project.  We open up Arc Catalog and pick the location where the geodatabase will be created.  This location should have enough free space as is predicted to be needed for the entire project.  In Arc Catalog, find the folder where you will be working and right-click on it.  Mouse over “New” and click on “File Geodatabase.”  Your file geodatabase is created. 

There are two steps now to get the data collection ready to go.  We need to create our feature class and we need to define our domains.  It will be easiest if we start with the domains.  We know that we want to record information on the following items: Temperature, Wind Speed, Wind Direction, Relative Humidity, Dew Point, Snow Depth, Time, Group Name, and Notes.  By setting up our domains, we can define each of these further and set the limits on their ranges.  We will be defining, for each domain, its name, description, and field type, along with the range of acceptable values.  For instance, for the Temperature domain, “Temperature” will be typed in for Name and “Air Temperature” will be typed in for the Description.  The description can be anything that helps explain the name further.  For Field Type, there are several options: Short, Long, Float, Double, Text, and Date.  The first four of these describe numeric values.  Short and Long refer to whole numbers while Float and Double refer to numbers with decimals.  Short can contain a number value from -32,768 to 32,767.  Long can contain a number value from -2,147,483,648 to 2,147,483,647.  Float can contain a number value with a decimal after it, and has a range far larger even than Long.  Double can also have a number value with a decimal, with a range way larger than Float has.  The range of Double is so large that it will probably not ever be necessary to use.  Essentially, if you are going to be entering whole numbers, you will probably use Short, unless its range is not large enough for the data you need to enter.  If you need the exactness of a decimal point, you should use Float.  If the data you are entering is not a number, but is a calendar date, such as the date that you are entering the data, choose Date as the Field Type.  If what you are recording is text, choose Text.

For example, for my domain “Temperature,” I know that the temperature variations I will be recording will be very small due to the small size of my study area, and therefore I need the precision of a decimal.  Therefore, for my Field Type, I choose “Float.”  On the other hand, for my domain “Notes,” I know that I will need to be able to enter text.  Therefore, I choose “Text” as my Field Type.  After you have chosen the field type, you can set the range of values.  For “Temperature,” I know that with it being a Wisconsin winter day that we will be doing the data collection, I may have temperatures in the negative.  Therefore, I set my minimum value to -20.  Realistically, the temperature should not exceed 50 degrees, so I can set my maximum to 50.  That’s it.  I now do this for all of my domains.  Wind Speed has a description of “Wind Speed in mph” and will be a Short field with values from 0 to 60.  Wind Direction will be a Text field, and have no set range.  Relative Humidity and Dew Point will each by Short with a range of 0 to 100.  Snow Depth, which is described as “Snow Depth in inches,” will be a Float field with range from 0 to 36.  Notes is a Text field.  Time will be a Short field, and will contain the time of day in military notation, with 0 as the minimum and 2400 as the maximum value.  Group Number will be a Short field, and at present will have no set range.  Later, when I know what my group number is, I can change the range to be that exact number; if my group number is 2, I can make the range be from 2 to 2.  When all of these domains have been entered, you can click OK to close the window.  These domains can be reopened and edited later if you need to.


Lastly, I have to create my feature class that will be loaded into the data collecting device my field agents and I will use to record our data.  The feature class does not have to contain all of the domains you created, but it certainly can.  In our case, it will.  However, if our project had been larger, and we had created more domains than we would be using for this particular data collecting excursion, we could pick which domains we would need and leave the rest alone for now.  This is part of the glory of creating domains: they are created for the geodatabase as a whole, not for the individual feature class, and can therefore be utilized in any feature class created in the geodatabase.  To create our feature class, we right-click on our geodatabase and choose “New” then “Feature Class.”  We give it a name, “Microclimate.”  Since the features we will be creating will be points on campus with our various domain-linked attributes associated with them, we choose “Point” as the type of feature.  Click Next.  Choose the coordinate system.  Click Next.  Click Next a second time.  Now we will add our fields.  This process will be much like what we did for defining our domains.  There are two fields already present; these are required for the feature class.  Below them, click in a box and enter your field’s name.  We will make our first field “Temperature.”  We made Temperature Float field, so choose Float as the type.  This allows you to select “Temperature” from the drop-down menu where you can choose the field’s domain, as Temperature was one of the domains you created that has the Float type.  Now the correct domain is linked to this attribute in the feature class.  Repeat this step until you have all of the attributes you need and the correct domains associated with each attribute.  When you are finished, click Finish and your feature class will be created.  It is now ready to be imported into your team’s GPS and used in the field.  

No comments:

Post a Comment