Laserfiche WebLink
<br />Q~uu70 <br /> <br />7 <br /> <br />Description <br /> <br />reach <br /> <br />nodeJecord <br /> <br />using an expensive algorithm and stored in the in-memory graph. It is much faster to <br />use the stored information than to derive this list every time it is needed. <br /> <br />In addition, the in-memory graph contains infonnation not available in the database. <br />For example, upstream-downstream relationships are not represented in the database, <br />yet operations requiring this information are simple to perform using the in-memory <br />network graph. Determining the current call at a diversion structure requires knowing <br />the call structure in place on the river, as well as upstream-downstream spatial rela~ <br />tionships between structures. The current call at a structure could not be determined <br />from the contents of the database alone, but by accessing both the database and the <br />spatial ArclInfo data. However, on-demand calculations using both of these sources <br />would be far too expensive. <br /> <br />The in-memory network graph is bupt from three primary components: reaches, <br />nodes, and node_link-pairs. A reach is a segment of the river system, corre- <br />sponding to a single arc in the Arc/Info stream network coverage. Nodes define the <br />ends of reaches, and are possible locations for confluences, stream gauges, or diver- <br />sion structures. Node_link_pairs are the structures that link the nodes and <br />reaches together to form a graph. <br /> <br />typedef struct { <br />(various members for graphic display) <br />lag_lass_record *lag_Ioss~record; <br />double length; <br />reach; <br /> <br />Where: <br /> <br />. lag_lass_record: A pointer to a lag_loss_record for a physical reach to <br />which this reach record refers. <br /> <br />. length: The length of the reach in meters. <br /> <br />The reach structure corresponds to a segment of the river as defined by a single arc in <br />the ArclInfo stream network coverage. Besides containing several numbers for <br />graphic display (of the current call structure), this structure contains a pointer to <br />lag_lass_record containing information about this reach. <br /> <br />typedef struct node_rec_struct{ <br />short node_id; <br />short type; <br />Boolean visited; <br />double current_call; <br />double previous_call; <br />node_l ink_pair *connected_upstream; <br />node_l ink_pair *connected_downstrearn; <br />Boolean is_confluence; <br />node_type_description *description; <br />node_location location; <br />struct node rec struct *next; <br />} node_record; <br />