I would like to subdivide a road network for an entire state into segments of equal length. So, Highway X would be divided into 0.5 mile segments, with a record for each segment, and Highway Y would similarly be divided into 0.5 mile segments. Currently, segments vary in length based on intersections and curviness.
I must restrict the segments to trace the road network, so I cannot just connect vertices/nodes, or trace existing arcs/edges. In most cases, the script must insert a new vertex for the 0.5 mile point, to serve as the end point of the segment and the start point for the next segment.
I am familiar with Python/ArcPy and think I may need to use OGR to grab a list of vertices. My GIS software is ArcInfo 10.1 SP2.
Has anyone successfully implemented a solution to this problem, or have an idea on how to solve it?
I've been further exploring the standard tools in ArcGIS 10.1. I'm currently trying the idea of converting all of the vertices to a separate points layer using the Feature Vertices to Points tool. My next step will be playing with this new shapefile in Python:
The tool preserve the topology of the original line road network with the new points, and there is a sequential order to the FIDs, so I believe I can connect the points {for each road, i.e. Interstate 80} from {n} to {n+1}. I can keep track of the accumulated distance between the vertices-now-points. When the accumulated distance adding another point is greater than the threshold {d}, then I need to create a new point between the most recent point and the point-too-far at a distance that will equal the threshold. This becomes the end point for the new segment. Accumulate these points together, draw a line connecting them, and voila, a segment of length {d}. My goal of course is to have these lines be segments in a shapefile, rather than 1000s of new line shapefiles.
If anyone has any experience with those sort of geometric solution, by all means, please chime in.