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
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.