Ansichten:

Frage

Wie kann man über COM eine ÖV-Kurzwegsuche durchführen?

Antwort

Dazu benötigt man ein RouteSearchPuT-Objekt, dem ein NetElements-Container mit Netzelementen übergeben wird. Ein Beispiel kann so aussehen:

Option Explicit


Sub Kurzwegsuche_OV()
Dim Visum As New VISUMLIB.Visum
Dim aLink As VISUMLIB.ILink
Dim aNode As VISUMLIB.INode
Dim aZone1 As VISUMLIB.IZone
Dim aZone2 As VISUMLIB.IZone
Dim aNetElementContainer As VISUMLIB.INetElements
Dim aRouteSearchPuT As VISUMLIB.IRouteSearchPuT


Visum.LoadVersion ActiveWorkbook.Worksheets("Einstellungen").Cells(1, 2)

Set aNetElementContainer = Visum.CreateNetElements
Set aRouteSearchPuT = Visum.Analysis.RouteSearchPuT
Set aZone1 = Visum.Net.Zones.ItemByKey(Cells(7, 2).Value)
Set aZone2 = Visum.Net.Zones.ItemByKey(Cells(8, 2).Value)

aNetElementContainer.Add aZone1
aNetElementContainer.Add aZone2

aRouteSearchPuT.Execute aNetElementContainer, "P", "08:00:00", "1", False, "ADDVAL1", False

End Sub

http://vision-traffic.ptvgroup.com/faq-files/PTV_ExampleShortestPathSearch.zip