Frequently Asked Questions about QRS II and GNE

Q.  Do I need to change any inputs when upgrading between QRS II versions?

A.  Please see the answer below about AddTrips.txt.  Most parameters are contained in Param.txt, and that file is forward and backward compatible across all versions between 5.1 and 9.  QRS II inserts default parameters for anything new in a later version.  Version 9 of QRS II supports 8 trip purposes, so input files with purposes might need attention when upgrading.  These include AddPTrips.txt, TRatesN.txt, HRatesN.txt, HAdjust.txt and AddPsAs.txt.  The class information in the old TRatesN.txt files has been put into a new CRates.txt file, so old TRatesN.txt files should not be used in Version 9.  These latter files apply only to dynamic traffic assignments.

Each new version of QRS II is tested with a suite of networks from a variety of QRS II and GNE versions dating back to the software’s very beginning.  That said, it is possible for some old networks to fail for a variety of reasons, including unsupported modifications to the application schema.  In addition, newer versions of QRS II have better algorithms, better theory, and bug fixes that can affect the answers.

Q:  I have a vehicle trip table or a person trip table in AddTrips.txt, but QRS II doesn’t see it.

A: Versions 7,  8 or 9 of QRS II do not recognize the name AddTrips.txt.  Your AddTrips.txt should be renamed AddVTrips.txt or AddPTrips.txt depending upon whether it contains vehicle trips or person trips.

Q:  I am doing an update and GNE is giving me a error saying it cannot find a match for a name in the update file.  However, the network element is there with the correct name.  What gives?

A:  You likely have two or more network elements (nodes or links) with the same name.  One of these elements is not of the correct entity type and is being found first.  Make sure all your node and link names are unique or do not try to do an update with non-unique names.

Q:  How do I get an underlaid network to line up with the network on top?

A: GNE displays the networks exactly as they are originally drawn, with the upper-left corner of the underlaid network’s Sketch Pad aligning with the upper-left corner of the top network’s Sketch Pad.  White space is sometimes needed on one or both networks to get them aligned.  The best method to establish the exact needed white space is to place one node on each network somewhere above and to the left of all the rest of the nodes.  Both nodes should be at the same x, y coordinates.  Then “trim” both networks and they will align properly.  Of course, both networks must be drawn to the same scale.  You can accomplish the same thing by directly editing the network “extents” under the Transform menu.  Setting the top and left extents to the same number on both networks will allow them to align properly.

Q:  Can I display more than two labels on a link?

A:  Yes, but not on a single network view.  It is possible to label a link on both the original network and on a view of this network.  Select positions for the two sets of labels so that they do not overlap.  Then use the view as an underlay.  Use different fonts or colors to distinguish the source of the labels.

Q: Is there some order to the links and nodes on the Sketch Pad and in network files?

A: Yes. GNE maintains links and nodes in a specific order depending upon their geographical locations. The smallest node numbers are in the upper left corner of the network while the largest node numbers are in the lower right corner of the network. The order of links is controlled by the order of their A-end nodes.

Q: An error message appeared with a node serial number; how do I find the node?

A: The easiest method for finding the node serial number is to bring the network into GNE and label all nodes with their serial numbers (Go to: View, Labels, Node Labels, First; then select Serial).  If you know approximately where the node is on the network, you can guess the node, open it and inspect the node serial number on the node’s Properties dialog box.

Q: An error message appeared with a link serial number; how do I find the link?

A: The serial number of a link is the same as the link’s order in the DTA file. If a link is named, its name and internal serial number will appear within the report file LinkLabl.txt. If the link is not named, it is still possible to find the link with the GNE program FindLink.pgm.  See the Appendix of the QRS II Reference Manual for a description of FindLink.pgm.

Q: What is the meaning of the error message, “Multiple Opposing Approaches”?

A: At a traffic controlled intersection, QRS II has detected three or more approaches with the same through traffic code. The cause is probably a 0 (zero, first position of the approach codes) as the through traffic code at an oblique intersection approach. Find the intersection (see above discussion of finding nodes) and explicitly set the through traffic codes.  See the QRS II Reference Manual for further instructions.

Q: I opened a link and changed some attributes, and now GNE won’t let me leave. It keeps telling me I have an “error in a categorical variable”. What does this mean?

A:  GNE wants to guarantee that you have correct approach codes or parameter set codes, and will prevent you from leaving a link that does not have them set properly. The error might be that you have not added in the new code in some position after changing the link type.  Our suggested default values for all categorical variables are shown as part of the attribute name.  The other possibility is that your link originally had an incorrect code.  See the QRS II Reference Manual for a discussion about approach codes.

Q: Why does QRS II immediately say it cannot perform distribution?

A: The cause is probably a centroid or external station that is disconnected from the network or too far away from all other centroids. Perhaps the scale is set improperly. Ask for temporary files and view the various HTimesN.tmp files in Notepad. If you see many 7200’s (largest possible travel time), then there is a disconnection somewhere. Note: the columns of HTimesN.tmp are in the same order as the centroids in NodeLabl.txt, with the first column containing the row number.  Rows (by number, not position) are also in the same order as centroids in NodeLabl.txt.

Q: Why does QRS II say it cannot perform distribution during the second or a later iteration of equilibrium assignment?

A: The calculated delays are much too large, that is, above 7200 minutes. Check all parameters related to delay, including the hour averaging factor for multihour assignments. You might have a link capacity that is far too small, for example 320 rather than 3200.  One or more of these parameters or attributes will be seriously in error.

Q: Why do the results change when I switch time periods and then switch back?

A: You have a user-supplied trip table and traffic-controlled intersections. You need to reset VolHourU.txt each time you switch time periods.  VolHourU.txt is not needed if “Assume Hourly Volumes” is checked or you are running a single hour or dynamic forecast.

Q: I am assigning a user-supplied OD table with AddVTrips.txt and QRS II is telling me there are no trips in the system. Is there a workaround?

A: If you are running a static, multihour traffic assignment, QRS II is attempting to calculate hourly volume distributions, but it cannot do so without its normal trip generation routines kicking in. Try putting a fractional number of dwelling units and employees on a single centroid somewhere on the network.  QRS II will have enough trips to ascertain the distribution of trips across hours in a day, but all of these trips will be intrazonal and will not affect the forecast in any tangible way.

Q: Can you tell me a simple way to set VolHourU.txt or VolHour.txt?

A: VolHourU.txt is an input file; VolHour.txt is an output file. QRS II will create a new VolHour.txt when there is no user-supplied trip table. Run your network, omitting the trip table and with 0 equilibrium iterations. Then copy the resulting VolHour.txt to VolHourU.txt, to serve as input.

Q: I installed a user-supplied vehicle trip table, but volumes did not show up in the network.

A: You must tell QRS II to expect AddVTrips.txt on the Add Files dialog box. Also, AddVTrips.txt must be in your project folder, that is, in the same folder as your active parameter files).

Q: How do I find an invalid lane geometry and sign code?

A: Usually, this error means that you missed a link when entering the approach codes. The approach codes probably consist of blanks and are nearly impossible to detect by displaying them on the Sketch Pad as labels. Use Extract in GNE to spill link information to a text file. Use a format of BXY1 (name, x-coordinate, y-coordinate, approach codes). You can quickly locate the offending link by scanning the resulting text file in Notepad.

Q: Should I use a LOS C or LOS E definition of capacity?

A: The LOS C definition of “practical capacity” extends back to the 1950’s, but it is inconsistent with our current knowledge of traffic flow. If you are using traffic controlled intersections in QRS II you must use a LOS E definition. This implies capacities on urban streets of about 1600-1700 vphpl (vehicles per hour per lane) and on freeways of about 1800-2000 vphpl, depending upon prevailing conditions. Be sure to change the volume to capacity multiplier (on the Assignment BPR Parameters dialog box) to about 0.8. Parameters installed with QRS II are consistent with LOS E capacities. You should also consider setting the opposite direction factor to 0.4 to obtain better delay values on two-lane roads.

Q: How do I set the lane geometry and sign codes for an approach from the stem of a “T” intersection?

A: There is no through lane, but QRS II still needs a capacity value. Set the capacity to about 1600 times the number of upstream through lanes. Then set the lane geometry and sign code to “E”.  QRS II will still allow lefts from the through lane, because QRS II will perceive true lefts to be an “other” movement.

Q:  What lane geometry and sign codes are needed on links that are internal to a freeway interchange?

A:  Freeway interchanges are almost always coded with intersections without delay (except where they connect to surface arterials), so the approach codes are irrelevant.  Leave them at their default values.

Q: How do I prohibit a right turn (standard schemas)?

A: Use AddPenalty.text; check your QRS II Reference Manual for details.

Q: How do I prohibit left turns from a one-way link?

A: Split the approach link into a pair of links: a one-way link and a two-way no left turn link. The one-way link prohibits wrong-way traffic for the pair, and the two-way no left turn link prohibits left turns for the pair.  Of course you can always use AddPenalty.txt.

Q: When I try to plot out to my printer or plotter, the drawing comes out using only one corner of the paper, in a very small size.  What am I doing wrong?

A: Before starting the plot, check that you have:

  1. Set the paper size on the plotter;
  2. Set the Windows driver, through the Windows control panel;
  3. Set the scale — you may need to enlarge it to plot;
  4. Set the margins, measuring from the top left of the paper;
  5. Shift the image if necessary — to shift upward or to the left, use a negative number.

Some of this may be more easily accomplished by manipulating the Plot Margins on the Sketch Pad.

Q: When coding transit networks, is it possible to have boarding and alighting information for each station of the Metro line? In general, Metro line stations have been coded as single stops?

A: To get boarding and alighting information at metro stations, designate the transfer point to be a “station”. Embed an “<S>” within the name of the node. You will then get a station report. Unfortunately, QRS II will not produce station reports at regular stops.  (You can turn a stop into a transfer point for this purpose by adding a stub link with a different route number.)

Q: When setting up my transit network, what is the most appropriate way to build a multiple-route ladder in order to avoid unnecessary transfer points? Should the rungs of the ladder be a multiple or a single-route link? What are the characteristics of that link?

A: If your network is large, you should avoid ladders in order to keep your network small. Remove any transfer points that are not totally necessary. Consider eliminating some points of access (centroid connectors) to reduce network size.

For a ladder to work properly (in theory), all routes must connect to the same node while requiring exactly one transfer. That single node should be a transfer point. When this is a point of access, the centroid connector should connect to the transfer point. When done this way, riders will have equal access to all routes at that location. The rungs of the ladder will have the same route numbers as the rails of the ladder. With a very large network, you may want to restrict transfers between selected routes and restrict access to certain other routes. Or consider two or more centroid connectors at a single location with each centroid connector being attached to a unique set of routes. However, you must use your own judgment on which of the transfers should be restricted by these methods.

Ladders can be avoided entirely with the use of AddRoute.txt.  See the QRS II Reference Manual for details.

Q: I will be doing some small area analysis with QRS II. How should I approach the network setup?

A: I recommend that you use subarea focusing to handle small areas. Use tiny zones in the subarea and large zones outside. Use a fine street system in the subarea and a coarse one outside. Use less detail the farther you get from your subarea. This is essentially the method described in NCHRP Report #765.

Q: I have noticed that QRS II assumes the capacity of a two-way link is the same in both directions. Can I input different capacities in the two directions (i.e., if a link has one lane in one direction and two lanes in the other direction)?

A: Yes, QRS II versions 7 and higher allow different capacities in different directions with the “detailed”, “dynamic”, “extended” and later schemas.

Q: I want to plot out only part of my network. What is the easiest method?

A: You can plot or print part of a network by taking a portion of an existing network, consisting of an irregular subarea. Create a copy of your network.  Draw a polygon around the subarea, choosing existing intersections as vertices and an existing centroid as the owner. Perform a polygon search, hiding all elements outside the polygon. Move all visible elements to a unique layer, then delete all elements on the remaining layers. The remaining links and node within the desired subarea can be saved to a new file. Each of these steps requires only a few mouse clicks. Then print. See also the chapter on Polygons in the Reference Manual.  Of course, it is always possible to define the image shift and plot margins to print a small rectangular area of your network.

Q: I have a network where all the productions for a trip purpose are at external stations and all the attractions are at centroids.  The total of P’s already agrees with the total of A’s.  QRS II is telling me that it cannot balance P’s and A’s.  What’s going on?

A: You have told QRS II to hold productions constant on the Trip Productions dialog box.  QRS II will only use attractions at centroids to balance; attractions at external stations are never adjusted.  However, QRS II cannot find any attractions at the centroids.  You should tell QRS II to hold attractions constant for this purpose or add a small trip attraction value (e.g., 0.0001) to one of your centroids.

Q: My network is already drawn, but now I want to add in the approach codes for all the links at once.  I know that I could have done this globally by using Initialize before the network was drawn, but what do I do now?

A. It is possible to set the approach codes with GNE’s Calculate.  It should be noted that GNE’s Calculate cannot operate on entities that are undefined.  Also, the network must be based on a valid application schema.

It may be helpful to observe that one-way links have an entity type of 1 and two-way links have an entity type of 2. Here is the procedure for using Calculate to set the approach codes on one-way and two way-street links.

  1. On the Link Line Ranges tab set the “begin” and “end” values to 1 for both two-way street links and one-way street links.  Click OK to return to the Calculate box.
  2. On the Relations tab, in the first line enter the following equation:   a1 = ‘0S3O’ or any other valid set of approach codes.  Click OK to return to the Calculate box.
  3. Press the Start button.  Open several links to assure that the program has worked properly.


Updated September 19, 2017