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, in addition to having a point's position show its geographic location, 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 of your point could mean whether the school is public or private and the student to teacher ratio could be displayed by the size of the dot over the school's location. 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 NYBasemap zip file that I created in a previous exercise and 1033_NY_PoliceStationsAndCoordinates.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

  • Unzip the NYBasemap file and open the NYBasemap ArcGIS Project file. 
  • Save 1033_NY_PoliceStationsAndCoordinates.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 Folders in your Catalog window, choose Add Folder Connections, choose the folder you've placed your work in and click OK.
  • This next part is very important for if you plan on taking your project file and re-opening it on different computers. Do not grab the csv file from the folder you saved it and drag it directly onto the map. ArcGIS Pro is very picky about file structure and if you do not keep a consistent file structure, then any layers, files, shapefiles, selections, or any other modifications that rely on being able to access those files, layers, shapefiles, tables, etc, then your project file will be defunct and all those layers will need to be added again, and any joins or other modifications will need to be redone. First, place the file within your NYBasemap folder that you'll be using.
  • Locate 1033_NY_PoliceStationsAndCoordinates.csv within the folder that you saved it to in the Catalog pane. Right-click on it and choose Copy
  • Close that folder, and then right-click on the NYBasemap folder and choose Paste. When 1033_NY_PoliceStationsAndCoordinates.csv appears within that folder, then drag and drop it onto the canvas.
  • Right-click on 1033Data+PoliceStations.csv and choose Open. Scroll through and see what information it contains.
  • Basically, 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.
  • More granularly, Agency_Name field contains the law enforcement agency that received the equipment and fields like Item_Name and Acquisition_Value contain information about shipments of equipment that went to these agencies. There is date information in the Ship_Date and Ship_Year columns about when the shipments went out and there is also spatial data in the Latitude and Longitude columns associated with the law enforcement agency which we'll be using in the next unit.

Displaying Latitude and Longitude as XY Data

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 to one station, these shipments will be overlapping datapoints, and you'll need to use the Explore pop-up window 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. 

  • Right-click on 1033_NY_PoliceStationsAndCoordinates.csv in the Contents pane and choose Display XY Data.
  • In the Display XY Data box, leave the default of Longitude for X Field and  Latitude for Y Field.
  • Leave the default in for the Coordinate System
  • Change the end of the Output Feature Class file path to be NYPoliceStations_1033_All to make that layer name more easily understandable when it appears on your map
  • When this is all set, select OK. The process will run, and when it is finished, a series of little blue balloons will appear on your map in a layer entitled NYPoliceStations_1033_All

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, one for each station.

  • Make sure that you have Explore selected in the Map tab and click on several of the dots to see what they symbolize. In some cases in the Pop-up window that appears there will be a little drop down indicating that there are several records associated with a symbol. You can use the arrows to page through, and see that there are different items and shipment dates associated with that station. 

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 NYPoliceStations_1033_All and choose Properties. Click on the Metadata section, and in the dropdown at the top that says Show metadata from data source (read-only) click on that to change it to be set to Layer has its own metadata
  • In Description add 
  • Add:

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

This is the place where I got the information that I included on 1033_NY_PoliceStationsAndCoordinates.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

  • Right-click on NYPoliceStations_All layer in the Table of Contents to open its Properties and choose Symbology.
  • By default it is set to Single Symbol as the Primary Symbology but use the dropdown to change that to Graduated Symbols under Symbolize your data by quantity
  • This will bring you to a menu for how you want to configure the 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, 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.
  • Double-click on the dot next to Template to change the size and shape, and go over to the Format Point Symbol option. I'll choose that I want it to be a bright green color since that will show up against the other details on the map, and then I'll choose Apply
  • Next, click on the last icon over, that is a paintbrush next to a list. This is the Advanced Symbology options. Underneath the Format labels dropdown choose that the category that these are is Currency, and the labels will switch to only display a few decimal points.  
  • 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 to see the different layers, so it's not quite ready to just be  a static map


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.

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 Pro, 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 NYPoliceStations_1033_All layer and choose Attribute Table
  • The field containing the name of the police station associated with the law enforcement agency is called Agency_Name
  • Right-click on this header and choose Summarize. This opens a Summary Statistics window.
  • In this window, first change the Output Table to end in Sum_ByStation, leaving the rest of the path how it is. 
  • Below that option there are the Statistic Fields dropdowns which you'll use to select which fields you want summaries of, and the Case Field, which you'll leave as the option of Agency_Name since you want the totals by each police station, add in Latitude and Longitude as being a Case Field as well since you will want this information to transfer over
  • For the Statistic Fields options, select Acquisition_Value and Quantity  as the options under Field as you want to receive statistics for in your summary table. Leave the default of Sum as the Statistic Type that you want, but check out the other options available to know what you could use in your own projects. Mean, Median, Minimum, Maximum, and Count. This way with this information from this table you can choose to show the amount of shipments a station received, the monetary value of the equipment, and the count of the equipment received across all of the shipments. 
  • When each of these options is selected, choose Okay, and the process will run, and Sum_ByStation will appear under Standalone Tables section of the Contents pane. 
  • Right-click on Sum_ByStation and choose Open
  • It will  contain
    • the Frequency for how many records were associated with a given Agency_Name field -  how many shipments were sent to that law enforcement agency
    • the Sum total of each of the Acquistion_Value  fields for records with that Agency_Name field- the total acquisition value for all of items sent to that law enforcement agency 
    • the Sum total of each of the Quantity fields for records with that Agency_Name field - the total quantity of items sent to that law enforcement agency 
    • The Latitude and Longitude for each Agency_Name.

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 Contents pane and choose Display XY Data
  • Follow the same procedure as you did earlier in the exercise. X Field corresponds with the Longitude field in the table you've joined, and Y Field  corresponds with the Latitude field. Make the Output Feature Class end in TotalsByStation, leaving the rest the same. Leave the Coordinate System as the default. 
  • Click OK. It'll run and then a new layer will appear on your map called TotalsByStation. Uncheck the layer for NYPoliceStations_1033_All so you can see this layer clearer. 
  • Close the table for Sum_ByStation if you haven't already. 

​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. 

  • Double-click on TotalsByStation to open the Properties window for it Change the name to LEA Totals - Value so it will be clearer what this layer is symbolizing. 
  • Right-click on LEA Totals- Value and choose Symbology. 
  • Select Graduated Symbols as the Primary Symbology and choose Sum_Acquisition_Value as what it will be based on. In the Classes dropdown, select 7 as the number of classes.
  • Use the Format Point Symbol menu to make the shape a bright magenta color so it'll stand out. If you want to choose something else you think will stand out better, go ahead. 
  • In the Advanced Symbology options menu (the last one on the right) select the Format Labels section. Choose Currency as the category and watch the map change. 
  • 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 finish editing the Symbology your map will look something like this 

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 Contents pane with all its associated data intact.

  • Right-click on LEA Totals -  Value and choose Copy.
  • Right-click on the Maps layer at the top of your Contents and select Paste
  • 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_Quantity
  • Double-click on Template to change the color from the one used to visualize the Acquisitions, I chose a dark orange
  • Now you can check and uncheck the boxes next to each layer,  to see how the symbols for a given station 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.

Saving Your Map

  • Click on the Project icon at the top of your menu bar and choose Save. If you are on your own laptop and don't plan on sending yourself a copy of your file to open elsewhere, you're all set. However, if you want to open this project file in another computer, or if you want to send your professor your project because it's finished or because you have a question, this is only part of what you need to do to ensure that you'll be able to access the project later. The other steps will need to occur in Windows Explorer, so exit ArcGIS Pro. 
  • Navigate in Windows Explorer to the path that your project was saved to at the beginning of this lesson and locate the folder NYBaseMap
  • Click to open it and make sure that your project file and the csv files for 1033_NY_PoliceStationsAndCoordinates.csv are both present in the folder. 
  • Go back up a level to where your NYBasemap older is located. Right-click on the NYBasemap folder and choose Send to and select Compressed (zipped) folder.
  • Windows will create a zip file of your project folder with your project file in it along with all the other files that it depends on. This zip file is what you will want to save to your Google Drive or flashdrive in order to access this project later if you are not just using ArcGIS Pro on your personal computer.

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. Note that it's in project file NY1033_DataAll

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 Joins and Relates -> Spatial Join
  • In the Spatial Join  window make sure the first dropdown has Counties selected. 
  • For Join Features,  select the layer  NYPoliceStations_1033_All since that has each police station's location and each record of a shipment associated with it.
  • Make the Output Feature Class end with County
  • Choose Join one to one and that your Match Option is Contains
  • Then under Fields, you'll be choosing which fields you want in this layer. Similar to the summarize table, you'll want to choose Acquisition Value  and change the Merge Rule to Sum. Do the same for Quantity. Everything else in the second half of the table (so not the headings from County), you'll want to get rid of it, by clicking on it and choosing the X . This starts with Agency_Name
  • When it's configured, choose OK, the process will run and a new layer will appear on your  map. Right-click on it and choose Attribute Table. At the very beginning there will be a new field called Join_Count, this contains how many records from the 1033 table appeared in that county, and the Quantity and Acquisition_Value fields contain totals for the police stations that fell within that county.

When the CountyTotals layer is added 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
  • Right-click on the CountyTotals layer and select Symbology
  • Go to Graduated Symbols in the Primary Symbology menu. Select Join Count as the Field to display. This is the field you created in your previous exercise that has the sum total of the amount of orders for all the datapoints that fall within that county . Use the Classes dropdown to give it 7 classes.
  • Click on the last icon, the one that says Advanced symbology options when you hover me and off that menu and click on Format Labels. Set the category as Currency and click OK 
  • Click on the dot under Template and change the Color to one of the reds

When you finish, your map will look something like this

A reason to choose graduated symbols despite the fact that you are visualizing regional data instead of point data is so that you can then put other county-level data beneath that data, 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

  • Right-click on Counties in the Base Map from NY.GOV layer and choose Symbology.
  • In the Primary Symbology dropdown, select Graduated Colors. 
  • For the Field select ArrestsByP, since this field contains the number of arrests per capita for each county in 2020 (this was calculated in a previous tutorial). 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. 
  • Use the Advanced Symbology options (the last icon on the right) to take the decimal places down to 2 places. 
  • In the Classes dropdown select to make 7 classes, and select the Plasma color scheme. Use the More dropdown to reverse it so the smaller numbers have the lighter colors assigned to them. The configuration will wind up something like this. 

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 many shipments from the 1033 program law enforcement agencies in its borders had,  and the level of drug arrests per capita that it had. 


However, look closely at the scale for the graduated symbols,  You're not quite done yet. Notice how the low end of the first scale is set to 0. How many of those tiny dots represent a county with 1 shipment, and how many with 0 shipments? Currently, you don't know, however, there is a way to correct this so only counties that received any shipments from the 1033 program will receive a symbol 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 items with a value of 0 in Join Count however, there will be other cases where it won't be that easily resolvable , so it's good to know the structure of using a Definition Query. 

  • Right-click on CountyTotals and select Attribute Table
  • Take a note of the contents in each column. It looks like Join_Count is the one you need, a nd when you scroll right you'll see that there is never anything but <Null> in the Acquistion_Value or Quantity columns if 0 is the value in Join_Count, so by getting rid of symbols in counties that have 0 in that column means you won't be getting rid of any counties that received any shipments. 
  • Double-click on CountyTotals in the Contents pane and in the Properties window navigate to Definition Query. Click on the button New Definition Query. It will begin allowing you to build a definition query. 
  • This is a place where you can create a rule set for what records in an attribute table, and their counterparts on your map, will be shown. This can be text based, or number based. In this case you want to make it so that counties with a Join Count lower than do not have a symbol included on the map. 
  • Since the field that you want to base your query on is Join_Count,  go to the dropdown menu next to Where and select Join_Count
  • Once you select this, it will give options for what you information you want in that field before something is included, select is greater than or equal to from the dropdown and choose 1
  • When you have it configured like this, click Apply and then OK
  • If you left your Attribute Table open you'll notice that there are now no items where Count_ is 0 left and now on your map, there are a bunch of counties with no dots in them meaning that they received no 1033 shipments in the timeframe included in the dataset. 
  • You'll want to edit the label on the lowest level of dot to just say 1, and change the label from Join_Count to Amount of 1033 Shipments, and your map will wind up looking something like this. 

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? 

Saving Your Map

  • Click on the Project icon at the top of your menu bar and choose Save. If you are on your own laptop and don't plan on sending yourself a copy of your file to open elsewhere, you're all set. However, if you want to open this project file in another computer, or if you want to send your professor your project because it's finished or because you have a question, this is only part of what you need to do to ensure that you'll be able to access the project later. The other steps will need to occur in Windows Explorer, so exit ArcGIS Pro. 
  • Navigate in Windows Explorer to the path that your project was saved to at the beginning of this lesson and locate the folder NYBaseMap
  • Click to open it and make sure that your project file and accompanying CSV and shapefiles are present in the folder. 
  • Go back up a level to where your NYBaseMap folder is located. Right-click on the NYBaseMap folder and choose Send to and select Compressed (zipped) folder.
  • Windows will create a zip file of your project folder with your project file in it along with all the other files that it depends on. This zip file is what you will want to save to your Google Drive or flashdrive in order to access this project later if you are not just using ArcGIS Pro on your personal computer.

If you ran into any issues and need to see how I configured my file the zip file with my project is located below. Note that it's in project file: NY1033_CountyTotals

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 2020, 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 2020 and 2021? 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

  • Unzip and open the map project file in ArcGIS Pro. 
  • In the map file, there is should be has a series of dark green dots law enforcement agencies with shipments from the 1033 program and the group layer underneath that is the base map with the outlines of counties, villages and cities and towns. 
  • Make sure you're in Explore mode and then click on one of the green dots. You'll see that one green dot can represent 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 NYPolice_1033Data and choose 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 2020, the useful data to see if there is any relation between a drug arrest-rate for a county in New York State and more costly equipment being sent to that county would be to look at the shipments sent in 2020 and 2021. We'll want to pull the data for just these years and use them to create separate layers for the map. 

Selecting By Attributes

  • Within the attribute table, click on the first icon to the right of Selection that says Select by Attributes when you hover over it. 
  • This opens the Select by Attributes window for you that gives you the opportunity to put in a query that will select only a certain part of your data 
  • You are looking to create a new selection within the NYPolice_1033 layer, so leave that layer selected, and leave the Selection Type of New Selection in the dropdown
  • You want a selection of just shipments that were made in 2020 or 2021 and that information is in the Ship_Year field. In the Where section, click on the Select a Field dropdown and scroll down the list of field names and select Ship_Year. Since you want either 2020 or 2021, select includes in the next dropdown. That makes the last list a checklist of all the values in Ship_Year. Check the boxes for 2020 and 2021.


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 that had VEHICLE in the Item_Name 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 Apply and then OK, you'll notice that some points are now highlighted in bright blue on the map and some have stayed green. 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.

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 NYPolice_1033 layer in the Contents pane and  choose Data > Export Features
  • By default, if you have only certain features selected, this function will only export those features. Change the end of the Output feature class name to NYPolice_2020_2021 so that you can later tell what it is. It will save to the geodatabase folder that you have set up already. 
  • After it exports, it will automatically add the new layer to the map. To see the difference between the two, uncheck the box for NYPolice_1033. You'll see some of the dots disappear. Close the attribute table for NYPolice_1033 if you haven't already, and open the one for NYPolice_2020_2021 and scroll through to confirm that you only have rows with data for those years. 

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

Symbolizing Unique Values

  • Right-click on NYPolice_1033_2020_2021 and open Symbology from the menu
  • If you want to create symbols that at a glance tell the viewer what year a law enforcement agency received a shipment, you can use Unique Values
  • The division you want to make is between 2020 and 2021 items so in the Field section, you'll want to choose is Ship_Year.  You'll see those two years and <all other values> appear in the Classes section. Right-click on <all other values> and choose Remove  
  • Double-click on the symbol next to each year and make them light and contrasting colors in the Format Point Symbol. 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 a blue color for 2020 and an orange color for 2021. This edits the color the symbol will be. I'll also use this menu to make both bigger, though I'll take care to make the one for 2020 smaller than the one for 2021 so that if a station got a shipment in both years, the dots won't entirely overlap. 

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.

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 to it.  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. In order to display more than just the ship year about these shipments, you'll have to create two different layers one for each year, since ArcGIS Pro won't display both by category (the year) and by numeric amounts (either the acquisition values or items shipped). 

  • First, let's create a new layer to do this Definition Query on by right clicking on NYPolice_2020_2021 and choosing Copy. Then go up to Map at the top of the Contents pane and choose Paste. Uncheck the box next to NYPolice_2020_2021 so you can better see the changes that you are making. 
  • Immediately, rename the new layer to just NYPolice_2020, then double-click on it to open the Properties window, and navigate to Definition Query
  • Choose Add New Definition Query and in the window, use the dropdowns to choose that you want to just display items whose Ship_Year is equal to 2020
  • Once you apply this, the map will change to only show the 2020 data, although the legend on the side will still display both options. Since we made this change in the first place so we could display quantitative data about 2020's shipments, let's edit the symbology by right-clicking on NYPolice_2020 and choosing Symbology
  • In the dropdown change the Primary Symbology from Unique Values to Graduated Symbols, and select that the field you want it based on is Acquisition_Value. Select that you want to break it out into Classes, and use the Advanced symbology options menu to set the numeric value to Currency. Your new map will look something like this. 

  • A neat thing about a Definition Query is it stays on your layer when you copy it. So to create a separate layer for just the 2021 data, right-click on NYPolice_2020, and choose Copy. Like previously, paste it into the Map section, and this time immediately double-click on the new layer to get into the Properties  window and change its name to NYPolice_2021
  • When you navigate to the Definition Query section of the Properties window, you'll see that the Definition Query from the layer you copied this from is present on this layer as well. Since you want to change it to be only displaying 2021's data instead, it's as simple as clicking on Edit next to that Query and switching the last dropdown to contain 2021 instead of 2020  and selecting Apply
  • You'll have to switch the symbols again though to reconfigure it for this layer. So once you've changed the Definition Query, right-click on the NYPolice_2021 layer and choose Symbology. Switch the field in the dropdown to anything else, and then go back to Acquisition_Value, Then use the Advanced symbology options window to switch the numeric format to 
  • You'll want to change the color to something different from the other layer, I selected a light green. 
  • Now you can check and uncheck the layers to see how acquisition values for shipments have differed by year.  Some of the stations received shipments in multiple years, so to see how to display these values side by side in a layout, let's continue to the next section of the tutorial. 


Saving Your Map

  • Click on the Project icon at the top of your menu bar and choose Save. If you are on your own laptop and don't plan on sending yourself a copy of your file to open elsewhere, you're all set. However, if you want to open this project file in another computer, or if you want to send your professor your project because it's finished or because you have a question, this is only part of what you need to do to ensure that you'll be able to access the project later. The other steps will need to occur in Windows Explorer, so exit ArcGIS Pro. 
  • Navigate in Windows Explorer to the path that your project was saved to at the beginning of this lesson and locate the folder NYS_1033
  • Click to open it and make sure that your project file and other files that you used are in this folder
  • Go back up a level to where your NYS_1033 folder is located. Right-click on the NYS_1033 folder and choose Send to and select Compressed (zipped) folder.
  • Windows will create a zip file of your project folder with your project file in it along with all the other files that it depends on. This zip file is what you will want to save to your Google Drive or flashdrive in order to access this project later if you are not just using ArcGIS Pro on your personal computer.

If you ran into any issues and need to see how I configured my file the zip file with my project is located 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

  • Unzip NYS_1033_ForLayouts and open the ArcGIS Project file inside. 
  • This file contains some map layers that will be familiar to you from these tutorials: A map of NY State that shows felony drug arrest rates by county per capita from 2020, a layer that shows the acquisition value of decommissioned military equipment received from the 1033 program from stations in 2020 and one showing the same from shipments received in 2021. 
  • Check and un-check the layers for the point-level data and note that some of these dots are overlapping as there are some stations that received shipments in both 2020 and 2021 so with the current map display, those stations are only showing up once rather than twice, so we'll need to figure out how to display those layers side by side rather than on top of each other. 

Adding a Layout

  • Go to the Insert tab at the top and choose New Layout. From the option window that pops up, select that you want to use Landscape and Letter-sized, and it will open a new window that says Layout at the top. 
  • Normally, the next thing we'd do is use the Map Frame dropdown at the top to add our Map, but a click on that will tell you why that doesn't work. Currently the only other option other than a generic one is our map which features both layers. We'll need to create a second map. 


Adding Another Map and Transferring Layers

Up until now, we've only worked with one map, but in order for there to be two different data frames, we'll have to create a second one. No problem, we can copy layers between maps.

  • Go up to the Insert tab and choose New Map. Right next to the tab for Layout will appear another one that says Map1
  • Currently, this map is blank, but let's populate it with the information that you have on your second map about the felony drug arrest data and the 2021 1033 shipments. 
  • In the original map, right-click on the Counties map layer in the Contents pane and choose Copy
  • Click into the Map1 tab, and in the Contents pane there, right-click where it says Map1 and choose Paste. The counties level data will appear on this map too. 
  • Return to the Map tab and right-click on the Agencies Receiving 1033 Shipments, 2021 layer and choose Copy. Click to un-check this layer so it is no longer visible on your original map. 
  • Go into the Map1 tab, and in the Contents pane, right-click where it says Map1 and choose Paste. The 2021 datapoints of police stations receiving shipments that year will now appear on this map. 
  • Return to the Layout tab, and now when you click on Map Frame, there are two options for map frames that you can add. Map (which has your 2020 1033 data) and Map1 (which has your 2021 1033 data). 

Configuring Two Map Frames in a Layout

Since you are going to want to add a two different map frames and a title and legends to this layout you'll want to add a Guide or two to make it easier to align things. A Guide is a s 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. 

  • You can add a guide to your layout by right-clicking at the point on the ruler where you want a line drawn across your layout. and choosing Add Guide, 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 you'll be able to easily see the point where each map will get half of the layout horizontally.
    • 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. 
  • Once you have those guidelines set up, use the Map Frame option to place Map on the left hand side of the squares set aside in the middle. Clicking on Map in the Map Frame option will let you draw a box where you want that frame to fit. Once you add it there is a new section in your Contents Order pane that contains the information on the layers on this map called Map Frame.  The map might not be totally zoomed in how you'd like right now, but let's add the 
  • Double-click on it to see its options and rename it 2020 Shipments so it's clearer which map frame will control which map.  
  • Next, let's add the second map. Click on Map Frame on the menu bar, and choose Map1. Next, draw a square in the box on the right-hand side of the second half of the chart. 
  • Rename this Map Frame to 2021 Shipments in the Contents Pane
  • For things like symbology within the layers, layer names, whether layers are visible or not, you can adjust those aspects in the Contents pane on the left hand side of the screen. This will also make those adjustments on the Map you are using as the source within the data frame. For instance, uncheck the visibility on the base map layers on each map (the layers World Topographic Map and World Hillshade) so that the emphasis on New York vs. states that border it is clear. When you click into the tabs for Map  and Map 1 you'll see that these layers are turned off there as well.
  • Changes you make to how layers are symbolized will create change both that layer within the map and how it's displayed in the layout. For instance, maybe it took seeing the 2020 map zoomed out like this to realize that making the dot yellow meant that it was going to blend in too much to the counties with a median amount of felony drug arrests. So when we right-click on that layer in the 2020 Shipments and change the color of the dot to purple in the symbology menu, the changes will be in both the originating map and in the Layout view. 
  • In order to do things like pan and zoom in and zoom out on the map within its frame, you'll need to right-click on it and choose Activate. This will make it so that you are only editing that map and other elements in your layout will be greyed out. You can return to the Layout by clicking the link to it at the top next to the arrow. 
  • Let's zoom out so all of New York State so that it's fully visible within the frame. The same as you would in the regular map, right click on Counties in the Contents Pane and choose Zoom to Layer. That will center the state within the frame and zoom out so that all the counties are visible. 
  • If you want to adjust it more granularly than using the mouse's scroll bar or the zoom in and zoom out tools in the Explore window, you can use the dropdown at the bottom. It's a ratio of how many units of measurement one unit of distance on the map translates to the real geographical distance. So if you want the map to be more zoomed in, make the number after 1: smaller, and if you want it to be more zoomed out, make the number after 1: larger. I like the results I get with 1:6,600,000. Once you finish, you can just click on the Layout link at the top of the screen to go back to editing elements about the layout rather than elements about how the map is framed. 
  • Let's do the same for the map frame for the 2021 Shipments. Right-click on it, choose Activate. Use Zoom to Layer on the Counties layer, and then using the dropdown at the bottom to change the scale to 1:6,600,000

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

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 the little box that's an A surrounded by a box that says Rectangular Text when you hover over it. Your cursor will change to a little plus sign, and when you click and hold it will let you draw a box. Draw a box across the top of the layout above the map frames, leaving a small gap. The word Text will appear highlighted at the top, and a new element called Text will appear within the contents page. This will be where you place your title 
  • Type in
    2020 and 2021 1033 Receipts by Law Enforcement Agencies and N.Y. Felony Drug Arrest Rates by County, 2020
  • In the pane to the left-hand side, select the Elements pane, to edit aspects of your text. Choose the section for Text Symbol.  
  • I'll leave the text as the default font of Tahoma, make its size 15 pt, change it to a dark navy color, and horizontally align it in the center of the box. By choosing Apply after each change I can see if they work with its placement on the map. 

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 the icon for Rectangular text again. 
  • Drag this box down to the space at the bottom that you set aside for it.
  • In this case my sources are the below, so I'll use the following. You should be putting in your sources in the Credit sections of the metadata for your layers. 
    Sources: NYS Office of Information Technology Services GIS Program Office (GPO); Division of Criminal Justice Services, New York; Defense Logistics Agency, Law Enforcement Support Office.
  • Use the Elements pane to make the text a small enough size that it fits across one line, and change the alignment to make it centered. 
  • You'll want to make sure you give yourself credit too, of course. So put in your name as the author. Add a new box with Insert and the Rectangle Text option. 
  • Position the box you draw on top of the two map frames, and center it across them. Replace the Text that shows in the box Map by and your name.
  • Use the Font Symbol section of the Element pane to adjust the size and alignment to whatever looks best to you. 
  • In the Drawing Order so you can find these items to reposition or edit them later change the name of the first text layer (Text), to Title, the second (Text 1)  to Sources and the third (Text 2) to Name.  

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 Contents pane. To have clear explanatory text on your legend, click on the titles and headings on each of the visible layers in your Contents pane for your map, and change the language to make it very clear what the symbols in it are representing. In my case I've done that ahead of time, but keep that in mind for your own data when making your own layout. In my case I'll change the heading of Acquisition Value of Shipment  for each of the different options to Acquisition Value of 1033 Shipment(s), 2020  and Acquisition Value of 1033 Shipment(s), 2021 so that the titles on the legends match

You'll now create a separate legend for Acquisition Value of 1033 Shipment(s), 2020  to go under that map frame on the left, for 2020- Felony Drug Arrests Per 100,000 residents to go between the two since the same scale is on both maps, and the last legend for Acquisition Value of 1033 Shipment(s), 2021 to go below that map on the right 

  • Click to highlight  2020 Shipments and go up to Legend at the top. Whichever data frame that you have highlighted is the one that the navigational or chart 
  • Go up to Insert and choose Legend, draw a box  to about 6.5 inches over in the bottom section you have set aside for the legends for your maps. When you release the cursor, it will have drawn the legend for you, but it will need some adjustments. Legend now appears in your Contents pane, and there are different entries for each of the items appearing in the legend. You can toggle between editing the overall box, and the entries for each of the scales depending on which you have highlighted. The Elements pane on the right-hand side is where you can do this editing. 

  • Here are some edits that I'll make. I'll uncheck the box next to Show for the Title, since it's taking up a lot of space and is kind of redundant
  • I'll see what other options are there by clicking on Show Properties under Legend Items. In this menu I can change the order that headings and names appear, and whether they appear. It'll also let me change whether a given scale appears in one column which I want to do for the Counties section of the legend, but not the Acquisition Value section since it has a lot more information. 
  • If I only want to edit one of the sections of the legend, it's as simple as clicking on that section on the Contents pane, and then making the edit in the elements pane. I'll do that now to put the Counties legend in one column. 
  • To go back to editing the whole legend, you can go back to the top level and highlight that section in the Contents pane. I'll do that to change the Size to 12 pt in the Text Symbol section. 
  • Let's name this Legend 2020 Legend in the Contents Pane so we won't be confused when we move to the next section. 
  • Click on 2021 Shipments in the Contents Pane and choose Insert and Legend. Draw the box under the right-hand side map in the space left over after the other map section. Rename it 2021 Legend in the Contents Pane
  • It includes the Counties section too, but just uncheck the section for that and it will disappear. 
  • Follow the same steps as the previous, hide the title, and make the minimum font size 12 pt

Now you've added the legends for your two maps. 

Adjusting the Scales 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 Long island in  2021 than 2020, but then look at what the largest dots mean on our two scales? What about the smallest?

In 2020, largest class of shipments went from 135,000 to 705, 421. In 2021 it only went from 87,409 to 126,462. The same sized symbol on each map for the maximum number represents very different amounts in terms of the value of equipment. 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 symbology here so that they show a more accurate representation. Take a look at the distribution of the acquisition values across the attribute table for each year, and see what makes sense to you. I've created the below scale system doing that to try to create a scale that as much as possible has meaning across both of the years. 

Size of symbol Upper Value (note: 2021 chart doesn't contain the top class)
4 550
5 1,250
7 5,025
9 9,000
11 20,000
12 44,994
15 77,060
17 135000
22 705421

So edit the symbology for each year's Acquisition Value symbol by going into the Symbology tab for each class, choosing that you want to divide it into 9 classes for 2020, 8 for 2021. Then in each choose that the Method will be Manual, and adjust the upper range, starting from the highest amount and working your way down.

Change the symbol sizes by double-clicking on the symbol in the Classes, and then editing it in the Format Point Symbol menu under Size.

This newer version of the map makes it a bit more evident what the different monetary amounts between the shipments in the two years were. 

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. 

  • Click on the 2020 Shipments map frame in the Content pane to highlight it, then go to the Insert menu at the top and choose Scale Bar. Click and drag to draw a scale bar at the bottom of that map frame. The scale bar is dynamic so if for some reason you decide to zoom in or out in this map frame, the scale bar will change to stay accurate.
  • For the North Arrow, go up to the Insert menu and select North Arrow. Drag and draw it above your scale bar in your 2020 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. 
  • Click on the 2021 Shipments map frame in your Contents pane. This will ensure that the Scale and North Arrow that you are about to add are for that data frame and not the 2020 Shipments 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 Bar and North Arrow for your 2021 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 right-clicking on the top ruler and choosing Remove all Guides

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

Exporting Your Layout

Options for exporting your layout live in the Share tab. Here you will have options to print it, to export it in a variety of formats, or just simply use Capture to Clipboard if all you want to do is copy it so you can paste it into an email or research paper. 

Saving Your Map

  • Click on the Project icon at the top of your menu bar and choose Save As, and make sure that you are saving this map within the NYS_1033_ForLayouts folder that you are using. If you are on your own laptop and don't plan on sending yourself a copy of your file to open elsewhere, you're all set. However, if you want to open this project file in another computer, or if you want to send your professor your project because it's finished or because you have a question, this is only part of what you need to do to ensure that you'll be able to access the project later. The other steps will need to occur in Windows Explorer, so exit ArcGIS Pro. 
  • Navigate to the path that your project was saved to at the beginning of this lesson, and locate the folder NYS_1033_ForLayouts. 
  • Click to open it and make sure that the shapefile and the csv file that you used are located within it. 
  • Go back up a level to where your NYS_1033_ForLayouts folder is locatedRight-click on NYS_1033_ForLayouts and choose Send to and select Compressed (zipped) folder
  • Windows will create a zip file of your project folder with your project file in it along with all the other files that it depends on. This zip file is what you will want to save to your Google Drive or flashdrive in order to access this project later if you are not just using ArcGIS Pro on your personal computer. 

The way I constructed it is in the zip file 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.