The network topology, that is, the from/to junctions for each edge is stored in the binary files of the network dataset. In general you do no need this information. May I ask what you intend to do with that information?The way to get this information is to use ArcObjects to retrieve the values from the network dataset.I am including a small VBA that you can run (if you have VBA installed) and it will write out the edge OID and the two from/to junction OIDs to a text file. Make sure the network dataset is added to ArcMap as the first layer when you run this VBA.Jay SandhuPublic Sub List_ND_Topology_ToDisk() Dim pMxDoc As IMxDocument Set pMxDoc = ThisDocument Dim pNLayer As INetworkLayer Set pNLayer = pMxDoc.FocusMap.Layer(0) Dim pND As INetworkDataset Set pND = pNLayer.NetworkDataset Dim pNQ As INetworkQuery Set pNQ = pND Dim pEnumNE As IEnumNetworkElement Set pEnumNE = pNQ.Elements(esriNETEdge) Dim pFromJunction As INetworkJunction Set pFromJunction = pNQ.CreateNetworkElement(esriNETJunction) Dim pToJunction As INetworkJunction Set pToJunction = pNQ.CreateNetworkElement(esriNETJunction) Dim pNE As INetworkElement Set pNE = pEnumNE.Next Dim pNEdge As INetworkEdge Set pNEdge = pNE Dim i As Integer Open "c:\temp\ND_FromTo.csv" For Output As #1 'set path as needed Print #1, """EdgeOID"", ""FromOID"", ""ToOID"", ""Lenght_Attribute""" Do Until pNE Is Nothing pNEdge.QueryJunctions pFromJunction, pToJunction Print #1, pNE.OID; ","; pFromJunction.OID; ","; pToJunction.OID; ","; pNE.AttributeValue(1) Set pNE = pEnumNE.Next Loop Close #1 End Sub
Public Sub List_ND_Topology_ToDisk() Dim pMxDoc As IMxDocument Set pMxDoc = ThisDocument Dim pNLayer As INetworkLayer Set pNLayer = pMxDoc.FocusMap.Layer(0) Dim pND As INetworkDataset Set pND = pNLayer.NetworkDataset Dim pNQ As INetworkQuery Set pNQ = pND Dim pEnumNE As IEnumNetworkElement Set pEnumNE = pNQ.Elements(esriNETEdge) Dim pFromJunction As INetworkJunction Set pFromJunction = pNQ.CreateNetworkElement(esriNETJunction) Dim pToJunction As INetworkJunction Set pToJunction = pNQ.CreateNetworkElement(esriNETJunction) Dim pNE As INetworkElement Set pNE = pEnumNE.Next Dim pNEdge As INetworkEdge Set pNEdge = pNE Dim i As Integer Open "c:\temp\ND_FromTo.csv" For Output As #1 'set path as needed Print #1, """EdgeOID"", ""FromOID"", ""ToOID"", ""Lenght_Attribute""" Do Until pNE Is Nothing pNEdge.QueryJunctions pFromJunction, pToJunction Print #1, pNE.OID; ","; pFromJunction.OID; ","; pToJunction.OID; ","; pNE.AttributeValue(1) Set pNE = pEnumNE.Next Loop Close #1 End Sub
サインインしたメンバーは投稿、更新のフォローなどができます。初めてですか?無料アカウントを登録してください。
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.