In EMME/2 the selection of transit segments is implemented as the combination of a
transit line selection and a link selection. Thus, it is not possible to
perform a network calculation on a set of transit segments which is
selected directly by segment attribute values. However, such tasks
can still be performed by integrating the segment based selection criterion
into the expression. This is done by replacing the original expression
by a calculation of the type:
attribute = (condition)*(new value) + (complement condition)*attribute
Or, as a more concrete example, here is a calculation which sets the
NOALI attribute equal to NOBOA for all segments having a zero dwell time:
noali = (dwt==0)*noboa + (dwt!=0)*noali
If the itinerary of a transit line passes through N nodes, the transit line also contains N transit segments. However, we are usually only concerned with the first N-1 segments, i.e. those segments that correspond to the links that form the line itinerary. The last segment of the transit line is called the hidden segment. It only has an I-node, but no corresponding J-node nor base network link. This segment can be used to store data which is specific to the last node of the itinerary, such as e.g. observed alightings at the final stop. The only way to access this hidden segment with the network calculator is by using the ``next segment'' addressing (N-type attribute keywords), as the hidden segment corresponds to the next segment of the last ``ordinary'' segment.
The macro
netreg.mac
shows how the matrix calculator can be used to implement a
multple linear regression on arbitrary network data.
(With the new extended functionalities of the get()/put() stack in Release 8,
this macro could be significantly improved and handle even more complex data.)
Even if there is no special module or option in EMME/2 to punch out extra attributes, this can be done easily using the network calculator module 2.41. Actually, this is my preferred way of generating any kind of network attribute punch:
To create a punch file containing any desired sequence of network attributes (including, but not limited to extra attributes), just perform a network calculation in which these attributes are combined with some dummy expression (e.g. just add them all up) and then select the output format ``3=punch''. This will create a file containing the element identifiers followed by the specified attributes (in the order they appear in the expression) and the expression value (which, by using a meaningful expression instead of just a dummy one, can sometimes be put to a good use as well). The first line of the so created batch output file contains the attribute keywords for the respective columns. Attributes punched in this way can be read back into an EMME/2 data bank by using option 3 of module 2.41, ``input attribute using batch entry''.
Note that up to Release 7 the record length for reading and writing batch files in 2.41 was limited to 100 characters. This implied that the records were limited to 12 columns at most (i.e. 8-10 punched attributes, depending on the element type). In Release 8 the maximum possible record length in 2.41 has been increased from 100 to 500 characters, which means that it is now possible to punch up to 60 attributes into the same file, as also read back files with that many record fields.