Vairāk

Kā piekļūt tīkla analītiķa slāņa vienumam ArcPy?

Kā piekļūt tīkla analītiķa slāņa vienumam ArcPy?


Man ir Python skripts, pie kura strādāju. Esmu izveidojis slāni Tuvākā iekārta (atmiņā). Pievienoju telpas. Pievienoju incidentus. Es izpildu risinājumu. Šie visi ir pabeigti. Vienīgā problēma ir tā, ka šķiet, ka nav iespējas piekļūt kādam no rezultātiem.

Es esmu ieguvis apraksta objektu no tīkla analīzes slāņa. Es saņēmu tīkla analīzes slāņa bērnus. Es varu uzzināt katra bērna vārdu, bet tādā mērā. Katram bērnam ir jābūt raksturīgam slānim, taču neviena no tām nedarbojas: “Kļūda, izpildot rīku”. Es varu iegūt datu slāņa objektu katram slānim. Katrs datu kopas objekts sevi sauc par funkciju klasi. Arī es nevaru panākt, lai šīs funkciju funkcijas klases darbotos pie šīm funkciju kategorijām. Es saņemu to pašu muļķīgo kļūdu.

Dokumentācija par tīkla analīzes ieviešanu programmā Python ir nožēlojami nepilnīga.

Kā es varu piekļūt atrisinājuma rezultātiem? Man vienkārši vajag kaut ko, ko es varu ievadīt arkpy.GetCount rīkā, nekas cits.


Es neesmu 100% pārliecināts, ka saprotu jūsu jautājumu ... vai viss, kas jums nepieciešams, ir atrisināto ierakstu skaits dažādiem bērnu slāņiem, vai arī jūs vēlaties iegūt tādus datus kā ceļojuma laiks utt.?

Jebkurā gadījumā var palīdzēt šāds koda fragments. Tas izmanto kursorus, lai tīkla analītiķa maršruta slānī izietu pa apakšslāni Maršruti un iegūtu lauka datus un visu atrisināto maršrutu skaitu. Mainīgais sCur ir kursors, kas meklē maršrutu slāni, uRow ir kursors, kas atjaunina citas objektu klases atribūtu tabulu ar apkopotajām vērtībām.

#Iegūstiet ceļojuma laika lauka vērtību no apakšslāņa Routes #initialize, lai turētu count recordCount = 0 #izveidojiet meklēšanas kursoru sCur = arcpy.SearchCursor ("Route  Routes") rindai sCur: TripTime = row.getValue ( "Total_TravelTime") EndTime = row.getValue ("EndTime") #print EndTime # Iestatiet ceļojuma laika lauka vērtību izcelsmes objektu tabulā. uRow.setValue ("Trip_A_Time850", TripTime) uRow.setValue ("Trip_A_EndTime850", EndTime) # Atjauniniet rindu. uCur.updateRow (uRow) # pārvietojiet kursoru uz nākamo ierakstu. uRow = uCur.next () recordCount += 1 #(izmanto diagnostikai): drukāt "recordCount:", recordCount x += 1

Pāris lasīšanas saites (lūdzu, nesitiet mani, ja esat to jau pārsniedzis miljonu reižu):

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Closest_facility_analysis/00470000004n000000/ (visu tuvāko objekta slāņu lauku nosaukumu saraksts).

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//002z0000001q000000 (kursoru apraksts).

Ceru tas palīdzēs,

Maikls


Atbilde uz manu jautājumu ir tāda, ka, izpildot risinājumu, tiek izveidots atmiņas slānis ar nosaukumu "Maršruti". Lai noskaidrotu funkciju skaitu, vienkārši rīkojieties šādi:

int (arcpy.GetCount_management ("Maršruti"). getOutput (0))

Skatīties video: Geospatial Deep Learning with ArcGIS - Rohit Singh, Director of Esri Ru0026D Center