Public Sub List_OneValent_Junctions() On Error GoTo eh 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(esriNETJunction) Dim pNEdge As INetworkEdge Set pNEdge = pNQ.CreateNetworkElement(esriNETEdge) Dim pNEFromJunc As INetworkJunction Set pNEFromJunc = pNQ.CreateNetworkElement(esriNETJunction) Dim pNEToJunc As INetworkJunction Set pNEToJunc = pNQ.CreateNetworkElement(esriNETJunction) Dim pNE As INetworkElement Set pNE = pEnumNE.Next Dim pNEJunc As INetworkJunction Set pNEJunc = pNE Dim val1 As Integer val1 = 0 'Find 1 valent edges and write out Junction OID and Edge OID Do Until pNE Is Nothing valency = pNEJunc.EdgeCount If valency = 1 Then pNEJunc.QueryEdge 0, False, pNEdge Debug.Print pNEJunc.OID & ", " & pNEdge.OID val1 = val1 + 1 End If Set pNE = pEnumNE.Next Loop Debug.Print "Total one valent edges: " & val1 Exit Sub eh: MsgBox "Error: " & Err.Description End Sub
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Jste tu noví? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.