Viết kịch bản & ArcScripts cho ArcGIS
Quay lại
Tập lệnh & Mô hình GIS
Một trong những điểm mạnh của phần mềm ESRI [và của hầu hết các phần mềm GIS nói chung] là khả năng tạo mã hoặc tập lệnh tùy chỉnh để cho phép lặp lại các tác vụ thông thường cũng như mở rộng chức năng của phần mềm. Ngoài việc đơn giản là tạo các tập lệnh để sử dụng riêng, một mạng lưới chia sẻ các tập lệnh cũng đã phát triển giữa những người dùng GIS và qua nhiều năm, cộng đồng GIS đã đóng góp rất nhiều mã hóa để bổ sung cho phần mềm cơ bản. Các tập lệnh này thường hoàn thành một tác vụ cụ thể, sử dụng chức năng hiện có [tự động hóa các tác vụ phức tạp và/hoặc lặp lại, v.v. ]. Trong một số trường hợp, các tập lệnh này cuối cùng được tích hợp vào chính phần mềm [do đó ESRI tận dụng cơ sở người dùng để giúp xác định chức năng nào cần được xử lý và thậm chí có thể cả việc viết mã…]
Gần đây hơn, với sự ra đời của ArcGIS ModelBuilder [một công cụ tạo kịch bản đồ họa], cũng có khả năng chia sẻ các mô hình, được thiết kế để thực hiện một loạt các bước xử lý địa lý cụ thể
ArcScript
ArcScript [http. //arcscripts. esri. com/] là một địa điểm trực tuyến để chia sẻ các tập lệnh được thiết kế để hoạt động với phần mềm ESRI. Lưu ý rằng nhiều nguồn trực tuyến khác cũng tồn tại để chia sẻ các tập lệnh GIS [ESRI và các nguồn khác]. Tuy nhiên, ArcScripts là một trong những phần mềm lớn nhất, được tổ chức tốt và bảo trì thường xuyên
Các tập lệnh và mô hình có thể được tìm kiếm theo Ngôn ngữ, Phần mềm, Từ khóa [chủ đề] hoặc kết hợp của chúng. Với lịch sử lâu hơn của dòng lệnh ArcInfo và ArcView 3. x, số lượng. aml và. các tập lệnh ave vượt quá các tập lệnh được viết cho ArcGIS [tệp VB, tập lệnh Python và mô hình ModelBuilder]. Tuy nhiên, sự cân bằng này đã thay đổi khi cộng đồng ESRI chuyển sang ArcGIS cho nhu cầu xử lý địa lý hàng ngày của họ cũng như 'hậu trường'
Các tập lệnh được tìm thấy thông qua các công cụ tìm kiếm được liên kết với trang Chi tiết tập lệnh [thường chứa thông tin về việc sử dụng và các giới hạn của tập lệnh], với liên kết để tải xuống tập lệnh. Các bản tải xuống thường được nén và thường có một số loại hướng dẫn hoặc tệp readme đi kèm [ngoài thông tin có trên trang Chi tiết tập lệnh trực tuyến]
Ngôn ngữ kịch bản
Các nền tảng phần mềm khác nhau sử dụng các ngôn ngữ lập trình khác nhau. Đối với người dùng ESRI, các công cụ/ngôn ngữ tập lệnh phổ biến hơn [được liệt kê từ hiện tại đến cũ hơn] là
Mô HìnhNgười Xây DựngMô Hình. Các mô hình có thể được xây dựng trong ArcMap hoặc ArcCatalog, sử dụng ArcToolbox và ModelBuilder. Các mô hình này có thể kết hợp bất kỳ công cụ nào có sẵn từ ArcToolbox cũng như các bộ dữ liệu và tham số cho một loạt các bước xử lý địa lý. Những mô hình này có thể được lưu trong một hộp công cụ [một. tbx] và được chia sẻ với những người dùng khác [những người có thể chèn bộ dữ liệu và/hoặc tham số của riêng họ]. Ngoài ra, các mô hình có thể được xuất sang tập lệnh Python để tùy chỉnh thêm. Mặc dù xuất hiện dưới dạng hiển thị đồ họa của các công cụ và dữ liệu, một mô hình thực sự là một loại tập lệnh có GUI [giao diện người dùng đồ họa] để hiển thị và thao tác nội dung, giúp đơn giản hóa rất nhiều quá trình viết. Xem ghi chú sử dụng ModelBuilder bên dưới
con trăn. Với việc phát hành ArcGIS 9. 0, ESRI đã thêm khả năng tạo tập lệnh bằng nhiều ngôn ngữ lập trình [Python, VBScript, Jscript, Perl]. Python đã được chọn [bởi ESRI và WWU] làm ngôn ngữ ưu tiên do tính dễ sử dụng của nó. Python là một ngôn ngữ thông dịch, hướng đối tượng. Nó cũng độc lập với nền tảng [nó hoạt động trên UNIX và Linux cũng như Windows] và là mã nguồn mở. Xem ghi chú sử dụng Python bên dưới
Visual Basic [VB, VBA, VBScript]. Với việc giới thiệu ArcGIS, ESRI đã chuyển nền tảng phần mềm chính của họ sang Mô hình Đối tượng Thành phần [COM] của Microsoft. Như vậy, ngôn ngữ kịch bản gốc là Visual Basic [VB]. Mã VB có thể được thêm dưới dạng 'macro' hoặc được biên dịch dưới dạng. dll cần được cài đặt qua hệ điều hành Windows. Xem ghi chú sử dụng VB bên dưới
ĐẠI LỘ. Một ngôn ngữ lập trình dành riêng cho ứng dụng, hướng đối tượng, được phát triển để tùy chỉnh ArcView [3. x]. Như với. aml, không có phương pháp nào để dịch trực tiếp một. ave sang Python, VB hoặc. aml
AML [Ngôn ngữ vĩ mô vòng cung]. đây là ngôn ngữ dành riêng cho ứng dụng [được viết riêng cho ArcInfo dòng lệnh] được phát triển để xử lý địa lý và tạo ứng dụng người dùng cuối, bao gồm đầu ra bản đồ. AML là ngôn ngữ thuật toán 'cấp cao'. Vì ArcInfo dòng lệnh là một trong những công ty hàng đầu trong ngành trong nhiều năm, một số lượng lớn. tập tin aml đã được viết. Mặc dù những thứ này không thể dịch trực tiếp sang Python hoặc VB, nhưng chúng vẫn cung cấp thư viện nếu ý tưởng… Ngoài ra, với giấy phép ArcInfo của ArcGIS, nhiều. các tệp aml có thể được sử dụng trực tiếp trong ArcGIS. Để sử dụng các tệp AML trong ArcGIS, hãy xem thêm
Trợ giúp Trực tuyến ArcGIS [trợ giúp web. esri. com/arcgisdesktop/9. 1]
[xem. Viết tập lệnh xử lý địa lý / Công cụ nhắn tin và tập lệnh / Sử dụng AML với công cụ tập lệnh]
Sử dụng các loại tập lệnh khác nhau cho ArcGIS
Hai ngôn ngữ kịch bản chính được sử dụng với ArcGIS là Python và VB. Ngoài ra, người dùng cũng có thể chia sẻ các mô hình được tạo trong ModelBuilder và Hộp công cụ tùy chỉnh [. tbx, có thể tùy ý lưu trữ trong cơ sở dữ liệu địa lý]. Chi tiết về các phương pháp viết kịch bản khác nhau này và cách sử dụng chúng được cung cấp bên dưới
1. Tệp trực quan cơ bản. Các tệp VB có ba loại để sử dụng trong ArcGIS [theo thứ tự phức tạp tăng dần]
1a. Macro VBScript và VBA
1b. VB. dll [Thư viện liên kết động]
1c. VB thực thi
1ngày. Phần mở rộng ArcGIS
2. Tập lệnh Python
3. Mô hìnhMô hình Bulder
1. Ngôn ngữ lập trình
1a. Macro VBScript và VBA. đây là các tệp VBA [Visual Basic for Applications] hoặc VBScript có thể được thêm vào một. mxd qua menu Tools/Macro/Visual Basic Editor và/hoặc menu Tools/Customize. Khi các macro [tập lệnh] này đã được thêm vào một dự án, chúng có thể được thực thi [chạy] từ menu Công cụ / Macro hoặc từ một biểu tượng được liên kết trên thanh công cụ, thực hiện một loạt các bước. Macro VB không yêu cầu quyền quản trị viên để cài đặt, vì chúng được chứa trong. mxd, không phải tệp hệ điều hành. Macro cũng có ưu điểm là có thể chỉnh sửa được [tôi. e. , người dùng có thể thay đổi mã để tùy chỉnh chức năng]. Việc cài đặt các tệp này yêu cầu người dùng phải hiểu và có thể điều hướng môi trường VBA cơ bản để tùy chỉnh ArcGIS
Các bước cơ bản để thêm tập lệnh VB vào ArcMap là
Từ menu Công cụ, chọn Macro/Macro
Nhập tên cho macro mới của bạn
Chọn có lưu trữ macro trong hiện tại hay không. mxd [Dự án] hoặc trong Bình thường. mxt hoặc trong Tất cả các Dự án Tiêu chuẩn - nếu được lưu trữ trong Bình thường. mxt, nó sẽ khả dụng bất cứ lúc nào ArcMap được mở [lưu ý rằng tại WWU, sinh viên không có quyền truy cập để tạo/lưu Bản đồ thông thường. mxt nên muốn chọn tùy chọn Dự án]
Nhấp vào Tạo
Thao tác này sẽ mở trình soạn thảo VB, với cửa sổ Dự án - Mô-đun đang mở
Sử dụng Sao chép và Dán, sao chép mã từ macro bạn muốn sử dụng vào cửa sổ Dự án - Mô-đun - có thể bạn sẽ cần xóa văn bản mặc định [Phụ. End Sub] trước
Trong hộp thoại phía trên bên phải của cửa sổ Dự án - Mô-đun, chọn tên của mô-đun đã dán từ danh sách thả xuống
Lưu Dự án [Menu Tệp/Lưu Dự án hoặc biểu tượng Lưu]
Đóng trình soạn thảo Visual Basic
Để chạy [thực thi] macro
Một lần nữa chọn Macro/Macro từ menu Công cụ
Chọn tên của macro bạn muốn chạy
Nhấp vào Chạy
Macro cũng có thể được chỉnh sửa bằng cách chọn Chỉnh sửa
Để liên kết và chạy macro với một biểu tượng
Từ menu Công cụ, chọn Tùy chỉnh
Nhấp vào tab Lệnh
Trong hộp thoại Danh mục [bên trái], cuộn xuống và chọn Macro
Nếu macro của bạn được lưu trong. mxd, chọn. mxd trong ô Save in
Kéo và thả macro mong muốn từ hộp thoại Lệnh [bên phải] vào bất kỳ thanh công cụ nào
Giờ đây, biểu tượng có thể được sử dụng tương tự như bất kỳ biểu tượng nào khác trên thanh công cụ
Có thể chỉnh sửa macro bằng cách nhấp chuột phải vào biểu tượng và chọn Xem nguồn
Các bước cơ bản để thêm VBScript dưới dạng UITool trong ArcMap là
Từ menu Công cụ, chọn Tùy chỉnh
Nhấp vào tab Lệnh
Trong hộp thoại Danh mục [bên trái], cuộn xuống và chọn UIControls
Trong hộp thoại Lưu vào [ở cuối cửa sổ Tùy chỉnh], chọn hiện tại. mxd hoặc Bình thường. mxt [lưu ý rằng tại WWU, sinh viên không có quyền truy cập để tạo/lưu tệp Bình thường. mxt nên muốn chọn tệp hiện tại. mxd tùy chọn]
Nhấp vào UIControl mới
Trong hộp thoại New UIControl, chọn UIToolControl cho Công cụ [hoặc UIButtonControl cho nút, v.v.]
Nhấp vào Tạo
Đóng cửa sổ Tùy chỉnh
Để thêm mã cho Công cụ, nhấp chuột phải vào biểu tượng công cụ và chọn Xem Nguồn
Sao chép và Dán mã cho UITool vào cửa sổ Visual Basic Editor [Tài liệu này] - có thể bạn sẽ cần xóa văn bản mặc định [Phụ. End Sub] trước
Lưu Dự án [Menu Tệp/Lưu Dự án hoặc biểu tượng Lưu]
Đóng trình soạn thảo Visual Basic
Nhấp vào biểu tượng công cụ để sử dụng nó như bình thường [các công cụ thường cho phép chuột thực hiện chức năng mới. ]
Lưu ý rằng có thể xóa UITool khỏi [hoặc định vị lại trên] thanh công cụ bằng cách chọn Tùy chỉnh từ menu Công cụ, sau đó kéo biểu tượng không mong muốn ra khỏi thanh công cụ [đến bất kỳ nơi nào khác] hoặc đến vị trí mới trên thanh công cụ. Điều này chỉ có thể được thực hiện khi cửa sổ Tùy chỉnh đang mở
Xem thêm
Trợ giúp Trực tuyến ArcGIS [trợ giúp web. esri. com/arcgisdesktop/9. 1]
[xem. Tùy chỉnh giao diện người dùng / Tạo, chỉnh sửa và chạy macro]
1b. tập tin dll VB. Các tệp Thư viện liên kết động [dll] thường phức tạp hơn một macro đơn giản. Này. dll là các tệp VB [Visual Basic] cần được ‘tải’ [cài đặt] qua hộp thoại Công cụ / Tùy chỉnh bằng nút Thêm từ tệp…. Một khi. dll đã được cài đặt, nó sẽ có sẵn từ cửa sổ Lệnh của hộp thoại Tùy chỉnh và có thể được thêm vào bất kỳ thanh công cụ nào trong ArcMap hoặc ArcCatalog. Sau khi thêm công cụ vào thanh công cụ, người dùng có thể sử dụng công cụ bằng cách nhấp vào biểu tượng như với bất kỳ công cụ nào khác trên thanh công cụ. Bởi vì. dll cần được cài đặt trong Tệp chương trình của hệ điều hành, các tệp này thường yêu cầu quyền quản trị viên để cài đặt. Sau khi cài đặt, bất kỳ thông tin đăng nhập nào cũng có thể thêm công cụ vào thanh công cụ và/hoặc sử dụng công cụ. Các tệp này được biên dịch và không thể chỉnh sửa/tùy chỉnh [mặc dù tác giả có thể chọn đưa vào mã chưa biên dịch được sử dụng để tạo tệp. dll cũng vậy]. Tuy nhiên, chúng tương đối dễ cài đặt [đơn giản hơn macro VBA]
Các bước cơ bản để cài đặt một. dll trong ArcMap là
Từ menu Công cụ, chọn Tùy chỉnh
Nhấp vào nút Thêm từ tệp ở cuối cửa sổ Tùy chỉnh
Duyệt đến và chọn. dll được cài đặt
Bấm OK trong hộp thoại Đối tượng đã thêm
Nhấp vào tab Lệnh trong cửa sổ Tùy chỉnh
Trong hộp thoại Danh mục [bên trái], cuộn xuống và chọn tiêu đề Danh mục cho tệp đã cài đặt. dll [bạn sẽ cần đọc tệp trợ giúp hoặc tệp readme đi kèm với. dll để xác định đây là gì/ở đâu]
Trong hộp Lưu vào, chọn nơi bạn muốn lưu trữ biểu tượng công cụ này [các lựa chọn là biểu tượng hiện tại. mxd hoặc trong Bình thường. mxt [lưu ý rằng tại WWU, sinh viên không có quyền truy cập để tạo/lưu tệp Bình thường. mxt nên muốn chọn tệp hiện tại. mxd tùy chọn]
Kéo và thả lệnh [công cụ] mong muốn từ hộp thoại Lệnh [bên phải] vào bất kỳ thanh công cụ nào
Đóng cửa sổ Tùy chỉnh
Giờ đây, biểu tượng có thể được sử dụng tương tự như bất kỳ biểu tượng nào khác trên thanh công cụ
1c. VB thực thi. Đây là những tập tin [đôi khi bao gồm một. dll] cần được cài đặt thông qua tệp thực thi [. tập tin exe]. Như với tải. dll từ hộp thoại tùy chỉnh, quá trình này yêu cầu đăng nhập quản trị viên. Quá trình cài đặt diễn ra bên ngoài ArcGIS [thông thường,. exe được chạy từ Windows Explorer]. Sau khi cài đặt, công cụ [hoặc công cụ hoặc menu] có sẵn cho tất cả người dùng ArcGIS. Như với. dll, các tệp này không thể chỉnh sửa được
Các bước cơ bản để thêm một. tập tin exe là
Khuyến khích. Đóng ArcMap và/hoặc ArcCatalog nếu chúng đang mở
Nhấp đúp chuột vào. tập tin exe
Làm theo hướng dẫn cài đặt được cung cấp cùng với tệp hoặc qua hộp thoại trình cài đặt tệp
1ngày. Phần mở rộng ArcGIS. Về mặt kỹ thuật, một danh mục con của các tệp thực thi VB, Tiện ích mở rộng ArcGIS thường là một bộ sưu tập các công cụ và/hoặc menu được đóng gói, phức tạp hơn. Không giống như phần lớn các tập lệnh được liệt kê ở trên [thường là các tinh chỉnh và sắp xếp lại các công cụ hiện có], Tiện ích mở rộng thường bổ sung chức năng cho bộ công cụ ArcGIS cơ bản [e. g. tiện ích mở rộng Phân tích 3D]. Tiện ích mở rộng được cài đặt thông qua một. exe và như vậy yêu cầu đăng nhập quản trị viên. Quá trình cài đặt diễn ra bên ngoài ArcGIS [thông thường,. exe được chạy từ Windows Explorer]. Sau khi cài đặt, tiện ích mở rộng có sẵn cho tất cả người dùng ArcGIS. Những tập tin này không thể được chỉnh sửa
2. Tập lệnh Python
Tệp Python là tệp văn bản [thường có phần mở rộng. phần mở rộng py]. Chúng có thể được chỉnh sửa bằng bất kỳ trình soạn thảo văn bản nào. Ứng dụng chỉnh sửa ưa thích là PythonWin [trình chỉnh sửa độc lập cho các tập lệnh Python đi kèm với ArcGIS], cung cấp trợ giúp về cú pháp và mã hóa. ModelBuilder cũng có thể được sử dụng để tạo tập lệnh Python bằng cách xuất mô hình thành tập lệnh. Sau khi xuất, tập lệnh có thể được tinh chỉnh thêm [thêm chức năng không có sẵn trong ModelBuilder]
Các tập lệnh Python cho ArcGIS sử dụng các công cụ trong ArcToolbox thông qua kết nối với ArcToolbox ["Đối tượng bộ xử lý địa lý"]. Khi mối quan hệ này đã được thiết lập, bất kỳ công cụ nào trong Hộp công cụ đều có thể được sử dụng trong tập lệnh. Các tập lệnh này có thể được thực thi từ ArcMap hoặc ArcCatalog [Thêm tập lệnh vào Hộp công cụ hiện có] hoặc từ bên ngoài ArcGIS [chỉ đơn giản bằng cách chạy tập lệnh từ Windows Explorer]. Nếu được thêm vào Hộp công cụ, tập lệnh thường sẽ yêu cầu gán tham số [biến để nhận đầu vào từ người dùng khi chạy]. Các tham số này cần được chỉ định đúng theo thứ tự và loại dữ liệu của chúng để tập lệnh chạy đúng cách. Sau khi được thêm vào hộp công cụ, hộp công cụ [a. tbx] có thể được chia sẻ với những người dùng khác, cung cấp một phương tiện khác để chia sẻ tập lệnh Python [và giúp người dùng cuối không phải đặt tham số, v.v. ]
Việc thêm và chạy tập lệnh Python không yêu cầu đặc quyền của quản trị viên. Người dùng có thể chỉnh sửa các tập lệnh này khi cần
Các bước cơ bản để thêm tập lệnh Python vào ArcToolbox là
Tùy chọn tạo hộp công cụ mới cho tập lệnh. nhấp chuột phải vào ArcToolbox và chọn Hộp công cụ mới
Nhấp chuột phải vào hộp công cụ mong muốn để lưu trữ tập lệnh Python và chọn Thêm / Tập lệnh
Nhập Tên và Nhãn cho tập lệnh [những tên này có thể giống nhau và không cần phải tương ứng với tên của chính tập lệnh - Nhãn sẽ là thứ được liệt kê trong hộp công cụ]
Tùy chọn chọn hộp để Lưu trữ tên đường dẫn tương đối
Bấm tiếp
Duyệt đến vị trí của tập lệnh Python để sử dụng
Bấm tiếp
Nhập [các] Tên hiển thị và [các] Loại dữ liệu cho bất kỳ tham số nào mà tập lệnh yêu cầu [bạn có thể cần đọc tệp trợ giúp hoặc tệp readme đi kèm với tập lệnh hoặc chính tập lệnh để xác định tham số nào được yêu cầu và loại dữ liệu nào
Nhấp vào Kết thúc
Nhấp đúp chuột vào Tập lệnh trong hộp công cụ để chạy nó [sẽ mở hộp thoại nhắc người dùng về các tham số]
Nhấp chuột phải vào tập lệnh trong hộp công cụ và chọn Thuộc tính để sửa đổi bất kỳ cài đặt nào ở trên
Người dùng muốn tìm hiểu thêm về các mô hình và sử dụng ArcGIS ModelBuilder được khuyến khích tham khảo các nguồn sau