UPlan - Urban Growth Modeling

UPlan is a simple rule based urban growth model intended for regional or county level modeling. Originally conceived by Prof. Bob Johnston, it has now been programmed by a long list of folks. Currently UPlan is being maintained by Nathaniel Roth and under the direction of Michael McCoy at the Information Center for the Environment, UC Davis.

Simple Version of how UPlan Works.... The needed space for each land use type is calculated from simple demographics and assigned based on the net attractiveness of locations to that land use (based on user input), locations unsuitable for any development and a general plan that determines where specific types of development are permitted.

The most recent version is: 2.64f Released 03/25/2008
Bug Reporting or Feedback: neroth@ucdavis.edu

System Requirements

  • ArcGIS 9.X
  • ArcGIS Spatial Analyst Extension
  • MS Excel (for reports)

New Features in UPlan 2.6

Variants

  • The ability to add or remove land uses of either a residential or employment type
  • Custom control over the number of attraction/discouragement groups and what land uses they apply to

Subareas

  • Employment can be explicitly assigned to subareas

General

  • Fixed employment increases
  • Buffer class copying: A set attraction or discouragement buffer and weight set can be copied directly to another buffer class

Transport Model Export

  • Improved handling of exports for subarea model runs
  • Default export: An unmodified export of UPlan outputs by TAZ computed directly from input values used in the model run.
  • For more details see TAZExport

Custom export

  • Remap UPlan outputs to an existing TAZ database structure
  • Manipulation of values through algebraic formulas
  • Saving export configurations for reuse with subsequent model runs

Projects Using UPlan

Current Projects using UPlan:

Blueprint:

  • San Joaquin Valley: San Joaquin, Stanislaus, Merced, Madera, Fresno, Tulare, Kings and Kern Counties
  • San Luis Obispo County
  • Shasta County
  • Tuolumne County (closely linked to the Amador, Alpine and Calaveras counties project)
  • Lake County

Cooperative Planning:

  • Amador, Alpine and Calaveras Counties

Sacramento River Watershed Project:

  • Used at ICE for a broad look at the Sacramento River Watershed.

Old Projects:

San Joaquin Valley Partnership

  • Used at ICE for a broad look at scenarios in the San Joaquin Valley

Delaware Valley Transportation Commission

Merced Partnership in Planning (PIP)

Transport Analysis Zones (TAZExport)

The Transportation Analysis Zone Export (TAZExport) function was created to provide support for the conversion of UPlan output into the existing structure of a Transportation Analysis Zone (TAZ) table. TAZExport makes the export of UPlan outputs into a TAZ both simple and repeatable. The TAZExport module enables mapping UPlan output values to fields within a TAZ table including manipulating values through constructing mathematical formulas.

Default Export

The default export provides a simple export based entirely on computations made using the input values for the UPlan run being exported. A table called “DefTAZExport” is created within the collection of stand alone tables in the run’s data frame. This table can then be exported to .dbf for further conversion to excel or for import into another procedure.

Custom Export

The custom export function begins with creating the DefTAZExport table identically to the default export. Then the structure from an existing TAZ table is imported. The final output will maintain the same fields and field types as this input.

After importing the TAZ table structure, the user can then establish a "mapping" that links the values in DefTAZExport to their TAZ table's fields. Both values from the imported TAZ table and the DefTAZExport can be used in creating a final value to be exported in the final exported table. These functions are then applied to all of the TAZs that are not specified as exceptions (see below).

For example:

[SF_DU] = [SELF] + [RM_HH] + [RL_HH] + [RVL_HH]

In this example [SF_DU] will be the final value output in the field "SF_DU" taken from the input TAZ table's structure.

[SELF] is the number of households that exist in the input TAZ table's field called "SF_DU". If the input TAZ Table contains a specific year's household count, then the new houses from UPlan will be added to that.

[RM_HH], [RL_HH], [RVL_HH] are the number of new households of those land use types produced by UPlan.

Or another example:

[SVC_EMP] = [SELF] + 0.8 * [CH_EMP]

[GOV_EMP] = [SELF] + 0.2 * [CH_EMP] + 0.2 * [CL_EMP]

[RET_EMP] = [SELF] + 0.8 * [CL_EMP]

In this example. Three output values are created by splitting two of UPlan's land use categories up and adding them to the existing value. In effect [SVC_EMP] equals the starting value plus 80% of the employees in UPlan's commercial high category (for that TAZ).

Other possible manipulations include not using the [SELF] value to build a value from only UPlan outputs, to add a constant value to the field, multiplying the [SELF] by a constant (i.e. assuming 150% growth would be [SELF] * 1.5)

Exceptions:

While a general configuration is created to apply the same mapping to all TAZs within the analysis area, it is possible to select some TAZs and highlight them as exceptions that will use an independent mapping. This exception is set in exactly the same manner as the default one, but applies only to the specified TAZ.

Download UPlan

Important Note
Any UPlan version prior to 2.63 has a critical error when used with a projection in "Feet." Please discontinue use of any version of 2.6 predating 2.63. This same problem occurs in version 2.21 and should be checked for.

The most recent version is: 2.64f Released 03/25/2008

System Requirement: ArcGIS 9.X, Spatial Analyst Extension, MS Excel (for reports)

UPLan Change Logs

03/25/2008

  • Automatic selection of all buffer classes when adding an Attractor or Discourager
  • Fixed Explicit Employment function in repeated runs using template
  • Enabled Service Costs Modulefor use with variantes
  • Added "Tools" button to the UPlan Menu
  • Tool: Reconstitute Run, Adds a run back into the table of contents
  • Tool: Summary, provide a raster with zones and get feed back on Acres, HH, employees by zone
  • Tool: Added TAZ Exporter to Tools menu

02/11/2008

  • Improved Data Loader Error Checking.
  • Fixed sub area percentage bug
  • Fixed "Unable to Initialize Reclassification Table" error caused by a failure to create the reclass table text files. Note, this error can still be cause by datasets with incorrect projections.

01/03/2008

  • Improved Data Loader Error Checking.

12/06/2007

  • Reduced incidence of an over sensitive validation algorithm in the data loader.

11/19/2007

  • Copied Buffer specifications for attractors and discouragers cannot be copied to buffer classes not set to accept the layer as an attractor or discourager.
  • Minor error checking improvements to the Data Loader.

10/25/2007

  • Variant Land Uses sort by the allocation priority instead of the order they were created in the data loader and user interface
  • Up to 99 subareas and 99 land uses are now theoretically possible
  • Standardized the percent values in subarea setups so that all make reference to percentages (i.e. 95%) instead proportions (i.e.0.95)

10/5/2007

  • Fixed a "Foot" "Meter" conversion factor problem. When a projection using a linear unit of "Foot_US" was used, it was not recognized correctly and defaulted to the conversion used for meters. This resulted in an under estimation of needed land by about a factor of 9 and other inaccuracies in the reporting system.
  • Added the TAZ export function for 2.6 including a custom TAZ export. This allows the user to export UPlan results to a TAZ structure based on custom mapping.
  • Minor Usability improvements

Frequently Asked Questions (FAQ)

Upgrade information

Upgrading from one version of UPlan 2.6 to a newer version

  • Copy the new mxd into the same folder with the old one
  • Open both mxds
  • Copy the UPlan Runs that you wish to have available in the new version from the old one to the new one
  • Right click on the Run name and choose "copy" from the menu
  • In the new mxd, left click on the "Edit" menu at the top and select "Paste"

Caution
When extracting the new UPlan version from the ZIP file. Make sure that you do not overwrite your old initialization.mdb. If you do, you will loose all of your configuration data entered through the Data Loader.

Upgrading from a previous version of UPlan to 2.6

  • All of your grid based data can be reused
  • You will need to reenter the default data into the data loader manually.

Common Sources of Errors

Directory Structure
UPlan is dependant on the directory structure.

The following items must exist within the uplan folder.

  • Uplan.mxd: the mxd that is UPlan

Data: Folder containing subfolders for geographic areas to be modeled.

Geographic folder: this folder contains the GRIDs with starting data for the geographic region. These folder are frequently named with a FIPS code. i.e. Fresno County is 06019

ini: initialization folder. This contains the main initialization and configuration database and the templates documents for reports on the run and on services.

  • initialization.mdb
  • report_template.xls
  • service_template.xls

Runs:

  • info: A directory that is necessary for the creation of new runs by ArcGIS. if the info directory is missing, Restore it by using ArcCatalog to copy any GRID into the Runs folder. Then you can delete that GRID also using ArcCatalog
  • run folders: These folders will contain the output for all runs. they will be named using the following convention: rYYMMddhhmmss where YY is the year, MM is the month, dd is the day, hh is the hours, mm is the minute, and ss is the second that the setup for the run was started.
  • Completed runs:
  • Finalalloc: the final spatial output
  • ModelRun.txt: a log of the decision tree for that run
  • Uplan.mdb: a database that stores all of the input settings for the run
  • Report.xls: the final reporting for the run which is created after the run is complete by clicking on the "Run Report" button in UPlan.
  • many other GRIDs and files.
  • Incomplete runs:
  • Uplan.mdb: the configuration for the run that failed. Frequently this can be used to identify the problem, or to restart a new run with the same settings for debugging.

Projections:

  • All input data must be in the same projection
  • If the problem is a new one, check the most recently added layers for projection problems