Solved! Go to Solution.
Hi rfairhur24,
Thank you for your advice, I think I am a step closer to a solution.
I tried the first method you suggested using the summary statistics, however all that was returned was the frequency of points along each road by [Road.ID].
I also tried the 'Linear Referenced Routes' method and although I managed to create a join between the two tables, I could not then separate out the points by the roads in which they intersect.
I need to be able to calculate the average value for [Points.Speed] for example: -Pseudo Code: // Start the RoadNumber off at 0 Dim RoadNumber RoadNumber = 0 // Get the maximum amount of records in table Dim MaxRoads MaxRoads = GetMaximumValueOfField(Roads.ID) // Create an array so store selection records Dim Selection[] // Loop through all of the roads WHILE RoadNumber < (MaxRoads + 1) { // Increment RoadNumber by 1 RoadNumber = RoadNumber + 1 // Select all the points which fall on the same road and save to array Selection = SELECT * WHERE [Points.RoadsID] = RoadNumber // Create a new table with the RoadNumber name and populate the table with the contents // of the Selection array CreateNewTable(RoadNumber, Selection) // Clear the selection array Selection = null }
I would end up with as many tables as there are roads (quite a few!). I would then be able to calculate the mean value of [.Speed] for each table and using joins copy that value to a [Roads.AverageSpeed] field where [Roads.ID] is equal to the name of each table.
I'm not sure if I can do this sort of calculation in the model builder or if it is even possible?
Thanks again,
Liam.
Hi,
I am trying to split groups of points that intersect polylines, but I cannot seem to find a tool that can perform the task. I have performed a spatial join with a one-to-many relationship so that all of the points now have the [Roads.ID] value stored in [Points.RoadsID] field where they intersect.
Here is a sample of my data: -
[Roads]
[Roads.ID]
[Roads.Name]
[Roads.Shape_Length]
[Points]
[Points.ID]
[Points.RoadsID]
[Points.Speed]
What I would like to do is split the [Points] table up into groups of points that all have the same [Points.RoadsID] value so I can perform statistical analysis on them on a road-by-road level.
Any help would be appreciated,
Thanks,
Liam.
Pseudo Code: // Start the RoadNumber off at 0 Dim RoadNumber RoadNumber = 0 // Get the maximum amount of records in table Dim MaxRoads MaxRoads = GetMaximumValueOfField(Roads.ID) // Create an array so store selection records Dim Selection[] // Loop through all of the roads WHILE RoadNumber < (MaxRoads + 1) { // Increment RoadNumber by 1 RoadNumber = RoadNumber + 1 // Select all the points which fall on the same road and save to array Selection = SELECT * WHERE [Points.RoadsID] = RoadNumber // Create a new table with the RoadNumber name and populate the table with the contents // of the Selection array CreateNewTable(RoadNumber, Selection) // Clear the selection array Selection = null }
Hi rfairhur24,
Thank you for your advice, I think I am a step closer to a solution.
I tried the first method you suggested using the summary statistics, however all that was returned was the frequency of points along each road by [Road.ID].
I also tried the 'Linear Referenced Routes' method and although I managed to create a join between the two tables, I could not then separate out the points by the roads in which they intersect.
I need to be able to calculate the average value for [Points.Speed] for example: -Pseudo Code: // Start the RoadNumber off at 0 Dim RoadNumber RoadNumber = 0 // Get the maximum amount of records in table Dim MaxRoads MaxRoads = GetMaximumValueOfField(Roads.ID) // Create an array so store selection records Dim Selection[] // Loop through all of the roads WHILE RoadNumber < (MaxRoads + 1) { // Increment RoadNumber by 1 RoadNumber = RoadNumber + 1 // Select all the points which fall on the same road and save to array Selection = SELECT * WHERE [Points.RoadsID] = RoadNumber // Create a new table with the RoadNumber name and populate the table with the contents // of the Selection array CreateNewTable(RoadNumber, Selection) // Clear the selection array Selection = null }
I would end up with as many tables as there are roads (quite a few!). I would then be able to calculate the mean value of [.Speed] for each table and using joins copy that value to a [Roads.AverageSpeed] field where [Roads.ID] is equal to the name of each table.
I'm not sure if I can do this sort of calculation in the model builder or if it is even possible?
Thanks again,
Liam.