Truyền biến từ tập lệnh ArcPy sang ModelBuilder?


9

Tôi có một mô hình chuyển một biến cho một kịch bản python. Kịch bản sử dụng biến đó để truy vấn một số thư mục và trả về một danh sách các đường dẫn. Điều tôi muốn biết là:

  • Làm thế nào tôi có thể sử dụng từng đường dẫn đó làm tham số trong một hoạt động tiếp theo?
  • Là cầu nối giữa python và ModelBuilder có phải là con đường một chiều không?

Câu trả lời:


8

Tôi giả sử rằng bạn đã thêm tập lệnh Python vào mô hình bằng cách trước tiên thêm tập lệnh Python vào hộp công cụ, đặt đầu vào tập lệnh thông qua tab Tham số.

Trong tab Tham số, bạn có thể thêm tham số mới cho đầu ra tập lệnh. Để làm điều này chỉ cần thay đổi:

  • các Directionthuộc tính tham số đến Output;
  • những Data Typephụ thuộc vào sản lượng Python sẽ (có thể là một chuỗi hoặc số nguyên, nhưng có lẽ một lớp đối tượng);
  • và sau đó là Typetrong Thuộc tính Parameter để Derived(mặc dù phải công bằng, RequiredOptionalsẽ làm việc tùy thuộc vào loại dữ liệu, nhưng tôi sẽ mô tả rằng bên dưới)

Sau đó, chúng ta chỉ cần sử dụng arcpy.SetParameterđể xuất từ ​​tập lệnh Python của bạn trở lại mô hình.

Một vài lưu ý:

  • Nếu bạn có tham số đầu ra được đặt thành Requiredhoặc Optionalbạn có thể cung cấp đầu vào cho tập lệnh của mình bằng cách cung cấp các giá trị mặc định, bạn có thể nhận được với arcpy.GetParameterhoặc từsys.argv
  • Số lượng tham số được đặt làm đầu ra phụ thuộc vào tổng số tham số cho tập lệnh Python của bạn (nghĩa là nếu bạn đã có hai tham số đầu vào trước tham số đầu ra thì bạn cần sử dụng arcpy.SetParameter(2, value))

Ngoài ra hãy xem các trợ giúp tham số công cụ tập lệnh Arcpy Cài đặt .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.