Vairāk

Kā iegūt un izveidot funkciju klases Python rīkjoslās?


Es rakstu savu pirmo python rīklodziņu. Es zinu, ka partiju apstrādē ir veids, kā to izdarīt, bet koncepcijas pierādīšanai es vēlos uzrakstīt šo pyt rīku, lai izsauktu rīku Klips un pievienotu kartei iegūtās funkciju klases.

Saskaņā ar dokumentāciju šādā veidā jums vajadzētu izsaukt klipu rīku:

arcpy.Clip_analysis ('input_feature', 'clip_feature', 'output_feature')

Parametri, kurus esmu definējis savam rīkam, ir divi "funkciju slāņi", kurus lietotājs var izvēlēties, un pēc tam atvasināts parametrs, kas ir funkciju slānis un izvade.

Pēc parametru noteikšanas vienīgā koda daļa, kas kaut ko dara, ir izpildes funkcija. Es tikai vēlos izsaukt Clip_analysis ar lietotāja definēto funkciju slāņu nosaukumiem un pēc tam izvadīt uz atvasināto izvades funkciju slāni.

Šķiet, ka izsaucot Clip_analysis ar šiem parametriem, tiks izvadīts uz gdb, kurā es strādāju, taču tas netiks parādīts pašreizējā slānī arcmap. Kā es varu to atrisināt?


ArcPy vēlaties izmantot AddLayer. Kaut ko līdzīgu šim kodam vajadzētu darīt to, ko jūs lūdzat:

mxd = arcpy.mapping.MapDocument ("CURRENT") df = arcpy.mapping.ListDataFrames (mxd, "Layers") [0] arcpy.Clip_analysis ('input_feature', 'clip_feature', 'output_feature') arcpy.mapping.AddLayer (df, addLayer, "AUTO_ARRANGE")

Jautātājs sniedza šo atbildi savā jautājumā, tāpēc tas ir izgriezts/ielīmēts šeit:

Es sapratu, kāda ir problēma. Es ļāvu tai darboties kā fona programmai, tāpēc tai nebija ne jausmas par pašreizējo darbvietu.


Skatīties video: Learn Python - Full Course for Beginners Tutorial (Oktobris 2021).