Câu trả lời cho câu hỏi này là có và không. Có thể với một số nỗ lực để làm mọi thứ trong Python mà bạn có thể làm trong .Net, nhưng dễ dàng và có thể là hai điều rất khác nhau. Theo đó, cách hiểu đơn giản nhất là không , Bổ trợ Python không thể làm nhiều như .Net Add-Ins. Tuy nhiên, các tác vụ bổ trợ Python có thể thực hiện dễ dàng hơn và nhanh hơn để thực hiện và kiểm tra.
Từ quan điểm kỹ thuật thuần túy, Khung bổ trợ máy tính để bàn ArcGIS cung cấp các chức năng sau:
- Một lược đồ dựa trên XML được xác định rõ để mô tả một loạt các điểm và thành phần tích hợp phổ biến trên máy tính để bàn: Nút, Thanh công cụ, Menu, Công cụ, Menu đa mục và Tiện ích mở rộng, cũng như cách dễ dàng kết nối các điểm này theo cách khai báo mã của bạn vào máy tính để bàn ArcGIS
- Một định dạng tệp và cấu trúc tệp (
.esriaddin
) để phân phối mã tùy chỉnh máy tính để bàn.
- Một cơ chế để cài đặt, xác minh và lưu vào bộ đệm đã được cài đặt
.esriaddins
, vì vậy nếu tệp nguồn bổ trợ đã được thay đổi, nó sẽ tải lại tệp đã thay đổi vào bộ đệm bổ trợ của máy tính để bàn cục bộ.
- Một bộ các cơ chế bảo mật và xác thực cho mã trong Bổ trợ: ký các
.esriaddin
tệp kỹ thuật số , kiểm soát quản trị đối với mức độ xác thực được yêu cầu để cho phép cài đặt Bổ trợ.
Khung bổ trợ ở đây thiếu là bất kỳ hợp đồng chính thức nào về hành vi hoặc chức năng đằng sau các nút, v.v. Khi bạn cài đặt .Net SDK cho ArcGIS, bạn sẽ tích hợp Visual Studio dưới dạng Trình hướng dẫn bổ trợ trong hộp thoại quản lý dự án của bạn , tài liệu, đoạn mã, các ràng buộc ArcObjects, v.v. Vì vậy, một khi bạn đã vượt qua các điểm nhập mà khung Bổ trợ cung cấp, Bổ trợ .Net cho phép bạn đi tiếp với các API ArcObjects, nó cũng đi kèm với các API , cũng như chứa một thư viện các đoạn mã của các tác vụ phổ biến đã có sẵn để sử dụng. Không có SDK dành cho nhà phát triển Python nào trong ArcGIS: tất cả các chức năng của Python được hiển thị thông qua arcgisscripting / arcpy và đã được đóng gói trong sản phẩm. Vì vậy, nơi SDK .Net xuất hiện dưới dạng tải xuống lớn, thứ gần nhất trong Python là tải xuống Trình hướng dẫn bổ trợ tương đối nhỏ.
Mặt khác, Python là khả năng tiêu thụ / thực hiện các giao diện COM , nhưng sử dụng COM từ Python không đi kèm với bất kỳ ArcGIS SDK hoặc tài liệu trong hệ thống trợ giúp ArcGIS. Nếu bạn chưa quen với việc phát triển ArcGIS, thì điều này đủ để trở thành rào cản để đẩy bạn đi trừ khi bạn thực sự biết bạn đang làm gì. Bạn có thể thực hiện COM bằng Python ở đây, nhưng nó đủ gần với Turing Tarpit rằng thật khó để biện minh cho thời gian sử dụng trừ khi bạn là người dùng ở cấp độ chuyên gia đã quen thuộc với COM và ArcObjects.
Tôi khuyên bạn nên nhìn vào những gì bạn có thể làm với arcpy . Bạn có thể tự động hóa rất nhiều tác vụ như gọi các công cụ xử lý địa lý và thực hiện thao tác hàng loạt các tài liệu bản đồ và Bổ trợ Python cho phép bạn sử dụng một số sự kiện chìm được xác định rõ và một số điều khiển hộp thoại ngoài khả năng cơ bản của Arcpy. Nếu bạn không thể nghĩ ra cách nào để hoàn thành nhiệm vụ của mình trong Python dựa trên những gì tài liệu nói (bạn cần một số tương tác giao diện người dùng phức tạp hoặc móc vào các sự kiện không được hiển thị trong Trình hướng dẫn bổ trợ Python hoặc sử dụng thứ gì đó chỉ có trong ArcObjects) , sau đó thực hiện phát triển của bạn trong .Net Add-In.
Xin lỗi, điều này mang nhiều sắc thái hơn là câu trả lời khó và nhanh, nhưng nó sẽ mang lại cho bạn một số ý kiến về việc bạn nên đi Python hay tuyến đường .Net trong Bổ trợ của bạn.
Tôi cho rằng tôi nên thêm tiết lộ này: Tôi đã thiết kế và phát triển nhiều chức năng cụ thể của Python cho Bổ trợ trong ArcGIS.