3.4 Land Use Data Prep

From NFTPO Model
Revision as of 13:47, 9 November 2020 by Bstabler (talk | contribs) (Updated to NERPMAB2)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Network Data Preparation

This step calculates “nearby” pairs of microzones (MAZ) for shortest distance path calculations. For each MAZ, it selects all MAZs within a buffer and creates pairs of MAZs. These MAZ pairs are input to the next step where DTALite finds the shortest path between them.

Tool: Network_DataPrepv2.exe

Directory: \User.prg\DaySim_Data_Tools

Inputs:

input_node.csv (Node x, y from an all-streets network)

nftpo_MAZs_year.dat (The coordinates of the newly developed microzones)

nftpo_netprep.ctl (Network prep control file)

Output:

input_od_pairs.csv (for input to shortest path update tool)

Shortest Path Update

DTALite, a dynamic traffic assignment software, is used to generate node-to-node shortest path distances using the all streets network. The output from this step is used by the DaySim Buffering Tool to prepare the buffered MAZ files.

Tool: DTALite.exe

Directory: \User.prg\DaySim_Data_Tools

Inputs:

input_od_pairs.csv (from the Network Data Preparation tool)

input_node.csv (from all-street network)

input_link_type.csv (from all-street network)

input_link.csv (from all-street network)

DTASettings.ini (settings file)

settings.csv (settings file)

Output:

output_shortest_path.txt (for input to Buffering microzones)

Buffering & Transit Access Preparation

In DaySim, it is important to have measures not only of within a particular microzone, but also what lies in the area immediately surrounding each microzone. These measures are created by defining a “buffer” area around each microzone and counting what lies inside the buffer. These variables can then be used in DaySim in a way similar to how zonal land use and density variables are used in TAZ-based models, with the advantage that the buffer is defined in exactly the same way for each microzone. The buffer variables that DaySim uses include:

  • The number of households in the buffer;
  • Employment (number of jobs) in the buffer in various employment sectors;
  • Enrollment in schools in the buffer, segmented by grade schools and colleges;
  • The number of spaces and average price of paid off-street parking in the buffer;
  • The number of transit stops within the buffer (segmented by sub-mode, if relevant);
  • The number of street intersections in the buffer, segmented by 1-node (dead-end or cul-de-sac), 3-node (T-junction), and 4+node intersections; and

In addition, DaySim also uses the distance from the microzone centroid to the nearest transit stop (by transit sub-mode, if relevant), as well as the distance to the nearest open space area while simulating models.

DaySim Buffering Tool

A tool to perform the buffer calculations has been developed, and includes a user-friendly GUI. The use of GUI is described in a subsequent chapter of this document. This tool calculates all the buffer and transit access variables that DaySim needs, using the following inputs:

  • Base parcel file (obtained from employment and enrollment allocation process)
  • Street intersections file
  • Transit stops file
  • Open spaces/parks file (optional)
  • Network nodes file
  • Node-to-node shortest path distance file

The input files and their corresponding structures are described in detail in subsequent sections.

Note that it is essential that the buffer measures used in application are consistent with those used for the original model estimation. Thus, when preparing new buffer measures, users should not modify the settings in the buffering tool control file.

Buffer Calculations

As mentioned earlier, buffer variables for a parcel are calculated by summing land use variables of all parcels within a certain buffer distance of the particular parcel. In the past, buffer calculations have used a “flat” buffer, using a certain radius, e.g. ¼ mile, and counting everything within that radius and nothing outside the radius. That approach is simple, but has the disadvantages that (a) it weights all opportunities within the buffer the same, whereas in reality the land use that is very close by will tend to have more influence on behavior than the land use at the edge of the buffer, and (b) there can be “cliff effects” if a large development is located near the edge of the buffer. In the latter case, the measures become sensitive to the somewhat arbitrary specification of the buffer size, and to the rules used to deal with parcels that straddle the buffer boundary. This tends to add random “noise” to the buffer measures.

The buffering tool can be set to use flat buffering, or a distance-decay buffer, in which each buffered item is weighted according to the distance from the origin parcel centroid. There are two options provided for the weighting function: a logistic function and a negative exponential function. The logistic form is recommended because its shape is more representative of typical behavioral models that use logistic functions.

The buffering program simultaneously calculates all the buffer variables for two different buffer sizes. The reason for this is that the DaySim choice models use smaller buffers for some variables (e.g. those that represent attractiveness of walk trips), and larger buffers for some other variables (e.g. those that represent attractiveness of bike trips, or more general neighborhood effects).

For distance decay buffering, the user specifies three parameters for each buffer: (1) the distance parameter, (2) the offset parameter, and (3) the slope parameter (the latter two are used only for logistic buffering). The parameters and equation for the logistic curves used for DaySim model estimation and calibration are listed below. It is necessary that these same parameters be used for model application.

Parameter Buffer 1 Buffer 2 Inflection BDIST1 = 660 (ft) BDIST2 = 1320 (ft) Offset BOFFS1 = 2640 (ft) BOFFS2 = 2640 (ft) Slope DECAY1 = 0.76 DECAY2 = 0.76 The equation is:

 Weight = MIN(1, (1 +  Exp(DECAY – 0.5 + BOFFS/5280))
 / (1 + Exp(DECAY * (Distance/BDIST – 0.5 – BOFFS/5280))))

Distance is the distance, in feet, from the origin parcel to any other parcel whose calculation is explained in the next paragraph.

FIGURE 3-3 BUFFER1 AND BUFFER2 DISTANCE DECAY WEIGHTS

Figure 3-3.jpg

The buffering program also gives the user three options as to how distances are calculated within the buffering program:

  1. Use crow-fly distance between the XY coordinates
  2. Use interpolation with a “circuity surface” around each parcel.
  3. Use shortest path distance between the nearest all street network nodes.

Note that in option 1, because the buffer distance is calculated using XY coordinates from centroid to centroid for parcels, buffering may not be very accurate for parcels that are very large compared to the size of the buffer.

Option 3 provides most accurate distances that take into account obstacles and directness in the street network and is preferable is the required data exists. The following steps are involved in buffering using distance decay weights and all streets network distances:

  1. The buffering tool first associates each parcel with the nearest network node and creates a parcel -node correspondence.
  2. Multiple parcels may be associated with a single node and so the base parcel file is reduced to node level by aggregating data from all parcels that are associated with the same node.
  3. Other items such as open spaces/parks and transit stops are also associated with the closest network nodes.
  4. At this point, buffering calculations are all done at the node level since node-to-node all street network distance are available. For node pairs that are not within 3 miles of each other, Euclidean distance calculated from XY coordinates is used. Buffer variables for a particular node are calculated by obtaining the weighted sum of land-use variables of all the nodes with the chosen buffer distance. The calculation of distance weights has been described earlier.
  5. Once the buffer calculations at the node level are complete, the buffer variables are then then transferred to parcels using the parcel -node correspondence created in step 1.

It should also be noted that in case of option 3, during the buffering process, two binary files that have information about node-to-node network shortest path distances are output so the DaySim can use them for simulation of short trips.

The following steps are involved in buffering using distance decay weights and XY/Euclidean distance:

  1. Calculate distance weights using the logistic decay equation described earlier.
  2. Calculate buffer variables for each parcel by counting land-use attributes of the surrounding parcels by getting their centroid distances (Euclidean) from that of the parcel under consideration and weighting by the corresponding distance weights.

It must be noted that option 2 – use interpolation with a circuity surface was used when developing the model. However, going forward it is recommended that node-to-node (option 3) method be used for calculating buffer variables.

Updating Land-use Data

The user can update the land-use file manually if changes are required in specific zones because of new development, changed land-use etc. The starting point for such changes should be buffering micro-zones step. One of the inputs to the buffering tool is the MAZ file, for example, nftpo_microzones_2015.csv for the 2015 scenario. This file should be manually updated for such changes and saved with the same name. The user should then run the buffer tool and copy the output file (buffered_microzone_2015.dat) to the scenario input directory. The following example describes it step by step.

Adding 100 Households to an MAZ

To add 100 additional households to an MAZ, the user needs to run the DaySim data tools, PopulationSim, and the model

  1. Update the base microzone file (nftpo_microzones_year.csv)
  2. Run DaySim data tools (DSBuffTool.exe)
  3. Copy outputs (buffered_maz_year.csv) to the model scenario input directory
  4. Update PopulationSim controls (update_controls.bat)
  5. Run PopulationSim
  6. Convert PopulationSim output to DaySim input (popsim_to_daysim.bat)
  7. Rename the outputs.
  8. Copy outputs to the model scenario input directory
  9. Run the model

The above steps are illustrated in detail in the training slides June2020_Training_NERPM-AB_2.0.pdf here Support/Training