I am trying to build a table that simply has Fnode, Tnode and StreetName but cannot get accurate data.
With a StreetCenterline featureclass, I used Feature Vertices to Points - BOTH_ENDS to create a Nodes featureclass. Then I used both the Centerlines and the Nodes to create a coverage. The problem is that the Node table picks a Centerline# that may or may not be accurate (since multiple centerlines can come into a node). The Centerline table of the coverage only has FNode and TNode with a FID that may or may not be in the Node table.
I am looking for a more accurate way of doing this. I do not need to build a Network Dataset or a Geometric Network, I just need to know the right StreetName between each FNode and Tnode.
Solved! Go to Solution.
The solution was to add an extra step after running Feature Vertices to Points and Feature Class to Coverage = running a Spatial Join with ARE_IDENTICAL_TO option. This conflated the attributes (including streetname) from the original Centerlines featureclass onto the arc coverage that has the FNode/TNode.
The solution was to add an extra step after running Feature Vertices to Points and Feature Class to Coverage = running a Spatial Join with ARE_IDENTICAL_TO option. This conflated the attributes (including streetname) from the original Centerlines featureclass onto the arc coverage that has the FNode/TNode.
Hi Steve
Will you please explain in more detail as i am trying to achieve the same?
Thanks
Dean
Dean, the best way I can explain the steps is to show it to you in python:
This assumes you have a FileGDB with a streetcenterlines featureclass.
#Create a pointFeatureClass from the beginning and end point of each centerline segment
arcpy.FeatureVerticesToPoints_management(streetCenterline, pointFeatureClass, "BOTH_ENDS")
#Create a Coverage from both the streetCenterline and pointFeatureClass
inFeatures = [[streetCenterline, "ROUTE"],[pointFeatureClass, "POINT"]]
arcpy.FeatureclassToCoverage_conversion(inFeatures, outCoverage, "", "DOUBLE")
#Overlay (using SpatialJoin) the street centerline featureclass onto the arcs of the coverage
arcpy.SpatialJoin_analysis(arcFromOutCoverage, streetCenterline, outFeatureClass, "JOIN_ONE_TO_ONE", "", "", "ARE_IDENTICAL_TO")
Since the streetcenterlines featureclass has the streetname for each line segment, all this does is to overlay the streetcenterlines onto to arcs built for the coverage (which has the FNode and TNode). The result adds the streetname attribute (among others) to the line coverage and creates a featureclass with the results.
The only problem I've run into is that this cannot be run in standalone - the FeatureclassToCoverage will crash every time. Running this manually in toolbox or in python window will work fine.
Thank you. This was great. Do you by any chance have a answer for the following:
I need to create a shapefile of Road segments with a "To_Road/s" and "From_Road/s" as tables in the attributes with the streetnames as fields.
I used the Planarize tool to seperate the roads into segments. I know it has something to do with spatial join and the FID but I can not figure this one out.
Thanks