Daha çox

Marşrut analizindən vaxt məlumatları necə çıxarılır


Python-da həqiqətən sadə bir marşrut təhlili problemini həll edən bir skriptim var (verilmiş dayanacaqlar üçün optimal yol). Sənədlərdə analiz üçün bir başlanğıc tarixini təyin edə biləcəyini və onun çıxış təbəqəsi ilə əlaqəli vaxt məlumatını ala bildiyini gördüm. Hər şey ArcMap interfeysi vasitəsilə edilirsə, məlumat ayrı bir pəncərədə göstərilir. Təəssüf ki, bu məlumatlara skriptimdə daxil ola bilmədim (ayıklayıcıdan istifadə edərək) və çıxış qatında bu məlumatlar olmadığı görünür, buna görə bir növ çıxarılması lazım olduğunu düşünürəm.

Bunu necə edəcəyini bilən varmı?


Başlama tarixi vaxtından yararlana bilmək üçün şəbəkə verilənlər bazası üçün Trafik məlumatlarını aktivləşdirməlisiniz (məsələn, TomTom / Navteq sürət profillərindən istifadə etmək üçün).

Şəbəkə Analistində Trafik məlumatları haqqında daha çox məlumat əldə etmək. Arcpy-də na modulu haqqında daha çox məlumat (bəziləri burada istifadə olunur).

Marşrutu həll etdikdən sonra marşrutu yeni bir xüsusiyyət sinfinə ixrac etmək üçün istifadə etdiyim kod:

defolutionroute (): # Ətraf mühitini qurun arcpy.CheckOutExtension ("şəbəkə") # Dəyişənləri qurun networkDataset = r "C:  Program Files (x86)  ArcGIS  ArcTutor  Network Analyst  Tutorial  SanFrancisco.gdb  Transportation  Streets_ND "stop = r" C:  GIS  Temp  test.gdb  StopsSandiego "fastestRoute = r" C:  GIS  Temp  test.gdb  TimedRoute "# Ən sürətli təyin etmək üçün səyahət vaxtını empedans olaraq istifadə edərək yeni bir marşrut qatını düzəldin. marşrut routeLayer = arcpy.na.MakeRouteLayer (networkDataset, "StopsRoute", "Minutes", accumulate_attribute_name = ["TravelTime", "Meters"], start_date_time = "12/30/1899"). getOutput (0) # Şəbəkəni əldə edin marşrut qatından analiz sinif adları naClasses = arcpy.na.GetNAClassNames (routeLayer) # Marşrut qatından marşrutların alt qatını götürün routeSublayer = arcpy.mapping.ListLayers (routeLayer, naClasses ["Routes"]] .na.AddLocations (routeLayer, naClasses ["Durur"], dayanır) # Route qatını həll edin arcpy.na.Solve (routeLayer) # Arcpy.Exists (fastestRoute): arcpy.Del ete_management (fastestRoute) #print int (arcpy.GetCount_management (routeSublayer) .getOutput (0)) arcpy.management.CopyFeatures (routeSublayer, fastestRoute) həll yolu ()

Bu, mənə bütün müvafiq atributlarla (başlanğıc / bitmə vaxtı daxil olmaqla) diskdə saxlanan bir marşrut xüsusiyyəti (Polyline M) verir:


Videoya baxın: Avtobus qəzalarının sayı artıb (Oktyabr 2021).