Analytical Techniques

Studying Development Scenarios in Context

We are concerned with the development intensity in specific parts of town. By comparing the development mix in a neighborhood. Comparing this mixture with that of the region as a whole we may learn something about the way our neighborhood functions, and the role it plays in the region. Similarly, we can compare the existing pand use mixture with the mixture that would be allowed if the neighborhood were completely built out to the uses and densities allowed by the zoning ordinance. To accomplish this we will take the assessor's parcel data to represent one development scenario, we will call 'Existing Land Use', and the zoning provides a model we call 'Build Out.' We know that neither model is perfect, and yet these models may be interesting starting place for a discussion.

We will perform a series of operations on this model to extract a summary of Gross floor Area per land use category. Then we can repeat a similar chain of operations on a zoning map, in which we use the permissable uses and floor area ratios as a model of a scenario we can call "Buildout." Again, this model is not perfect, but it may be a useful representaiton of the regulatory landscape. How do these two scenarios compare? SImilarly we can compare the neighborhood summary with the land-use mixes of the region as a whole. What would this tell us about the role of our neighborhood within the region?


This tutorial builds on ideas covered in the preceding tutorials: Beginning a Place-Based Data Collection and Thematic Mapping of Nominal Class Data, Thematic Mapping of Quantitative and Intensive Statistics

References and Deeper Reading

Download Sample Data

Right Click Here to download the sample dataset. Extract its contents to your working folder in C:\work\ folder.

Geodatabase Feature Classes

Before we dig in to modeling with GIS, it wil lbe useful to look at a new way of storing tables and feature-classes in ArcGIS. Until now we have been looking at shape files, which, as you have seen appear to be a bunch of files in the file system, but to arcmap appear to be a collection of rows in a table, where each row has a collection of attributes plus a specific type of geometric feature. Because the rows in a table each represent a real-world feature of a specific type, a table of this kind is klnown as a Feature Class. As it happens, a Shapefile feature class is a relatively old (and reliable) way of encoding and exchanging feature classes. IN this exercise we are going to look at a newer way of storing feature-classes, in a Geodatabase. Geodatabases have advantages that field names can be longer than 9 characters, and also that each polygon feature calculates its area. More discussion of the pros and cons of shapefiles versus geodatabases can be found in the page, Formats for Geospatial Data.

Before we begin this tutorial, we will practice creating a geodatabse feature class and then using the ArcMap editing tools to create a new polygon. Then we will see how this polygon reflects its area in the Shape_Area field.

Note: the interface for editing inarcmap is a little complicated. If all you want to do is quickly create a feature-class with one polygon in it, you can accomplish this more easily by creating the polygon with the draw tools, and turning it into a feature following the procedure described in Convert Graphics to Features.


  1. Open a blank arcmap document and add a bingmaps layer from ArcGIS on-line for reference.
  2. Create a folder for yourself in the same parent folder as our gis_tutorial database. Name this folder with your initials.
  3. Find your folder using ArcCatalog.
  4. Create a new Personal Geodatabase named "neighborhood"
  5. Create a new polygon feature class in your geodatabase. When asked to define the spatial reference, choose Projected->State-Plane ->NAD_1983 (US Feet) -> Massachusetts State Plane
  6. Right-click your new feature class in the table of contents and choose "Start Editing"
  7. Create a polygon in your feature class that represents the boundary of the neighborhood you will study.
  8. Choose Stop Editing from the Editor toolbar.

Representing Existing Development Load Per Land Use

Our next step is to think about how the components of our conceptual model might be represented with data and operations. Our sample dataset several geodatabase featuere classes in the folder gsd_metromodel. The Parcels_ft feature class is a compilation of parcel layers collected from the assessing offices from Boston and each of the surrounding towns. Each parcel is represented as a row in this table, and has attributes including Shape_Area and Gross_Floor_Area, and a land use code that is assigned according to the Massachusetts Department of Revenue Coding Scheme. Yours truly has included a lookup table, dor_class_lut in the same geodatabase that provides several ways of recategorizing the very-fine-grained D.O.R. classes. Note that one problem with the tax assessor data is that the assessor is not so concerned with non-taxable land, and the towns sometimes use non-standard or vague codes to with reference to tax exempt property. Nevertheless, the tax assessor's data is usually the best inventory of property and especially of the gross floor areas that we can get without doing costly field surveys.

Calculating the development load in a specific region of town involves selecting the parcels of interest, and summarizing the GFA in those parcels. At the simplest level this calculation could be done with the Calculate Statistincs function. If we like, the Summarize Values tool can prepare across tabulation of area per land use. Because the DOR land use codes are so diverse, we will join our parcels with the dor_class_lut lookup table, before summarizing. This will provide general land use categories that will be easier to understand.


Explore the Parcel Table as Representation of Current Development Intensity

  1. Open the Compilation.mxd in the gis_tutorial/docs folder. Find the parcels layer in the gsd_metromodels group layer.
  2. Open the Attributes table for your parcels layer.
  3. Explore the attributes for parcels such as Gross_Floor_Area, Shape_Area, and Land_Use
  4. Flip your table of contents to Source View and find the dor_code_lut lookup table
  5. Join the DOR Code Lookup table to the parcels layer. The Field, Land_Use in the parcels table provides a link to the dor_code field in the DOR lookup table.
  6. Make a land use map. For a good time, import the land use symbology from the layer, pbc_land_use.lyr that is in the folder gsd_metromodel in the tutorial dataset.
  7. Use Selection > By Location to select the parcels within your neighborhood. Note you may need to shift-click parcels around the edge to add or eremove them from the selection, depending on how this selec-by-location worked.
  8. With that set of parcels selected, right-click the parcel layer and choose Selection > Create Layer from Selected Features to create a view of your parcels layer that shows only the parcels in your neighborhood. that holds just your neighborhood parcels.
  9. Import the symbology for your new layer as needed to cause your neighborhood subset and the regional layer to have the same symbology. You can adjust the transparency (Layer Properties > Display > Transparency) of the outer set of parcels to cause them to dim.
  10. Right-click the pbc_code field, choose Summarize Values to create a summary of the GFA for each of the land use categories. Save this table as a dBase format table in your folder.
  11. Do a similar summary based on the regional subset.
  12. Open these two tables and join them together based on the common pbc_class field. Export this joined view as a dBase table.

Spreadsheet Analysis: Comparing the Local Mix with the Regional

The summary tables that we made in the steps above can be used to make some charts that say something about the mix of land uses in the neighborhood and the region. Within a specific area, the proprtions of GFA for specific uses can be used to say something about the way the neighborhood functions internally. The local fraction of a specific land-use type within a neighborhood might be computed as:
Local Fraction(X) = Total GFA of Land Use x of the neighborhood / The total GFA of the neighborhood
And the same computation can be calculated for the land use fractions of the reference region.
Reference Fraction(X) = Total GFA of Land Use in region x / The total GFA of the region
If we then look at how the local fraction compares with the regional fraction for a given land use, we have something called the Location Quotient.
Location Quotient for Use X = Local Fraction (X) / Reference Area Fraction (X)
A location Quotient higher than one indicates that the neighborhood is carrying a greater than average share of the particular thing in question.


A Simple Spreadsheet Example

Critiquing the Model and Data

In the example above, we have considered the tax assessor's observations of land use and gross floor area as a representation of the existing activities in the neighborhood and region. And of course we should critique this. It is not perfect, but it can be argued that it is worth doing, both from the perspective of understanding the neighborhood and region in question. It is also worth doing as an exercise in understanding data and models. If we feel that because of data problems, that the information we have gained does not carry a high degree of confidence, then we should go from that conclusion to saying something about how our data or our associative capabilities could be improved.

Experimenting with Build-Out Scenarios

To take this a step further, we could use the same or similar strategy for experimenting with various scenarios. For example, we could play developer and change the land use or GFA of specific parcels and observe the effect in our map and our totals. Similarly, we could take the zoning map, and multiply out the permitted Floor Area Ratio by the area covered by each district, to simulate a build-out scenario. Scenarios of this sort may not be realistic, but could be considered as one means of understanding how zoning may be promoting or preventing various alternative futures.