110 likes | 298 Views
Automatic Turntable Calculation Tool. Melissa J Rura. CE 508 Dr. Shan 10/29/2004. Introduction. What is turntable necessary for? Purpose of the project How to calculate turns? X,Y coordinates Software Two datasets Simplified Actual. Methodology. Description of input data.
E N D
Automatic Turntable Calculation Tool Melissa J Rura CE 508 Dr. Shan 10/29/2004
Introduction • What is turntable necessary for? • Purpose of the project • How to calculate turns? • X,Y coordinates • Software • Two datasets • Simplified • Actual
Methodology • Description of input data Simplified dataset Required output
'========================= 'polyline_Get_X_FromPoint.cal 'Author: Ianko Tchoukanski 'http://www.ian-ko.com '========================= On Error Resume Next Dim pMxDoc As IMxDocument Dim pMap As IMap Dim pCurve As ICurve Dim pFromPoint As IPoint Dim dXFrom As Double Dim bSrefFromMap As Boolean '======================= 'Adjust the parameter below 'bSrefFromMap = True ==> the coordinates will be calculated in the projection of the Map 'bSrefFromMap = False ==> the coordinates will be calculated in the projection of the data bSrefFromMap = True '======================= If (Not IsNull([Shape])) Then Set pCurve = [Shape] If (Not pCurve.IsEmpty) Then If (bSrefFromMap) Then Set pMxDoc = ThisDocument Set pMap = pMxDoc.FocusMap pCurve.Project pMap.SpatialReference End If Set pFromPoint = pCurve.FromPoint dXFrom = pFromPoint.X End If End If __esri_field_calculator_splitter__ dXFrom For the Y From point the line “dXFrom = pFromPoint.X” changes to “dYFrom = pFromPointY” For the X and Y To points the lines “ Set pFromPoint = pCurve.FromPoint dXFrom = pFromPoint.X” changes to : “Set pToPoint = pCurve.ToPoint dXTo = pToPoint.X” and “Set pToPoint = pCurve.ToPoint dYTo = pToPoint.Y” respectively. This code can then be directly inputted in to the ArcGIS field calculator and the X and Y coordinates of any line segment can be calculated. Methodology • Calculate X,Y coordinates of the nodes Import table into the tool – direct import or link tables through ODBC Open the tool – Switchboard GUI
Note the two attributes Step 1- intersections table • First using the total_records_form the Tool counts the total number of records, i.e. line segments in the attribute table • Begin a FOR loop from 1 to total number of records • In the table intersection create a new record for node j; where j is the current node number • Select all line segments where node j is the beginning node (Fjunction) or ending node (Tjunction) of the line segment and record the number of line segments into the record for node j in the intersection table. • Retrieve and record X and Y coordinates for node j. • Repeat for each node then exit loop • Delete all nodes in the table intersections with less then 3 line segments
Intersections table contd. • This table can be exported using the export button under the Step 1 button and imported into ArcGIS as an XY Event point layer to visually check the accuracy of the intersections created back
Step 2 – select_nodes form • The intersections table serves as the basis for the select_nodes form
Once all manual manipulations to the added attributes on the data are finished, clicking the Recalculate turntable button then generates the new turntable and its export variant This is done in a three-step process.
Output query • 1)Compute the interim turntable • a.Run a query to select the X and Y values for each node (F_Junction & T_Junction from the Almost table and the Intersection node from the Intersection table) in the possible route combination and the other modeling parameters from the Intersection table. • b.Write these values into the query Output • c.Using the X,Y coordinates compute the angles for each combination and subtract them and assign the time
Final table 1)Compute Final turntable Run a query to select the node identifier, the F_Edge (beginning edge), the T_Edge (ending edge), and the assigned turn time as required by ArcView in order to declare a turntable
Conclusion and Future Work • generalizing the database to accept any street network attribute table and not to assume consecutive number beginning at 1 for the node identification • modeling of a turn with only two segments intersecting should be addressed • add other intersection attributes to the intersection table