Create the territories
First, you'll create feature classes to contain the enumeration area territories you want to balance. You'll prepare these territories by adding variables for the number of households and buildings, which is essential information for any census. You'll also create a second level of territories for supervisor areas so enumerator progress can be tracked by supervisors in the office.
Note:
The tutorial Edit features to create enumeration areas covers manually creating enumeration areas with editing tools. This tutorial will focus on automated creation with geoprocessing tools.
Download the data
First, you'll download building and road data for Carriacou, an island that is part of the country of Grenada. Normally, a national census would cover the entirety of a country, but to keep processing times low, this tutorial will focus on Carriacou only.
- Download the Grenada Census Project project package.
- Locate the downloaded file on your computer.
Note:
Depending on your web browser, you may have been prompted to choose the file's location before you began the download. Most browsers download to your computer's Downloads folder by default.
- If you have ArcGIS Pro installed on your machine, double-click Grenada_Census_Project.ppkx to open the project. If prompted, sign in using your licensed ArcGIS account.
Note:
If you don't have access to ArcGIS Pro or an ArcGIS organizational account, see options for software access.
The project contains a map showing Carriacou. Carriacou is home to about 10,000 people, with its primary settlement being Hillsborough.
The map contains three layers: Building Points, Major Roads, and Boundary. The building points will be important for determining whether enumeration areas have a balanced number of dwellings, while the major roads will be used as barriers to ensure enumerators won't need to cross a highway when covering their area on foot. The boundary will be used as a mask for the analysis results, ensuring your territories don't extend past the island.
You'll open the attribute table for the building points to become more familiar with the data.
- In the Contents pane, right-click Building Points and choose Attribute Table.
The table appears. It contains the attribute data associated with the building points. This includes fields for the building number, the enumerator's name, the building type, the number of dwellings, and the occupancy status.
These fields are useful to enumerators. Of particular note is the Number of Dwellings field. Buildings such as apartment complexes may contain multiple dwellings within a single structure, while single-family homes usually contain only one dwelling. It's important to account for the number of dwellings when balancing enumeration areas.
- Close the table.
Query the buildings
Your census is only interested in residential buildings that are currently occupied. Before you begin creating territories, you'll create a definition query to filter out buildings that don't meet those criteria.
- In the Contents pane, double-click the Building Points layer.
The Layer Properties window for the layer appears.
- Click Definition Query.
- Click New definition query.
Your query will have two clauses. The first will ensure only occupied buildings are shown, while the second will ensure only residential buildings are shown.
- For Query 1, create the query Where Occupancy Status is equal to Occupied.
- Click Add Clause. Create the clause And Building Type is equal to Residential.
- Click Apply. In the Layer Properties window, click OK.
The query is applied. Most buildings on Carriacou are residential and occupied, so the change may not be noticeable on the map. Now, however, you can be confident that only buildings relevant to your census are shown.
Tip:
If performing this workflow with your own data, you should check whether the buildings layer uses points or polygons. If polygons, you should run the Feature To Point tool on the data to convert it to a point layer. If you're using the Grenada data that was provided with the tutorial, you don't need to run the tool.
Create a territory solution
Next, you'll begin designing your enumeration areas using territory design tools. The first step is to create a territory solution. A territory solution is a layer (or a group of layers) that contains all the information about a territory. The territory solution you create will be empty at first; later, you'll run more tools to add information to it.
- On the ribbon, click the Analysis tab. In the Geoprocessing group, click Tools.
The Geoprocessing pane appears.
- In the Geoprocessing pane search bar, type Create Territory Solution. In the list of results, click the Create Territory Solution (Territory Design Tools) result.
Note:
The territory design tools used in this tutorial require the Business Analyst extension to be enabled for ArcGIS Pro. If you need to enable the extension, contact your ArcGIS organization administrator.
- For Input Features, choose Building Points.
A message confirms that the data has a filter and indicates the number of records that will be processed.
- For Territory Solution Name, type Enumeration Areas.
You'll also add a boundary mask using the boundary layer. This mask will ensure all analysis results are kept within the boundaries of Carriacou.
- For Boundary Mask, choose Boundary.
You'll leave the other parameters unchanged. Most of these parameters allow you to set the names of the elements in the territory solution; the default names are fine.
- Click Run.
The tool runs. The Enumeration Areas group layer is added to the Contents pane. It contains four layers. The Building Points layer is the base layer and contains a copy of your building points. As the base layer, it is the base geography on which all territories and levels will be based. The Boundaries of Building Points layer uses the boundary mask to create polygons. Each building point has a polygon grouped around it, containing areas that are closest to that building.
Note:
Your default symbology may differ from the example image.
The other two layers are empty by default; you'll add information to them later. The Territories layer will contain your territories (in your case, the enumeration areas). The Levels layer can contain additional territories at a different level and is useful for managing a hierarchy of territories, such as states and counties.
Add variables for territories
To create balanced enumeration areas, you need to define variables that can be used to determine whether an area is balanced. The key variables you'll use are the number of dwellings and the number of buildings in each area. Your building points layer contains this information in its attributes, so you can use it to set the variables for your territories layer.
- In the Geoprocessing pane, click the Back button.
- Search for and open the Add Level Variables (Territory Design Tools) tool.
Tip:
You can also access this and other territory design tools from the Territory Design contextual tab on the ribbon.
Although the tool name says level, you can use it to add variables to either the territories or levels layer.
- For Input Territory Solution, choose Enumeration Areas.
- For Level, choose Territories[1].
By default, the Base Level parameter is populated with Building Points[0]. The [0] and [1] notations indicate the level of the layer in the territory solution's hierarchy. The base level is [0], the territories layer is [1], and subsequent levels layers can be [2], [3], and so on, depending on how many levels you create.
Next, you'll choose the variables to add to the territories. These variables will be based on attributes in the base layer, with some sort of calculation applied to them. In your case, you want each enumeration area to have a similar number of dwellings, so you'll set a variable that finds the sum total of the Number of Dwellings attribute.
- Under Variables, for Statistic Field, choose Number of Dwellings. For Statistic, choose Sum.
The number of dwellings is one of the most important variables for balancing enumeration areas, but it's not the only one. You also want to take into account the number of buildings. If an enumerator has to walk between 50 separate buildings to complete their work, they'll have a significantly more difficult time than an enumerator who is covering 50 dwellings in a single apartment complex.
Your building points layer doesn't have an attribute for number of buildings because each point represents a single building. To set a variable for the number of buildings, you'll set a variable that counts the building points layer's unique ID field. Because each building has a unique identifier, this variable will accurately give you the count of buildings in each enumeration area.
- Under the first variable, click Add another.
- For Statistic Field, choose OBJECTID. For Statistic, choose Count.
You'll also change the field name and alias for this variable to be more descriptive.
- For Field Name, type num_buildings. For Field Alias Name, type Number of Buildings.
- Click Run.
The tool runs. No change is made to the map, but the variables have been added to the attribute table of the Territories layer. (If you want, you can open the table to confirm.)
Create another level
Your territory solution allows for the creation of multiple levels. The first level, [1], is for your enumeration areas. Before you continue with balancing enumeration areas, you'll create another level. This level will be for supervisor areas.
Supervisors review the results of each enumeration area and are invaluable to ensuring an accurate census. Often, one supervisor will handle multiple enumeration areas, meaning that supervisor areas are higher hierarchical level. Depending on your census's reporting structure, you may have multiple hierarchical levels of supervisors. For the purpose of this tutorial, however, you'll create only one additional level.
- In the Geoprocessing pane, click the Back button.
- Search for and open the Add Territory Level (Territory Design Tools) tool.
- For Input Territory Solution, choose Enumeration Areas. For Level Name, type Supervisor Areas.
The default territory name is Territory %Number%, meaning territories will be named Territory 1, Territory 2, and so on. To avoid confusion with your other territories layer, which is for enumeration areas, you'll change the name.
- For Default Territory Name, type Supervisor Area %Number%.
- For Primary Feature Class, choose Territory Boundaries.
- Click Run.
The tool runs. The new territory level is created and added to the Contents pane. Like the enumeration areas territories, you'll add level variables that can be used to define the supervisor areas.
- In the Geoprocessing pane, click the Back button. Search for and open the Add Level Variables (Territory Design Tools) tool.
- For Input Territory Solution, choose Enumeration Areas. For Level, choose Supervisor Areas[2].
The variables you add will be similar to those you added for the enumeration areas. You'll add a variable that finds the sum of dwellings in each supervisor area. Instead of a variable that finds the count of buildings, however, you'll add one that finds the count of enumeration areas. Each supervisor area will have a balanced number of enumeration areas in it, with a balanced number of dwellings.
- Under Variables, for Statistic Field, choose Number of Dwellings. For Statistic, choose Sum.
You'll change the name of the output field to differentiate it from the field you used for dwellings in the enumeration areas layer.
- For Field Name, type num_dwellings_sa. For Field Alias Name, type Number of Dwellings (Supervisor Areas).
Like the variable that counted buildings, you'll use an ID field to create a variable that counts enumeration areas.
- Click Add another. Add a variable with the following parameters:
- For Statistic Field, choose ID.
- For Statistic, choose Count.
- For Field Name, type num_eas.
- For Field Alias Name, type Number of Enumeration Areas.
- Click Run.
The tool runs and the variables are added to the Supervisor Areas layer.
- On the Quick Access Toolbar, click the Save button.
You've now created a territory solution with a base layer of building points and two levels: territories (enumeration areas) and supervisor areas. You've also added level variables that will help you define and balance each territory. Next, you'll balance the territories.
Balance the territories
Currently, your territories are empty feature classes. You'll balance them using the variables you set. You'll also use the major roads as barriers, as enumerators on foot might have trouble crossing them.
Weight the variables
First, you'll set the weight of each variable for determining territory balance. Your enumeration areas have two variables: number of buildings and number of dwellings. The number of dwellings is more important, as each enumerator should have a similar number of households to cover. The number of buildings is still important, as it takes more time to walk from building to building than to cover multiple dwellings in a single building, but it's of less importance than the number of dwellings. You'll establish a weight for each variable to account for this difference.
- In the Geoprocessing pane, search for and open the Set Balance Variables (Territory Design Tools) tool.
- For Input Territory Solution, choose Enumeration Areas. For Level, choose Territories[1].
Next, you'll set the weight for each variable. The weight is expressed with a number between 0 and 100, with 100 being the highest. The total amount of all weights added together should equal 100, similar to a percent.
- Under Balance Variables, for Variable, choose Number of Buildings. For Weight, type 10.
- For the next variable, choose Number of Dwellings. For Weight, type 90.
The two weights, 10 and 90, add up to 100.
- Click Run.
The tool runs and the weights are set.
Set constraints
Next, you'll determine the values for each variable that are considered balanced. Exactly how many dwellings and buildings should there be in each enumeration area for it to be considered balanced? By setting territory attribute constraints, you can define the ideal value for each variable, as well as the minimum and maximum allowed values if the ideal value isn't possible.
- In the Geoprocessing pane, search for and open the Set Territory Attribute Constraints (Territory Design Tools) tool.
- For Input Territory Solution, choose Enumeration Areas. For Level, choose Territories[1].
The Constraints section is automatically populated with the two variables you added, as well as their weights.
For the number of buildings, you'll leave the ideal value empty. The number of buildings may vary considerably by whether an area is urban or rural, so there is no ideal value that will be appropriate for all areas. You do want to ensure that there aren't too many buildings that the enumerator has to travel to, so you'll set a minimum and maximum value.
- Under Number of Buildings, for Minimum, type 1. For Maximum, type 50.
For the number of dwellings, you ideally want each enumerator to collect 80 dwellings. However, it may not be possible for each enumeration area to cover exactly 80 dwellings, so you'll add minimum and maximum values as hard limits. You'll choose a minimum of 30 dwellings and a maximum of 100.
- Under Number of Dwellings, set the following parameters:
- For Minimum, type 30.
- For Maximum, type 100.
- For Ideal Value, type 80.
- Click Run.
The tool runs. As before, there is no change visible on the map. However, the values you chose will be used when you create the territories.
Add barriers
Because enumerators work on foot, major roads and highways can be difficult to cross and impede the process of enumeration. The best way to avoid this issue is to design enumeration areas that don't cross any major roads. You'll add the major roads layer that came with your project package as barriers for the design of your territories.
- In the Geoprocessing pane, search for and open the Add Territory Barriers (Territory Design Tools) tool.
- For Input Territory Solution, choose Enumeration Areas. For Level, choose Territories[1].
- For Input Barrier Features, choose Major Roads.
The next parameter defines what type of barrier your input features are. The options are impedance, which limits territories from expanding past the barrier, or restricted area, which prevents the creation of territories altogether. Your roads are an impedance, as you're only concerned with making sure enumerators don't have to cross them.
- For Barrier Type, confirm that Impedance is chosen.
- Click Run.
The tool runs and the barriers are added to the map as the Line barriers for Territories layer.
Solve the territories
You're ready to create the territories.
- In the Geoprocessing pane, search for and open the Solve Territories (Territory Design Tools) tool.
This tool both creates territories and adjusts existing territories if you later decide you want to change the variable weights or constraints you previously set. (When it comes to setting weights and constraints, it may be good to experiment until you find the values that create the best territories for your needs.)
- For Input Territory Solution, choose Enumeration Areas. For Level, choose Territories[1].
You can define the number of territories to be created in two ways. With the User Defined method, you set the number of territories yourself. With the Optimal method, the tool will use your weighted variables and attribute constraints to mathematically determine the most balanced number of enumeration areas.
In this scenario, assume that you know that you can hire at most 700 enumerators, so you want no more than that number of territories. In this case, it's best to define the number of territories yourself. If you didn't know how many enumerators you had available, choosing the other method might be more useful.
- For Number of Territories Method, confirm that User Defined is chosen.
- For Number of Territories, type 700.
- Click Run.
Note:
Because this tool processes all the data and creates the territories, it may take a few minutes to run. It will take more time to run if you have more building points.
The tool runs. When it finishes, the Territories layer is populated with 700 territories, which are displayed on the map as multicolored points.
The tool was completed with warnings. You'll investigate those warnings before proceeding.
- At the bottom of the Geoprocessing pane, under Solve Territories completed with warnings, click View Details.
A window appears with information about the tool you ran. It contains a warning that a certain number of territories have not met the requirements of the constraints you set.
This warning means that, of the 700 territories you created, some were unable to meet the minimum and maximum requirements for the number of buildings and dwellings. Changing the constraints or the number of territories and running the tool again might help resolve this warning.
- Close the window.
Next, you'll examine the territories on the map. At this zoom level, many of the points overlap, so it can be difficult to fully understand the results.
- On the ribbon, click the Map tab. In the Navigate group, click Bookmarks and choose Hillsborough.
The map zooms to the cluster of points on the central northern coast of Carriacou.
This area is Hillsborough, the main settlement on the island. At this zoom level, it's easier to see the individual points. Each point corresponds to one of your building points. Points with the same color are located in the same territory.
- Click any point on the map.
The pop-up tells you the total number of dwellings and buildings in the territory.
- Click a few more points in different territories. For each territory you examine, note the number of dwellings and buildings it contains.
Some territories have fewer than the minimum number of dwellings you set; these territories are the ones that were accounted for in the tool's warning.
- In the Contents pane, right-click the Territories layer and choose Attribute Table.
The attribute table is populated with information, including the number of dwellings and number of buildings in each territory. The Territory Validation Errors field lists any errors the territory has.
- Scroll through the table and notice any values in the Territory Validation Errors field.
Any features with an error are the ones that were referenced in the warning. You can reduce the number of territories and run the Solve Territories tool again to improve the results.
- Close the attribute table and any open pop-ups. On the ribbon, click Bookmarks and choose Carriacou.
You return to the full extent of the island.
You can rerun the Solve Territories tool with a smaller number of territories to resolve the errors you saw. Because the tool takes a long time to run, this next step is optional for the purposes of this tutorial.
- In the Geoprocessing pane, change Number of Territories to 550. Click Run.
Note:
Your warning may show different numbers.
After the tool finishes running, the warning informs you that there are less territories that didn't meet the requirements than when you ran the tool with 700 territories. Further adjustment to the number of territories may resolve the remaining errors, but for the purposes of this tutorial, 550 territories is sufficient.
Set territory level options
Previously, you created a second level in your territory solution for supervisor areas. You'll run a tool that allows you to later calculate supervisor areas based on a certain compactness of enumeration areas. By requiring a more compact group of enumeration areas for each supervisor area, you can increase the efficiency of the census.
- In the Geoprocessing pane, search for and open the Set Territory Level Options (Territory Design Tools) tool.
This tool has a few options for defining how territory levels are set. You're primarily interested in the field that determines compactness.
- For Input Territory Solution, choose Enumeration Areas. For Level, choose Territories[1].
Compactness is determined on a level from 0 to 100, with 0 being the least compact and 100 being the most. The default value is 75, but you'll increase it.
- For Compactness, type 90.
The Fill Extent Automatically parameter automatically assigns features to their nearest territory. Checking this parameter will also increase compactness.
- Check Fill Extent Automatically.
- Click Run.
The tool runs and the options are set.
Finalize the territories
You've set all the parameters you need to create balanced territories. Next, you'll create a feature class that contains the finalized territory boundaries, which you can send to your enumerators.
- In the Geoprocessing pane, search for and open the Create Territory Level Feature Classes (Territory Design Tools) tool.
- For Input Territory Solution, choose Enumeration Areas. For Level, choose Territories[1].
You can choose what type of feature class to create. The options include territory boundaries, which will create a feature class with polygons that encompass each enumeration area, and territory centers, which will create a feature class with a point at the center of each territory. You'll create a feature class showing boundaries.
- Under Feature Classes, check Territory Boundaries.
- Click Run.
The tool runs. The territory boundaries are added to the map as the Boundaries of Territories layer.
Note:
Your results may differ from the example image depending on the number of territories you used.
In some of the more rural areas, individual territories cover a much larger area than those in the more densely populated Hillsborough. This discrepancy in size is difficult to avoid, even with balanced territories, but your results are significantly more balanced than they would have been otherwise.
Note:
Optionally, you can repeat the workflow in this module for the second level of territories you created (supervisor areas). You can weight the variables based on the appropriate number of enumeration areas in each supervisor area, set constraints, and add any relevant barriers, before solving the territories.
- Save the project.
In this tutorial, you created territories for a national census. By using building point data, you created a territory solution and added relevant variables to define how those territories will be balanced. Then, you weighted the variables, set constraints, and added barriers. After you solved the territories and investigated issues, you exported the territories as a new feature class.
This workflow can be used to create enumeration areas for any area of interest, as long as you have building point information with accurate data on the number of dwellings in each building. The constraints you set and the number of territories you create will depend on the number of enumerators you have available. Your area may also have other natural barriers, such as mountains or rivers, that you can use as barriers for creating enumeration areas.
You can find more tutorials in the tutorial gallery.