ArcPy betiğinden ModelBuilder'a değişken mi geçiyorsunuz?


9

Bir python komut dosyasına bir değişken geçiren bir model var. Komut dosyası, bazı dizinleri sorgulamak ve bir yol listesi döndürmek için bu değişkeni kullanır. Bilmek istediğim şey:

  • Daha sonra bu yolların her birini sonraki bir işlemde parametre olarak nasıl kullanabilirim?
  • Python ve ModelBuilder arasındaki köprü tek yönlü bir sokak mı?

Yanıtlar:


8

İlk olarak araç kutusuna Python komut dosyasını ekleyerek, komut dosyası girişini Parametreler sekmesinden ayarlayarak modele Python komut dosyasını eklediğinizi varsayalım.

Parametreler sekmesinde komut dosyası çıktısı için yeni parametreler ekleyebilirsiniz. Bunu yapmak için şunları değiştirmeniz yeterlidir:

  • Directioniçinde Parametre Özellikleri için Output;
  • Data TypePython çıkışı (muhtemelen bir dize veya tamsayı, ama belki bir özellik sınıfı) ne olacağı bağlı olarak;
  • ve daha sonra Typeiçinde Parametre Özellikleri için Derived(dürüst olmak gerekirse, gerçi Requiredve Optionalveri türüne bağlı çalışacak, ama ben aşağıda olduğunu anlatacağım)

Sonra sadece arcpy.SetParameterPython betiğinizden modele geri dönmek için kullanabiliriz.

Birkaç not:

  • Output parametresi olarak ayarlandıysa Requiredveya Optionalbetiğinize veya onlardan alabileceğiniz varsayılan değerler sağlayarak betiğinize girdi sağlayabilirsiniz arcpy.GetParameter.sys.argv
  • Çıktı olarak ayarlanacak parametrenin sayısı, Python komut dosyanızın toplam parametre sayısına bağlıdır (yani, çıktı parametrenizden önce iki giriş parametreniz varsa kullanmanız gerekir arcpy.SetParameter(2, value))

Ayrıca arcpy Ayar komut dosyası aracı parametreleri yardımına bir göz atın .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.