Skip to Main Content


Research Guide for geography resources and tools

Tutorials Introduction

These tutorials assume that you have access to ArcGIS either in our computer lab or installed on your computer so there won't be any instructions on how to install. They are written for someone with basic knowledge of ArcGIS's interface, that wants a walkthrough how this tool can be used to help them ask and answer their spatial research questions. 

For tutorials starting at a beginner level I recommend those on ESRI's website or if you have a New York Public Library card, they have several great tutorials for newcomers to ArcGIS on their portal.

The data I'll be using in these tutorials comes from felony drug arrest statistics by county that I got from the New York State Division of Criminal Justice Services, spatial data from the New York State GIS Portal and data from the Law Enforcement Support office at the Defense Logistics Agency concerning the 1033 program. In brief, the 1033 program lets local law enforcement agencies request decommissioned military equipment ranging from office furniture, to night-vision, to weapons to Mine-Resistant Ambush Proof Vehicles (MRAPs). 

While the data I'm using is real from a project that I did, it isn't going to be updated so please go back to the original sources mentioned if you'd like to explore it further. I picked these data sets because they were handy and they are large and complex enough to show how to work with different kinds of data but not too complicated to get in the way of explaining the process. The maps made in these examples are not necessarily scholarly rigorous but hopefully the process of making them will get you familiar enough with ArcGIS Pro so that when you map your own data, you'll have more time for scholarly rigor!

Learning Goals

When displaying point data, you can have the marker's position display location information, you can have its color display qualitative or quantitative information and you may want to let the size of the marker convey further quantitative information. If you're mapping area schools, the color could mean whether they were public or private and the student to teacher ratio could be displayed by how large or small the dot showing the location of the school is. You can do this with graduated symbols that change based on numerical quantities associated with a point, much as how the changing colors of the counties in the previous exercise showed differences in arrest-rates between counties.

Another scenario that will be explored in this exercise is the situation where you don't necessarily have a one-to-one ratio between the point you have on your shape-file and the additional information you want to add from an attribute table. For instance you may have a shapefile with different points representing addresses and then on your attribute table a different line for that address for every person who lived there that you found from census records. In that case you'd want to summarize your attribute table to get the total count of people at that address. 

You'll learn how to both use graduated symbols and the summarize function on your data tables in this exercise using data I have downloaded regarding individual law enforcement agencies and shipments made to them via the 1033 program.

Below I'll include the New York State Base Map.mxd that I created in a previous exercise and 1033Data+PoliceStations.csv. The table in the csv contains information on what equipment was received by law enforcement agencies through the 1033 program. Each of the law-enforcement agencies is associated with a latitude and longitude of one of the police stations in that agency since the program's records don't have a specific shipping address. You'll use this data to map the different quantities received by each police station


Getting Started

  • Open New York State Base Map.mxd document. This will put a map of New York's counties, cities, towns and villages on your canvas.
  • Save 1033Data+PoliceStations.csv to somewhere in your computer that is accessible within your Catalog window in ArcMap. If you've already put it in a folder you're associating with your map work, and it's not yet accessible in Catalog, right-click Folder Connections in your Catalog window, choose the folder you've placed your work in and click OK.
  • Drag 1033Data+PoliceStations.csv from Catalog over to the canvas. Your Table of Contents will switch to the List By Source view and display that the csv file is present, but the display of the map won't change because this is an attribute list, not a shape file. However because it does contain latitude and longitude data you can map it.

Displaying Latitude and Longitude as XY Data

  • Right-click on 1033Data+PoliceStations.csv and choose Open Table. Scroll through the fields and note that the fields with Latitude and Longitude are called Latitude and Longitude
  • Observe that each police department has its own set of coordinates associated with it and that for each separate shipment there is a different line (or record). Each record says what was shipped when, how many of that item were shipped, and what the acquisition value of that item was. The value is theoretical, no money has changed hands except for shipping costs which aren't included on the sheet, but it's a good measure to have.

With the sheet as it is now, all you'll be able to do is place a point over each police station. You can make the point proportionally larger each time for the value of the item received or the quantity of items received in a shipment, but if there are many shipments of one, you'll need to use the Identify tool in order to get more information on what was received.  However once you create a layer with these points on it, you'll have more options on how to edit it. 

  • Before you plot the original datapoints though, you'll need to find out the Geographic Coordinate System being used in your data frame, which is the canvas you are mapping. If you use a different method for the points that you're mapping than the method used on your base map then the points will not line up over the correct location.
  • Go to the data frame icon at the top of your Table of Contents window, it's a couple of interlocking rectangles and is titled Layers. Right-click on it and choose Properties.
  • Go to the Coordinate System tab and scroll in the window titled  Current coordinate system: until you see the line labeled "Geographic Coordinate System:",   take note of what it says next to it. In this case it's GCS_North_American_1983. You'll be using this in your next step.

  • Right-click on 1033Data+PoliceStations.csv  and choose Display XY Data.
  • In the Display XY Data box, leave the default of Longitude for X Field and  Latitude for Y Field.
  • In the box below that marked Coordinate System of Input Coordinates, which by default lists a Projected and Geographic Coordinate System, click on Edit.
  • Search for the Geographic Coordinate System you wrote down previously, 'GCS_North_American_1983'  using the line at the top with the magnifying glass on it. When you find it, highlight it and click OK.
  • When you finish, it should be the only item listed in that window. The reason you do this is because the Projected Coordinate System's unit of measurement is meters. If you leave it as the Coordinate System for your Input Coordinates, it will assume the latitude and longitude are the meters from the equator, not degrees and your map will not correspond with the proper place on the globe. Your Display XY Data box should look like the below, and when it does, click OK.

  • You'll get a warning that your data doesn't have an Object ID but ignore this. When you click OK on that, it will plot your points, and similar to the last exercise you'll see the coordinates for each of these police stations plotted on the map and a new layer added - 1033Data+PoliceStations.csv Events.
  • Right-click on this and choose Rename to change it to 1033Data

There are multiple records for each of the law enforcement agencies, one for each shipment of equipment but since all that's currently being visualized in the Symbology tab is the location, only one symbol will be displayed. 

  • Switch to the Identify tool (click on the i in a blue circle at the top of the map) and click on one of the dots. You'll see that even though only one dot is displayed at a location there are multiple records underneath it.

Identify Window. Displays what records in the 1033Data layer are associated with the dot on the map

The additional data is available on the layer, you'll just need to change what the symbols are linked to in order to do it. First though, before you forget, add the metadata to your layer so that your viewer can check the description and see where your data for your symbols comes from.

Adding Metadata to your Layer

You may be working on projects with many layers, and you'll want to know where the information on those layers came from.  Adding a description and credits to your layer first thing is a very good habit to get into so that when you cite the sources on your map, you will just be able to get that information in the description of the layer, instead of digging back through your computer to find the source you got your information from. If you upload your map online, it is best practice to have the source of your information cited as well so viewers will know where you got it from

Since you've added an informational layer, you'll want to add metadata to this layer explaining where you got this information from and what it is.

  • Right click on 1033Data and choose Properties.
  • In the General tab of your Properties window, you'll see that the field marked Description is empty.
  • Add:

Information on the 1033 shipments to law enforcement agencies courtesy of Defense Logistics Agency, Law Enforcement Support Office from the 2017 dataset "LESO Property Transferred to Participating Agencies" from:

This is the place where I got the information that I included on 1033Data+PoliceStations.csv which you used to map the police stations.

  • To the Credits add 

Defense Logistics Agency, Law Enforcement Support Office 

  • Click OK. Now, if you copy and paste this layer, that new layer will also have this information. 

Changing Symbology

  • Double-click on 1033Data layer in the Table of Contents to open its Properties. Click to the Symbology tab. 
  • The option in the Show:  menu to select is Graduated Symbols. Just like how in the previous exercise with the counties, Graduated Colors created a scale of colors to apply to the symbols where colors closer to blue represented a lower value in the ArrestsbyP field, and colors closer to red represented higher values, Graduated Symbols makes it so the size of the symbol is related to a higher or lower number in the field you want symbolized.
  • For the Fields: Value, select Acquisition_Value.
  • From the Classes dropdown choose 7 classes since there's a pretty large range of acquisition items, from those assigned no value, to large vehicles that were valued at near a million dollars.
  • Click on Label in the Symbol menu and choose Format Labels.  In the Number Format window that appears, select Currency from the menu at the left of the page. Since these are monetary amounts, it will be the best for the viewer to display this as currency. 
  • When your window looks like the below, click OK

The symbology window. The symbols are of ascending size depending on the value in the acquisition value field

  • Your map will look something like the below, a very basic map of how much the different receipts of former military equipment received by police were worth scattered across New York State. This would be more useful for an interactive map uploaded to your ArcGIS online account. For the viewer to receive extra information on what a shipment was, they'd need to click on the symbol using the Identify tool. 

Overlapping circles all over parts of the map of New York state

To total up amount of items received in total, or the total in acquisition value of all items, you'll need to alter the sheet using Summarize. However, in order to do this you'll first need to export the map you made as a new layer.

  • Right-click on 1033Data, scroll to Data  and select Export Data. 
  • Click on the folder icon and select where you want this layer saved and what you want it named. I've named it 1033Data

  • Click OK. When it finishes exporting, you'll get a pop-up window asking if you want to add the exported data to the map as a layer. Select Yes. 
  • Click and hover on your original 1033Data layer and when the cursor changes to highlight the text, change the name to 1033Data_original

You'll notice, by default 1033Data will revert back to just displaying a small dot for each police station. You can change it back to display the graduated symbols, or first, you can edit and use the spread sheet in order to come up with totals for each law enforcement agency both of quantity of items and of acquisition value.

Summarizing Data from an Attribute Table

To be clear, you can also create these totals in a csv or excel file before you upload that file into ArcGIS, but it's good to know how to use the Summarize function. You can take any field on an attribute table and summarize, count or average the values associated with the records containing that field. This can be helpful to you if you have multiple records associated with a single place, and some of the fields on your attribute table are numerical.

Perhaps you are mapping 311 complaints from apartments using a table where each complaint is its own row . You have fields with information including the number of residents in the apartment making a complaint and the possible fine to the landlord for that violation. Instead of just having the one dot over a building so that your viewer would have to use the Identify tool in order to see the list of violations associated with that building, you could use the Summarize function on the attribute table to

  • count how many total complaints are associated with that address 
  • total the number of residents affected or total the amount of prospective fines
  • get average or minimum or maximum residents in apartments affected, or average, minimum or maximum prospective fines associated with complaints to that address

These new quantities can then be symbolized so that the symbols on your map can give additional information to whoever is looking at your map other than that buildings with the symbol have had at least one 311 complaint made against them.

In this scenario, you're looking to get the total in quantity of items, in acquisition value and the count of shipments associated with each law enforcement agency, and I'll show you how to use Summarize to do this.  

  • Right-click on your new 1033Data layer and choose Open Attribute Table
  • The field containing the name of the police station associated with the law enforcement agency is called Station_Na. When your data was exported as a layer, that came with certain restrictions on the amount of characters allowed in a field name, so some of the other field names will be changed from what you saw on the original table. Click on the header at the top of this field to highlight it.
  • Right-click on this header and choose Summarize. 
  • In the Summarize window, leave Station_Na as the answer for question 1, the field you want to summarize
  • For question 2, the request for which statistics you want in your output table, go to the Quantity and Acquisitio items, expand them with the + sign and put a check in the box next to Sum.
    This will look something like the below.

The field to summarize dropdown says Station_Na, the tree under Acquisitio has the box for Sum checked off

  • For the third option, you'll need to pick the folder you'll be saving it to (I recommend whichever folder you saved the original csv to), that you are saving it as an Info Table and what name you'll be choosing. Save it as Sum_ByStation. Click OK
  • Sum_ByStation will now appear in your Table of Contents when you have it in List By Source view. Right-click on it and choose Open Table. 
  • It will  contain
    • the Count for how many records were associated with that Station_Na field -  how many shipments were sent to that law enforcement agency
    • the Sum total of each of the Quantity fields for records with that Station_Na field - the total quantity of items sent to that law enforcement agency 
    • the Sum total of each of the Acquistio  fields for records with that Station_Na field- the total acquisition value for all of items sent to that law enforcement agency 

.A table with the headings OID, Station_Na, Count_Station_Na, Sum_Quantity, and Sum_Acquisitio

As you'll note there isn't a Latitude and Longitude associated with this table, so in order to graph this, you'll need to join this table to your layer that contains locational data for the police stations.

Joining Tables to Layers

When you have geographic data on one layer, and additional attribute data for the points, cities, areas, etc in an independent table you can join the table to the layer, and so display that data on your map.

  • Right-click on Sum_ByStation and choose Join
  • In the Join Data window, make sure that you have selected that you want to Join Attributes from a Table.
  • You already know that Station_Na is the field on each table that contains the station name. For the first question choose that you want to base the join on Station_Na.
  • Choose that the layer you want to join is 1033Data
  • The field on that table you want to base the join on is Station_Na. 
  • Click on Validate Join to make sure there are no errors, and when that comes back okay, click OK
  • Right-click on Sum_ByStation in the table of contents and choose Open. Scroll to the right and note that past your original fields on this table, there are now one of the shipments for each of the Station_Na listed. This isn't useful to you if you want to map your complete data on the shipments but it will be useful to you if you want to map the totals or counts by station since among the included fields are Latitude and Longitude.

Displaying your Summary Table as XY Data

With the new data coordinate data attached to your table you can now make a point for each police station that displays the data about the totals associated with it.

  • Right-click on Sum_ByStation in the Table of Contents and choose Display XY Data
  • Follow the same procedure as you did earlier in the exercise. X Field corresponds with the 1033Data.Longitude field in the table you've joined, and Y Field  corresponds with the 1033Data.Latitude field. Click on Edit and make sure that you change the Coordinate System of Input Coordinates to just be Geographic Coordinate System: Name: GCS_North_American_1983 so that it matches the coordinate system of the data frame. 
  • Click OK
  • You'll get an error message about an illegal SQL statement, but that won't matter, it still plots your points in a new layer Sum_ByStation_1033Data Events
  • Close the Attribute Table window

​Adding Symbology to Your Totals Layer

Now with these summaries for the total acquisition value and total quantity received added to locational data for the law enforcement agency receiving it, you can visualize the amount received by each police station, not as individual transactions but as a total. 

  • Click and hover on Sum_ByStation_1033Data Events until the text appears highlighted so you can edit it. Change the name to LEA Totals - Value
  • Double-click on LEA Totals- Value and choose the Symbology tab. Select Graduated Symbols under Show: . Set the Value to draw as SumByStation.Sum_Acquisitio. In the Classes dropdown, select 7 as the number of classes.
  • Click on Label and in that menu, select Format Labels. In the Number Format menu, choose Currency as the category and click OK
  • Double-click on the dot below Template to edit the symbol's color to make it something to show up well against the green of the map. I've chosen Medium Coral Light, but if you want to make it another symbol or another color that shows up well, go ahead.  

When you hit OK your map will look something like this. 

A map of New York state with various sized pink dots across the map.

Adding a Separate Layer Copied from a Previous Layer

When you have a lot of data fields on the attribute table for a layer, you have a lot of options for what you can visualize and how you symbolize it. For any given layer though, you can only pick one symbol system. That's why it's handy that ArcGIS will let you copy a layer, and paste back into your Table of Contents with all its associated data intact.

  • Right-click on LEA Totals -  Value and choose Copy.
  • Right-click on the Layers dataframe at the top of your Table of Contents and select Paste Layer(s)
  • Double-click on the new layer you've pasted in to get to its Properties window, and go to the General  tab to change its name to LEA Totals - Quantity
  • Go to the Symbology tab and change the field it's visualizing to Sum_ByStation.SumQuantity. 
  • Double-click on Template to change the color from the one used to visualize the Acquisitions, I chose Heliotrope.
  • Now you can click the boxes next to each layer,  to see how the symbols look different  depending on which you are visualizing. Some places with a high quantity have a lower acquisition value since they were ordering items that had a smaller monetary value. Some places have a high number for both, and some have a small figure for quantity but a large quantity for acquisition value since they received one or two high-value items. 

You can also use the summarize function on your original table to create a new table with information such as the average acquisition value of each purchase. With a large amount of varied data there are a lot of things you can do with it.

I've attached my finished map document below if you want to see how I constructed it. This will also be useful for you in the next exercise. 

Learning Goals

In order to see how many datapoints fall within a town or county or other geographic unit, you can join two layers of your map not based on the data on their tables, but based by whether or not they intersect with a region on the map. This is called a Join by Location

Scenarios that this is useful for include ones where you have datapoints associated with a specific place or event that you want to provide additional context for based on the data available about their surrounding towns, cities, counties, states or other regions. Maybe you're investigating a past outbreak of a disease and want to take the datapoints you have representing documented cases and associate it with zip codes so you can instead of looking at every given point and trying to draw a conclusion, visualize which zip codes had the most cases. Maybe you're doing a study on urban farming and want to visualize which census blocks have the most farms. Maybe in both of those cases you have underlying data about those zip codes or blocks that you'll want to use as context to understand why there are more sick people or urban farms in those places, like median income or population density. These are cases where spatially joining your data points in one layer to geographic features in the other can come in handy. 

In this case, you have individual data points on the map related to receipts by certain law enforcement agencies of former military equipment via the 1033 program. You have data about felony drug-arrest rates but only on a county-level basis. In order to ask the question if law enforcement agencies in counties with high felony drug-arrest rates request larger values of equipment, you'd need to determine which counties these agencies were located within. Since you have the boundaries of these counties already drawn on your map, with the Join By Location function you can add a new layer that compiles all the data for points falling within each county. 

For this exercise you'll be using the map we created in the last exercise, but if you didn't do that one, the map is below.


Getting Started

  • Open GraduatedSymbols+1033Data in ArcMap, and check and uncheck the boxes associated with each of the layers in the Table of Contents window to familiarize yourself with the data on them.
    • LEA Totals - Quantity contains graduated symbols about the total quantity of items received by each law enforcement agency
    • LEA Totals - Value contains graduated symbols about the total acquisition value of items received by each law enforcement agency
    • 1033 Data_Original - has the acquisition values for each individual shipment stacked on top of each other for each law enforcement agency

For the map you want to wind up with that visualizes the total acquisition value for all items acquired by the law enforcement agencies within the county 103Data_Original is the layer that you'll want to be joining to the Counties layer in your basemap. Since there isn't a separate field in this table that contains data about which county this law enforcement agency falls into, you'll need to do this based on these datapoint's spatial location.

Joining a Table to a Layer Based on Spatial Location

  • Right-click on the Counties layer in Base Map from NY.GOV and choose Join.
  • In the Join Data  window change the first dropdown from Join from attribute table' to Join data from another layer based on spatial location.
  • Chose the layer  1033Data_Original since that has each police station's location and each record of a shipment associated with it.
  • There are two options below for how you want to go about this join. Select the first option: Each polygon will be given a summary of the attributes associated with the points that fall inside of it. This creates a join where the resulting feature class will have a summary of the values associated with the datapoints that fell within that county. 
  • Select Sum as the attribute that you want. For other kinds of studies, you might want to use one of the other options. Maybe if you're entering in price data for produce items at markets in blocks in New York City, you'd be most interested at the average price for a produce item within that block.
  • In the last item on the Join Data window, use the folder icon to navigate to where you want to save this file and choose a name for it. I've chosen TotalsByCounty.shp as the name of my shapefile. Click OK.

The new TotalsByCounty shapefile will be automatically added as a layer to your map, but it will originally just appear as a flat symbol. You'll have to go in and change the symbology of the layer to have it display the total of value of the equipment acquired in each county.

Adding Symbols to a Polygon Layer

  • Uncheck all your other layers except for your Base Map from NY.GOV group layer to make them invisible
  • Double-click on the TotalsByCounty layer to open the Layer Properties window and select the Symbology tab
  • Go to Graduated Symbols in the Show menu. Select Sum_Acquis as the Value to display. This is the field you created in your previous exercise that has the sum total of the acquisition value of items for all the datapoints that fall within that county . Use the Classes dropdown to give it 7 classes.
  • Click on Label, and off that menu click on Format Labels. Set the category as Currency and click OK 
  • Click on the dot under Template and change the Color to Mars Red. 
  • Click on the patch below Background, and switch the symbol to Hollow, since you want to put another layer of information underneath this map.

When you finish, your map will look something like this

A map of New York state with red dots of varying sizes over each county

A reason to make the background underneath the graduated cells transparent is so that you can then put other county-level data beneath it, like population, economic or demographics data, or in the case of the attribute table that is associated with the County shapefile in this document, per capita drug arrests. 

Visualizing County Layer

  • Double-click on Counties in the Base Map from NY.GOV layer to open the Layer Properties window. 
  • Choose the Symbology tab and navigate to Quantities > Graduated Colors. 
  • For the Value select ArrestsByP, since this field contains the number of arrests per capita for each county in 2012. For a full map you'd want to make sure the data matched up with the year-range of the study, but just for this demonstration we'll use the number we already have associated with the sheet. 
  • In the Classes dropdown select to make 7 classes. Click on Label at the top and select Format Labels. In the Rounding section use the up and down buttons to make it so that only 2 decimal places will be showing. Click OK.
  • When your Layer Properties window looks like the below, click OK

The symbology tab where there are 7 symbols of different colors laid out.

You'll get a map that looks something like the below, which allows you to display two kinds of data at the same time, but because it uses different methods of visualization it's still pretty clear to read. You can tell by looking at a county how much the items it received were valued at and the level of drug arrests per capita that it had. 

A map of New York State with its counties in different shades of orange, yellow and blue and in those counties are red dots of varying sizes.


However, look closely at the scale for the symbols. You're not quite done yet. Notice how the low end of the first scale is set to 0. Is that because they didn't receive any equipment or because they received equipment that didn't have an acquisition value? Currently, you don't know, however, there is a way to correct this so only items that received any equipment from the 1033 program show up on this map and that is by using a Definition Query on your layer. 

Using a Definition Query

Definition Query lets you define which parts of your data will be shown on the map. This can be useful to you when you're working from a large data set where only a subset of the data in it is of interest to your project. In this case, you only want to display dots on counties where they received at least some equipment from the 1033 program. You could have tackled this by creating an invisible symbol to be used for the class of $0 in acquisition value however, it is possible that some counties only received equipment that didn't have an acquisition value assigned to them, and you would be leaving out areas pertinent to your study. What you need is to find the column that will tell you if any of the LEA totals at all were located within that county, and use that to build a query. 

  • Right-click on TotalsByCounty and select Open Attribute Table
  • Take a note of the contents in each column. It looks like Count_ is the one you need, but scroll down, were there any occasions where Count_ was valued at 0 and any of the other columns contained information. When you get to the bottom, you'll see that the answer is no. If the Count_ field has a value of 0, that means there were no data points within that county so these are the counties you'll want to leave out of your map. 
  • Double-click on TotalsByCounty and in the Layer Properties window navigate to Definition Query. Click on the button Query Builder
  • Scroll down to "Count_" and double-click to add it to your query. Remember you only want items where the Count_ is greater than 0 because that will mean there was at least one datapoint within that county. Click on the button to add that function to your query. Use Get Unique Values to see the measures in that field. They don't have quotation marks around them which means that ArcGIS recognizes them as numbers. Double-click on 0 to add it to your query.
  • Your query should be  "Count_" > 0
  • Click on Verify and if it tells you that the expression has been verified, click OK
  • In the Definition Query tab, your expression will now be within the formerly blank window. Click Apply
  • If you left your Attribute Table open you'll notice that there are now no items where Count_ is 0 left. 
  • Click back to your Symbology tab and click where it says Classify. You'll have to reconfigure how it is classified since the former one was based on the older definition of the data, so change it from Natural Breaks to something else, and then back again and click OK. 
  • Click OK in the Symbology tab and when you exit you'll notice that now there are some counties on the map with no dot. This means that according to your data, they never received materials from the 1033 program.

Save your map now. Remember, always be on the lookout for inconsistencies in your map. Are you leaving somewhere in that doesn't apply to your research question? Are you leaving something out that does? 

You can see the map as I've configured it saved below.

Learning Goals

When you've uploaded a sheet with multiple fields, it can get a little daunting to figure out what you want to be visualizing about your places of interest. If you have a table you downloaded from the census with population, economic and demographic information for an area across a five year span, you might only be interested certain years, or certain measures or certain counties. You can make decisions on the fly in ArcGIS about which maps are pertinent to your research question, without editing this data in a separate program before uploading it . 

In this exercise you'll learn how to select only certain categories of information, to export those selections as their own layer, and by using data frames be able to switch between different maps created by selections from a single table.   

As mentioned in the previous exercise, the drug arrest rates by county that I have visualized on my county map are from 2012, but the data I have about what law enforcement agencies acquired from the 1033 program comes from many different years. What if you just wanted to visualize the total value of items acquired by the different counties in 2012 and 2013? Instead of creating new sheets in Excel with just the data for those years, in ArcGIS you'll use the Select by Attributes function to look at just shipments made in those years and export a new layer with only that subset of your data. Then, by putting each in their own data frame, you'll create the groundwork to create a layout with a side-by-side comparison in the next exercise.

Start from this modified selection of data created previously below


Getting Started

  • Open ExportingNewLayersAnd1033Data.mxd in ArcMap. You'll see that it has a series of dark green dots representing the shipments going to law enforcement agencies from the 1033 program and the group layer underneath that is the base map with the outlines of counties, villages and cities and towns. 
  • Click on the Identify and then click on one of the green dots. You'll see that one green dot represents many shipments and you can see that there is additional information on each of these shipments including the year it was shipped
  • Right-click on 1033Data and choose Open Attribute Table. This is where you can see how the table is set up, note that for each Station there are multiple shipments and the data on what year the shipment was sent is held in a field called Ship_Year.

Since the data we have in our counties on the basemap has the drug felony arrest rates for 2012, the useful data to see if there is any relation between a high drug arrest-rate for New York State and more costly equipment being sent to that county would be to look at the shipments sent in 2012 and 2013. We'll want to pull the data for just these years and use them to create separate layers for the map. 

Selecting By Attributes

  • Click to the menu item Selection and choose  Select by Attributes. This opens a window for you that gives you the opportunity to put in an SQL query to select a part of your data. Don't know what SQL is? No problem, the buttons on the side will make it easy for you to make an SQL query. 
  • You are looking to create a new selection within the 1033Data layer, so leave that layer selected, and leave the default Method of Create a new selection
  • You want items shipped in 2012 or 2013, so those are the values you want in the Ship_Year field.  Scroll down the list of field names and double-click on the one marked "Ship_Year". That puts that field into your query. 
  • Click on the button that says 'Get Unique Values' in order to put a handy list into the window to the right of all the values available in that field

The Select by Attributes window. Ship_Year is in the Query window and its values are in the middle scrolled window

  • So since what you want is items with either 2012 or 2013 in Ship_Year, you can either by typing it out or clicking on the corresponding buttons enter into the selection query window

"Ship_Year" = 2012 OR "Ship_Year" = 2013 

  • Click Verify to make sure that the equation is correct. When the pop up window says it is, click OK

In this instance you are looking for numerical information but this doesn't need to always be the case. If you instead only wanted to select items with a certain text value in the field you could do that instead, like if you only wanted items coded MOTOR VEHICLES,CYCLES, TRAILERS in the FederalSup field, you could have made that selection. It also doesn't need to be a complete match if it is numerical information, you could select only items over a certain acquisition value. You can string multiple requests into the same query, combining several of these together to look only for vehicles valued over a certain amount shipped within a certain year range.

Select By Attributes is a very useful tool for you to customize your map to only show information that is pertinent to your research question. Definition Query  serves a similar function, however when you Select by Attribute, the information not within the selection is still visible on the map, it just isn't highlighted. But back to this query - 

  • After you click OK, you'll notice that some points are now highlighted in bright blue on the map and some aren't. Additionally some lines are highlighted in bright blue on the table, and some aren't. If an item is highlighted in bright blue that means it has been selected because it matched the parameters of your query.

Bright blue dots are now all over the New York state map. Some dots remain the normal green color. In the table below, items with ship_year as 2012 or 2013 are highlighted while others are not.

Since these are the items you want on your new layer, these are the selections you'll export.

Exporting a Selection as a Layer

  • Right-click on the 1033Data layer,  choose Data > Export Data. 
  • Make sure the Export dropdown is set to Selected Features. Change the Output feature class name to 1033_for_2012_2013 so that you can later tell what it is. Change the folder you want to save it to if you don't like the default
  • After it exports, it will ask you if you want to add the new layer to the map, click Yes. To see the difference between the two, uncheck the box for 1033Data. You'll see some of the dots disappear. Close the attribute table for 1033Data if you haven't already. 

Now that you only have the data for 2012 and 2013 on the map, you'll be able to make a map that only contains those pertinent years. 

Symbolizing Quantities within Categories

  • Double-click on 1033_for_2012_2013 to open the Layer Properties window, and proceed to the Symbology tab. 
  • If you want to create symbols that at a glance tell the viewer what year the shipment was sent to the law enforcement agency and the amount of money that shipped equipment was valued at, you want to choose Multiple Attributes, Quantity by Category. Click to go to that menu
  • The division you want to make is between 2012 and 2013 items so the Value Field you'll want to choose is Ship_Year. Click Add All Values, you'll see those two years and <all other values>. Uncheck the box next to <all other values>.  
  • Double-click on the symbol next to each year and make them light and contrasting colors. Since these symbols will be stacked on top of each other, and will eventually be on top of a map containing a spectrum from blue to red, you'll want to make colors that will stand out on top of that too. I've chosen Medium Apple for 2012 and Heliotrope for 2013. This edits the color the symbol will be
  • The quantity associated with each symbol can make it larger or smaller or change its color on a spectrum. Since you want to vary the size of the symbol so it's more easily discernible at a glance, you'll click on Symbol Size under Variation.
  • In the dialog box that opens up, I'll select Acquisitio as the field I want to use the value for, and will set Classes to 7 in the dropdown. I'll leave the default Symbol Size in that varies from 4 to 18 points. Click on Label and select Format Labels. Select that the Category is Currency and click OK. Check the box to Show class ranges using feature values and click OK to exit the Symbol Size menu. 
  • Click OK on the Layer Properties menu and you've visualized the acquisition value for each of the years shipments.

Your map should look something like this if you've chosen the same options I did, but you can certainly vary the scales or colors you use or whether you'd rather display the quantity of items received. 

A map of New York State with purple and green dots across it representing the acquisition values of shipments according in the table of contents


Displaying Quantities Data for a Polygon Layer

If you've done the previous exercises you've already changed the symbology in the Counties later, so just do the same thing you did the last time you visualized the Arrests per 100,000 data for the Counties layer, but if not see below.

  • Double-click Counties in Base Map from NY.GOV to open the Layer Properties menu, and select the Symbology tab. 
  • Choose Quantities > Graduated Colors in the menu for what you want to Show. 
  • Select ArrestsByP as the Value you want drawn. Pick 7 as the number of Classes you want in the dropdown. 
  • Click on Label and choose Format Labels. Use the up and down arrows to select that you want the number of decimal places to be 2 and click OK

  • When it looks like the above, click OK

You now have a map that looks like the below, where a viewer can tell at a glance what the acquisition value of shipments for law enforcement agencies in a county in 2012 and 2013 were as well as what the per capita felony drug-arrest rates were in that county in 2012.

A map of New York State with counties of different colors, and green and purple dots all over it.



Please note however that without summarizing, your viewer would need to click on the symbols on the map to see the total items received across shipments, so if you want to visualize the total acquisition value for all shipments for the law enforcement agency, you'd need to use the Summarize function described in the first module for this tutorial. If you want to visualize the total acquisition value of all items received in the county, you'd need to do the Join by Location function described in the previous module. 

Looking at this map, it's hard sometimes to tell if one of the larger dots from one of the years is obscuring a smaller dot from a different year. To be able to look at your data more clearly, you'd want to separate these into a layer for 2012 and one for 2013. In order to eventually be able to display a side-by-side comparison of the two, you'll also want to put each in their own data frame.

Creating Another Data Frame

  • Go to Insert and select Data Frame. Name the new frame 2013Data. It will appear empty, in your Table of Contents window.
  • Right-click on your original data frame Layers and choose Properties. In the General tab, change the name to 2012Data.
  • Click to highlight each of the layers in 2012Data, right-click and choose Copy
  • Right-click on the data frame 2013Data and choose Paste Layer(s)

Now that you've created a data frame for each year you'd like to explore with your data, you'll change the layers in each so they only reflect 2012 for one and 2013 for the other. 

Using Definition Query to Narrow the Data Displayed.

Definition Query is used on a layer to define the data it will be displaying amongst the data available for it to display.  Similar to Select By Attribute, you can select based on what values are in a field, either from a list of acceptable values, or if the values are numbers, those above or below a certain threshold. You can turn it off or on at any time but while one is on, your map will only display a selection of your data.

  • To make sure it's clear which layer you are editing, change the 1033_for_2012_2013 layer at the top of each of your data frames to read 2012Data_Acquistion for the one at the top of the 2012Data data frame, and 2013Data_Acquistion for the one at the top of the 2013Data data frame
  • Double-click on 2012Data_Acquistion to open the Layer Properties window and navigate to the Definition Query tab. Click on Query Builder below the blank box in that tab
  • The Query Builder dialog box probably looks familiar since it operates on the same SQL Query language used in the Select By Attributes function used in the beginning of this lesson. Since you want to narrow this down to just include the records with '2012' in the Ship_Year field, you'll scroll down to "Ship_Year" in the window at the top of this box, and double-click it to add it to the query. Click on the = button. Use the Get Unique Values button to populate the box with the values available in that field, and double-click on 2012 to add it to the query.
  • Now your query should look like:  "Ship_Year" = 2012
  • Click Verify. If the expression is validated, click OK in the Query Builder box, and then Apply for the Layer Properties.
  • Go to the Symbology tab and click on Add All Values. 2013 should disappear from the symbols.
  • Click to the Symbol Size menu, and switch the classification from Natural Breaks to one of the other options, and then back again to recalibrate it. Your map should now only have the green dots representing 2012 and the scale not listing as broad a range as previously. 
    • If this doesn't appear, check if the 2013Data data frame is in bold font on your Table of Contents. If it is, that means that is the active data frame, and you'll have to switch to your 2012Data data frame in order to see changes. Right-click on 2012Data and select Activate. 
  • ​​​Repeat this process in your 2013Data_Acquistion layer, only instead of the query being for "Ship_Year" = 2012 it will be for "Ship_Year" = 2013.
  • Save your document.

.Now you can right-click and select Activate to switch between your two views, so the two will stop overlapping. The other benefit of data frames will be made clear to you in the next exercise, they can be used to create new layouts with multiple maps on them.

If you want to see how I constructed this, the map document is below.

Learning Goals

While on some occasions you'll be presenting only one map that you have created with your data, on others, for example for poster sessions, you may be adding in multiple maps that represent your data. Rather than taking screenshots of individual maps, using Layout View and multiple data frames allows you to present your maps in a unified fashion while still being able to customize and fine-tune the geographic aspects of your maps. 

In a tutorial in the first module, Visualizing Data on a Map, you learned how to create a map when you had only one data frame. After completing this one you'll learn how to create a layout with multiple dataframes, thus allowing you to create a layout containing multiple maps. You'll add individual map elements for each data frame and make sure that the scale is as consistent as possible across both so that you are creating a unified picture of what information each presents.

We'll be using the attached map document to start with which is a modified version of the maps created in the last exercise


Getting Started

  • Open ForLayout_2DataFrames.mxd
  • Take a look at the Table of Contents window. Rather than there just one top data frame - Layers with all the layers for that data frame underneath it, there are two, one called 2012Data and one called 2013Data. This is because since the data is concerning the same spots, for it to be on the same map meant that some data would be obscured. So in the last exercise, we created two data frames so you can swap back and forth while working on your findings for that project. This configuration of multiple data frames also lets you create a layout where the two maps appear side by side, letting the viewers draw comparisons.

Starting in Layout View

  • Go up to View on the menu bar and click on Layout View.

At first you'll see the two maps overlapping something like this.

Two maps with different color dots overlap in the center of the frame.

  • Go up to File and choose Page and Print Setup. Change Orientation to Landscape. Click OK
  • With this new configuration, you'll want to add some guides within your layout in order to make sure you're creating a balanced composition. A guide is a straight blue line that will run across your layout horizontally or vertically at whatever distance in from the edge that you want. It won't show up when you print your map, it's just there for your own guidance. Go up to View and make sure that there is a outline next to the option Guides to signify it is turned on. Make sure that Rulers is turned on too. 
  • You can add a guide to your layout by clicking at the point on the ruler where you want a line drawn across your layout. You can click and drag the arrow that appears at the beginning of the line on the ruler if you want to readjust where it appears.
    • Click to create a guide at the top ruler at 5.5 inches, so that each map gets half of the screen.
    • Create a guide about .75 inch from the top of the page on the ruler on the left to leave room for the title, and about .5 inch from the bottom to leave room for your sources.
    • Add one more guide about 3.5 inches from the bottom so that you have room to add the legends. 
  • Click on each of the different data frames, and move and resize them so they fit in to the two equal-sized boxes in the top half of the page you drew for them with the guides.Place the 2012Data data frame on the left (the one with the green dots) and the 2013Data data frame on the right (the one with the purple dots).
  • When you have clicked within a data frame so it's selected, the zoom to full extent, pan and zoom in and zoom out tools are going to work on the map within the frame. Click on the globe icon (this is zoom to full extent) in each. That does still leave a border around the edge of the map. If you are eager to get each map as large as possible, you can fine-tune using the pan tool and to change the scale at the top of the map. 1 in = 80 mi worked for me to get it really close to the edge of the margins.

When you've finished that, it will look something like this

A landscape layout with two data frames with a map of New York in them side by side horizontally

Adding Text Elements to Your Layout

  • A title will tell the reader what they are looking at.  Go to Insert in the menu bar and choose Title.  A pop up window will appear asking you what title you'd like, and type in
    2012 and 2013 1033 Receipts by Law Enforcement Agencies and Felony Drug Arrest Rates, 2012

  •  Click and drag the resulting box to the middle of that section at the top that you set aside for the title.  Use the text toolbar up top to change the size and color of the font to make it larger and stand out. I changed the font size to 17 and changed the color to Dark Navy.

You also will need to add text letting your viewer know where you got your information from. This lets people know if you are using credible sources, and lets other scholars to engage with your work and do work that builds off of yours. Maybe they are working in a similar area and when they see that you have statistics on felony drug arrest rates or acquisitions of decommissioned military equipment by police departments they'll want to know where they can can find similar information for their own geographic area or time period that they're interested in. You can convey this information by adding source text

  • Go up to Insert on the menu bar and select Text. It will put a small box somewhere in the middle of your view that just says 'Text'.
  • Drag this box down to the space at the bottom that you set aside for it.
  • Double-click on the Text box, and it will open a properties window that will let you alter the text.
  • When working on your own project, you'll need to go to the Credits section of your different layers to find the sources used to make your map. That is if you used best practices and consistently kept track of your metadata.
  • If I were pasting from the credits section, I could just write
    "Sources: NYS Office of Information Technology Services GIS Program Office (GPO); Division of Criminal Justice Services, New York; New York Department of Health;Defense Logistics Agency, Law Enforcement Support Office."
  • Note, however that the text will not be wrapped, so you'll need to press enter about in the middle, experiment to see how it fits. Click on the left-align button to make sure it's left aligned. Click OK, and the Sources text should appear at the bottom of the map.
  • You'll want to make sure you give yourself credit too of course. So put in your name as the author. Click on the Insert menu item and choose Text
  • Click and drag it on top of the two boxes containing your data frame, and center it across them. Double-click to open your source window and type "Map by" and your name.
  • Use the font dropdown at the top of the map to increase the size of the font and re-position it if necessary

Creating the Legends

The way for people to understand what the different symbols mean is to insert a legend which will explain what the symbols in each layer represent.  However the legend's information is going to come from the scale, the titling and the headings you have for your layers in your Table of Contents. To have clear explanatory text on your legend, click on the titles and headings on each of the visible layers in your Table of Contents, and change the language to make it very clear what the symbols in it are representing

A comparison of a legend with longer vague titles and labels, and one with more concise and informative ones.


You'll now create a separate legend for Total Value of Items Shipped to LEAs by County, 2012 to go under that map frame on the left, for Felony Drug Arrest Rates by County, 2012 to go between the two since the same scale is on both maps, and the last legend for Total Value of Items Shipped to LEAs by County, 2013.

  • Right-click on 2012Data and choose Activate.Whichever data frame that you have activated is the one that the Legend Wizard will draw from with what can be included in the Legend.
  • Go up to Insert and choose Legend.   
  • Since you just want this Legend to contain your LEA acquisition value data, highlight Felony Drug Arrest Rates... on the left hand window where your Legend items are and click on the left-pointing arrow to move it off the list. Set the number of columns to 2. If you click on the Preview button first, it'll put a preview version of the legend on your layout so that you can see how the changes that you are making are changing your legend. Click Finish.
  • Double-click on the Legend on your sheet to open the Legend Properties window. In the General tab, delete Legend from the title field, you don't need that title
  • In the next tab Items, double-click on the Total Value of Items... within that first menu to open Legend Item Properties. In the General tab, un-check the box for Show Heading. The layer name already conveys that it's the total value of items, you don't need to additionally say beneath it that it's acquisition value. Click OK
  • Click to the tab Layout and check the box next to Wrap labels. Click Apply. The title for your layer is very long, so if it can wrap you'll be able to fit your legend in a smaller box.
  • Click to Frame and using the dropdown menu under Border change the border to be .5 point. Click OK  at the bottom of the Legend Properties box.
  • Now you should have a box at the bottom containing the legend for that layer. Click and re-size and move if you want. Notice that the font-sizes will change to fit the new size of the legend as you do so
  • Right-click on 2013Data and choose Activate.  Follow the same procedure above to create a legend for Total Value of Items Shipped to LEAs by County, 2013
  • Move that legend over to be under the right-hand map.
  • Follow the same procedure to create a legend for Felony Drug Arrests Rates by County. One exception though, do not un-check the box for Show Heading
  • Move that legend to be centered between your other two. Click to adjust 

Adjusting the Legends

The Legend boxes that you create do not contain layer information in their own right. They are dynamic. If you change the symbols or turn a layer off or on using the Table of Contents view, the legend's labels, titles, and symbols will change accordingly. This comes in handy because sometimes until you see all the legends together on your map you won't realize that something about them needs to change.

From a cursory look at the map with the scales the way they are, it looks like there was a lot more valuable equipment shipped in 2012 than 2013. Sure, more of the symbols on the right hand map are larger rather than smaller but it's not like they're giant in comparison.

Examine the scales for the symbols for the Total Value of Items Shipped for 2012 and 2013, specifically at the maximum and minimums of each scale. Notice anything?

The Legends as they appear on the map. The 2012 1033 numbers go from 300 to 360,000. The 2013 1033 numbers go from 10,000 to 1,449,307

In 2012, the smallest value of total equipment sent to law enforcement agencies in a county was 300.28 and that class capped out at 3,808. In 2013, the smallest value of total equipment sent to law enforcement agencies in a county was 10,000 and that class capped out at 18,712,47. The same sized symbol on each map for the minimum number represents very different amounts in terms of the value of equipment. The largest symbol on the map in 2012 represents a class that has a maximum of $360,084.96. The largest symbol on the map in 2013 represents a class that has a maximum of 1,449,307. Though these symbols both are the same size, because they are for scales drawn up for the variation between total amounts within their own maps, they are not to scale between each other and that can lead to a misleading picture.

Let's change the 2013 classifications so that they are a more accurate comparison to the 2012 numbers. 

To make things easier on ourselves, let's just change the 2013 classifications. But first we'll need to take a look at the sizes given to the symbols in the Total Value of Items Shipped to LEAs by County, 2012 layer.

  • Double-click on Total Value of Items Shipped to LEAs by County, 2012 and navigate to the Symbology tab.
  • Double-click on each of the symbols to open the edit menu for it and see what size it is set to and write it down. You'll be adjusting the scale of the symbols on the 2013 layer accordingly. Click OK to get out of this window.
  • Double-click on Total Value of Items Shipped to LEAs by County, 2013 and navigate to the Symbology tab.
  • You'll want to both change up the classifications so you are closer to the class boundaries used in the 2012 map, and change up the symbol sizes, since halfway through the 2013 scale you already have a higher total value than the maximum for 2013.
  • Change the maximum on the Symbol Size from  25 to 33 to give yourself some room to work with since you already know that the maximum-sized symbol in 2013 should be larger than the one in 2012
  • Since the 2nd class on the 2012 scale (19,300-41,061) is closer to the minimum class on the 2013 scale (10,000-18,712), increase the minimum on the scale to 9 to place the size somewhere between the 1st and 2nd classes. 
  • You'll need to do a bit more adjusting of the sizes so click on Classify. You can adjust the break values by manually typing them in Break Values or moving the bars in the histogram window in the middle. 
  • I adjusted the classes to have a maximum as follows. You can choose another way if you want, and then click OK to go back to the symbology menu. 
    • 1st class - unchanged
    • 2nd class - 177,628
    • 3rd class - 480,000
    • 4th class - 688,894
    • 5th class - 1,281,993
    • 6th class - 1,449,307
  • You'll next want to change the symbol sizes. You can do this by double-clicking on the symbol for the class you want to change, and then typing in the number of points you want it to be. Completely proportional comparison would mean for very inconveniently large symbols in the 2013 map but in this way you can at least indicate that there is a large difference between the maximums in the two maps, by making the symbol for the third class larger than the maximum for 2012. I've made them as follows
    • 1st class - 9
    • 2nd class - 18
    • 3rd class - 25.5
    • 4th class - 28
    • 5th class - 30
    • 6th class - 33

You can experiment with different class boundaries and symbol sizes to create your own picture.

Adding Scales and North Arrows

These basic navigation aids are less crucial on thematic maps like these that won't be used for navigation. A reader, however, might still want to know the distance between different counties and whether the map is in the typical configuration with North being straight up so it is helpful to add these. 

  • Right-click on the 2012Data data frame and choose Activate. Go to the Insert menu and select Scale Bar activate it
  • This opens the Scale Bar Selector and you can scroll through the options on it. I'll pick Alternating Scale Bar 2 but if you want to choose a different one, that's fine. If you want to customize it further, click on Properties. In that window you can decide if the measure is miles or kilometers, choose how many divisions you want and where they are on the line, along with other options. I'll use the defaults. 
  • When your Scale Bar is added to the layout, drag it to the lower left corner of your 2012 map, and resize it to fit. The nice thing is it will automatically size down the amount of miles it displays to stay accurate.
  • For the North Arrow, go up to the Insert menu and select North Arrow. It will open up the North Arrow Selector. There are a lot of options to scroll through but I like the one that is the N with the Arrow in the circle, ESRI North 55, so I'll choose that.  Click OK and when it appears in your layout, drag it to the lower left corner of your 2012 map. Just like with the scale, the North Arrow is dynamic, so if you change what direction your map is pointed, the North Arrow will change too. 
  • Right-click on the 2013Data data frame in your Table Of Contents and choose Activate. This will ensure that the Scale and North Arrow that you are about to add are for that data frame and not the 2012Data one. Not a big deal for this project, but it will matter if you are working on a project where your data frames have different scales or orientations.
  • Repeat the procedure to insert a Scale and North Arrow for your 2013 map as well.  You may want to add Guides to make sure they're aligned across the maps
  • When you've gotten all of your elements aligned to your liking, clear all the Guides on your project by clicking on one of the arrows on each ruler (top and left) and choosing Clear All Guides.

You've now created a suitable layout for your project, it should look something like the below.

The Full Layout with 2 Data Frames

The way I constructed it is attached below, but please explore different manners of configuring your symbols and legends and titles and navigation aids to construct the map a different way if you prefer a different look.