Cách viết tool trong python

Khi bạn đã tạo tập lệnh Python, bạn có thể lưu nó dưới dạng chức năng hộp công cụ mới và thậm chí tạo nút công cụ cho nó

Ghi chú. Python có một số khả năng để tạo các thành phần giao diện người dùng như hộp thoại nhưng ESRI không còn hỗ trợ việc nhà phát triển thêm tiện ích mở rộng vào ArcGIS có giao diện người dùng phức tạp. Hiện tại, hãy sử dụng các thành phần giao diện người dùng do Esri cung cấp và chúng ta sẽ nói về việc sử dụng các thành phần giao diện người dùng khác trong tương lai

1. Tạo tập lệnh để sử dụng trong hộp công cụ

Tập lệnh cho các công cụ hộp công cụ rất giống với tập lệnh Python thông thường mà chúng tôi đã tạo. Sự khác biệt chính là bạn sẽ cần đọc các tham số mà người dùng đặt trong hộp thoại công cụ. Chúng được truyền qua "tham số". Tập lệnh Python của bạn sẽ đọc các giá trị của tham số thành các biến mà bạn có thể sử dụng trong tập lệnh của mình. Mã bên dưới sẽ đọc trong tham số đầu tiên hiển thị dưới dạng thông báo trong hộp thoại. Nhập mã này vào rồi tiếp tục tạo tool

import arcpy

TheFirstParameter=arcpy.GetParameterAsText[0]
 
arcpy.AddMessage["TheFirstParameter="+TheFirstParameter]

3. Tạo một công cụ hộp công cụ từ một tập lệnh

  1. Mở ArcCatalog
  2. Mở "Hộp công cụ"
  3. Nhấp chuột phải vào "Hộp công cụ của tôi" và chọn "Mới -> Hộp công cụ"
  4. Điều này có vẻ lạ nhưng đừng chọn "Mới -> Hộp công cụ Python". Đây là một cách phức tạp hơn để thêm các tập lệnh Python vào ArcMap và chúng ta sẽ nói về chúng sau khi thực hiện phương pháp đơn giản

Ghi chú. Nếu bạn muốn phân phối công cụ của mình, KHÔNG tạo nó trong "Hộp công cụ của tôi". Thư mục này nằm trong thư mục "Tài liệu và cài đặt" của bạn và có thể bị ẩn khỏi bạn. Bạn có thể không phân phối được vì bạn sẽ không thể tìm thấy nó. Thay vào đó, hãy tạo công cụ trong "Kết nối thư mục" tới một thư mục mà bạn có thể dễ dàng tìm thấy

  1. Đặt cho hộp công cụ mới một cái tên hay
  2. Nhấp chuột phải vào hộp công cụ mới và chọn "Add->Script. "

  1. Đưa ra kịch bản và tên và nhãn thích hợp
  2. Đảm bảo rằng Lưu trữ tên đường dẫn tương đối được chọn hoặc bạn sẽ không thể di chuyển các công cụ của mình sang một thư mục khác và nhấp vào Tiếp theo
  3. Trong hộp thoại xuất hiện, duyệt đến tệp tập lệnh của bạn
  4. Bạn có thể muốn kiểm tra Hiển thị cửa sổ lệnh khi thực thi tập lệnh ít nhất để gỡ lỗi
  5. Bấm tiếp
  6. Hộp thoại tiếp theo là để xác định các tham số đi vào tập lệnh của bạn. Bắt đầu bằng cách nhấp vào ngay bên dưới Tên hiển thị và đặt tên hay cho tham số đầu tiên như Lớp đầu vào. Hãy nhớ rằng đây có thể là đường dẫn tệp hoặc tên của một lớp được tải vào ArcGIS [ArcGIS sẽ lưu tệp vào một vị trí tạm thời và sau đó tải đầu ra từ tệp vào một lớp mới]
  7. Nhấp ngay bên dưới Loại dữ liệu và chọn Lớp tính năng
  8. Trong dòng tiếp theo, thêm Tên hiển thị cho Thuộc tính và đặt Loại dữ liệu thành Trường. Đây là cách bạn thêm một lựa chọn cho một cột thuộc tính trong một công cụ
  9. Chúng ta cần cho ArcMap biết lớp nào sẽ lấy các thuộc tính từ đó xuống trong Thuộc tính tham số, nhấp vào Đã lấy từ và chọn Lớp đầu vào. Điều này liên kết Lớp đầu vào của chúng tôi với Thuộc tính tham số
  10. Thêm một tham số khác, Lớp đầu ra và chọn Lớp tính năng cho loại dữ liệu
  11. Đối với Lớp đầu ra, chúng ta cần cho ArcGIS biết rằng đây là lớp sẽ được lưu thay vì lớp đã tồn tại. Với Lớp đầu ra được chọn, nhấp vào Hướng trong Thuộc tính tham số và chọn Đầu ra
  12. Đối với tên tham số cuối cùng, nó giống như Khoảng cách và sau đó chọn Chuỗi cho kiểu dữ liệu

Ghi chú. Bạn có thể đã xem xét "Double" hoặc một loại số khác cho khoảng cách. Bạn có thể làm điều này nhưng nếu bạn xem tài liệu trợ giúp ESRI, bạn sẽ thấy rằng chúng luôn có tất cả các tham số dưới dạng chuỗi. Đây không phải là cách thực hành mã tốt nhất nhưng nó cho phép bạn thêm một đơn vị vào khoảng cách, chẳng hạn như "100 mét"

Xong tool chạy thử xem có nhận hộp thoại với tham số mình gõ vào không. Bây giờ hãy thử nó cho các thông số khác. Dành thời gian thử các tham số khác nhau trong công cụ và hiển thị chúng trong hộp thông báo

4. Các kiểu dữ liệu phổ biến

Bạn có thể nhận thấy rằng có rất nhiều loại dữ liệu có sẵn. Dưới đây là danh sách những cái bạn có thể thường sử dụng

  • Bộ tính năng - Một shapefile hoặc một bộ tính năng trong Cơ sở dữ liệu địa lý
  • Lớp raster - Một tệp raster [img, tif, v.v. ] hoặc raster trong Cơ sở dữ liệu địa lý
  • Chuỗi - Bất kỳ chuỗi văn bản nào
  • Double - Giá trị dấu phẩy động 64 bit
  • Trường - Một cột trong bảng thuộc tính từ một bộ tính năng
  • Dài - Số nguyên 64 bit
  • Ngày - Chuỗi ngày được định dạng ở Hoa Kỳ

Lưu ý rằng loại số nguyên duy nhất là "Long" và loại dấu phẩy động duy nhất là "Double"

5. Công cụ chia sẻ

Thực sự rất dễ dàng để chia sẻ các công cụ đơn giản trong ArcGIS. Chỉ cần đặt tập lệnh Python của bạn vào một thư mục có thể truy cập dễ dàng, sau đó tạo công cụ của bạn trong cùng một thư mục thông qua Kết nối thư mục [i. e. không phải Hộp công cụ của tôi]. Bạn sẽ muốn cho phép người dùng đặt công cụ ở bất kỳ đâu trong cấu trúc thư mục của họ, vì vậy hãy kiểm tra tùy chọn sử dụng đường dẫn tương đối và đảm bảo đường dẫn tập lệnh chỉ bao gồm tên của tệp tập lệnh. Bạn cũng sẽ muốn đảm bảo rằng tập lệnh Python của bạn chỉ sử dụng các đường dẫn do người dùng cung cấp [hoặc bởi ArcGIS như không gian làm việc]

ArcMap giúp dễ dàng thêm trợ giúp vào các công cụ của bạn. Nhấp chuột phải vào công cụ và chọn Thuộc tính rồi chọn tab Chung. Nếu bạn thêm văn bản vào hộp Mô tả, nó sẽ xuất hiện trong bảng trợ giúp bên cạnh công cụ của bạn. Ngoài ra, hãy cung cấp các thông số tốt, rõ ràng, tên cho những gì người dùng sẽ nhập. Bạn thậm chí có thể thêm tên tham số bao gồm các hạn chế đối với tham số như

Output path for the image [only 'png' and 'jpg' files are supported]:

Xem phần 7. 4 để biết thêm thông tin về các công cụ lập tài liệu

Đảm bảo tập lệnh Python của bạn cung cấp các thông báo lỗi tốt giúp người dùng xác định điều gì đã xảy ra. Có thể bạn đã biết rằng không có gì khó chịu hơn là chạy một chương trình phần mềm và nhận được thông báo mà bạn không thể hiểu hoặc không có thông báo nào khi xảy ra sự cố. Bây giờ đến lượt bạn trở thành nhà phát triển mà mọi người đánh giá cao hoặc ghét

6. Kiểm tra tập lệnh của bạn

Có rất nhiều phiên bản ArcGIS hiện có và sẽ chỉ có nhiều phiên bản hơn trong tương lai. Ngoài ra còn có rất nhiều hệ điều hành, phiên bản Python và các định dạng tệp khác nhau. Đảm bảo rằng bạn đã thử nghiệm các công cụ của mình trên nhiều tùy chọn mà bạn nghĩ rằng người dùng sẽ có và hơn thế nữa. Ngoài ra, ghi lại trong công cụ của bạn những gì nó hoạt động và những gì nó không. Điều này sẽ giúp bạn và người dùng của bạn tránh được nhiều sự thất vọng

ArcGIS có thói quen gặp sự cố và phải chấm dứt các quy trình của nó khi tạo công cụ. Hầu hết người dùng thậm chí sẽ không biết cách tắt một quy trình, hãy cảm thấy ổn về nó. Họ có thể sẽ đổ lỗi cho công cụ của bạn thay vì ArcGIS [mặc dù công cụ của bạn không thể làm hỏng ArcGIS], vì vậy bạn cần thực sự kiểm tra công cụ của mình thậm chí đến mức cố gắng phá vỡ nó và đảm bảo rằng nó mạnh nhất có thể

Ghi chú. Các nhà phát triển nổi tiếng là rất tệ trong việc thử nghiệm các chương trình, đặc biệt là của chính họ

Phiên bản với Tkinter [tùy chọn]

Đoạn mã dưới đây cho biết cách hiển thị thông tin gỡ lỗi bằng thư viện Tkinter. Điều này cho phép linh hoạt hơn so với cách tiếp cận ở trên nhưng có thể gặp sự cố [sẽ nói thêm về điều này sau]

import arcpy
import Tkinter
import tkMessageBox

root=Tkinter.Tk[]
root.withdraw[]

TheFirstParameter="Test"

if [True]:
    TheFirstParameter=arcpy.GetParameterAsText[0]
 
tkMessageBox.showinfo["Parameter Info","TheFirstParameter="+TheFirstParameter]

Lưu ý rằng tôi đã đặt mã gọi ArcGIS bên trong câu lệnh "nếu". Điều này là để tôi có thể tắt nó dễ dàng khi chúng tôi chạy tập lệnh bên ngoài ArcGIS [sẽ nói thêm về điều này sau]

Làm cách nào để tạo một công cụ trong Python?

Mã mẫu được sử dụng để tạo hộp công cụ Python được hiển thị trong Chủ đề mẫu hộp công cụ Python. .
Trong ngăn Danh mục, nhấp vào Hộp công cụ
Nhấp vào Hộp công cụ Python mới
Duyệt đến thư mục mà bạn muốn lưu hộp công cụ Python, nhập tên vào hộp văn bản Tên và nhấp vào Lưu

Công cụ Python là gì?

Như bạn đã lưu ý, tol là dung sai cho tiêu chí dừng . Điều này yêu cầu scikit ngừng tìm kiếm mức tối thiểu [hoặc tối đa] sau khi đạt được một số dung sai, tôi. e. một khi bạn đủ gần.

Làm thế nào để viết mã Python?

Làm theo các bước sau để chạy Python trên máy tính của bạn. .
Tải xuống Thonny IDE
Chạy trình cài đặt để cài đặt Thonny trên máy tính của bạn
Đi đến. Tệp > Mới. Sau đó lưu tệp với. .
Viết mã Python trong tệp và lưu nó. Chạy Python bằng Thonny IDE
Sau đó, Đi đến Chạy> Chạy tập lệnh hiện tại hoặc chỉ cần nhấp vào F5 để chạy nó

Làm cách nào để chỉnh sửa mã Python?

Đối với một số lệnh GainSeeker Python, trước tiên bạn có thể sử dụng giao diện Hành động đơn giản để chèn một khối mã cơ bản, sau đó sửa đổi mã đó theo ý muốn. Để làm như vậy, hãy nhấp chuột phải vào dòng mã mà bạn muốn chèn khối mã cơ bản, sau đó chọn Thêm hành động .

Chủ Đề