Hướng dẫn viết tool trong arcgis bằng script python – Bài 1

vào lúc 04:07 ,
Arcgis là phần mềm GIS hỗ trợ xây dựng cơ sở dữ liệu rất mạnh. Bộ công cụ của phần mềm arcgis rất là đồ sộ, tốc độ xử lý rất linh hoạt và nhanh chóng. Hẳn ai sử dụng phần mềm này cũng thấy được sức mạnh của nó. Các công cụ arcgis được xây dựng cho toàn bộ các quốc gia trên toàn thế giới. Lên chắc hẳn khi bạn sử dụng bộ công cụ này sẽ có những công cụ chưa phù hợp với bạn, hoặc chưa đáp ứng được yêu cầu của bạn. Cho nên hiểu vấn đề này bản thân phần mềm arcgis khi được xây dựng, nó đã tính đến hỗ trợ ngôn ngữ người dùng cuối script python rất đơn giản, tích hợp ngay trên arcgis để người dùng tùy chỉnh, phát triển thêm các tool phù hợp với mình. Vậy để làm thế nào để viết được tool này? Sau đây gisgpsrs sẽ hướng dẫn bạn bước đầu tiên tạo tool bằng python.


Bước 1: Bạn cần có kiến thức cơ bản về python. Nếu bạn chưa rành lắm thì có thể tìm đọc ở đây
Bước 2: Khởi động ArcCatalog.
Bước 3: Trong ArcCatalog, bạn chọn vị trí lưu công cụ phần Catolog Tree, ở đây mình chọn Desktop

Bước 4: Kích chuột phải vào khoảng trống bên phải ArcCatalog, bạn chọn New -> Toolbox

Bước 5: Bạn hãy mở thư mục mà bạn vừa tạo Toolbox bằng Explore (Bạn nháy đúp vào thư mục mở ra hoặc kích chuột phải chọn cũng được). Như ở đây chọn mở Desktop. Tiếp theo kích chuột phải vào phần trống thư mục chọn New -> New Text Document.txt, bạn sửa file txt này với tên mở rộng là .py. Mình đặt là Script.py, bạn cần chắc chắn đã hiển thị phần mở rộng của file nhé. Khi sửa phần mở rộng từ txt -> py có hộp thông báo thì bạn chọn Yes.


Bước 6: Một tool được tạo mới tên là “Toolbox.tbx” bạn hãy đổi tên bạn muốn đặt, ở đây mình đặt ví dụ là “Z_Demo”. Tiếp theo bạn kích chuột phải vào tool bạn vừa tạo, ở đây là Z_Demo. Bạn chọn Add -> Script…
Bước 7: Hộp thoại Add -> Script xuất hiện. Bạn điền thông tin như sau

- Hộp thoại này bạn lưu ý tích chọn Store relative path names (instead of absolute paths) để khi bạn copy tool này ra vị trí khác vẫn chạy được.
- Điền xong bạn chọn Next, Hộp thoại tiếp theo hiển thị ra bạn chọn Script File là file Script.py mà đã tạo ở bước 5.

- Tiếp theo chọn Next, ở hộp thoại tiếp bạn chọn các tham số đầu vào và đầu ra cần thiết. Ví dụ này bạn chọn 2 tham số là Layer đầu vào và đầu ra.
+ Nhập Layer đầu vào như dưới hình
+ Nhập Layer đầu ra như dưới hình

- Bạn chọn Finish để hoàn thành tạo tool
- Quay trở lại ArcCatalog bạn đã nhìn thấy tool Z_Demo đã được tạo

Bước 8: Tool đã được tạo, bây giờ bạn cần viết code vào file Script.py để thực hiện lệnh. Ở đây ví dụ là copy layer vào một vị trí khác. Bạn hãy copy đoạn code dưới vào file Script.py tạo ở bước 5.
# -*- coding: utf-8 -*-
#Web: gisgpsrs.blogspot.com
# Author: Nguyễn Viết Quân
import arcgisscripting
gp = arcgisscripting.create(9.3)

#Input paramaters  
inputShapefile = gp.GetParameterAsText(0)
outputShapefile = gp.GetParameterAsText(1)
#Processing block
gp.toolbox = "management"
try:
    #Copy to new shapefile
    gp.CopyFeatures_management(inputShapefile,outputShapefile)
    gp.AddMessage("Finish!")
#Free resources
except:
    gp.GetMessage(2)
del gp
- Copy xong bạn lưu lại.
Bây giờ bạn chạy tool bằng cách kích đúp vào Z_Demo và chọn Layer đầu vào, và nơi lưu kết quả -> OK đợi kết quả.

Bạn có thể tải tool Z_Demo ở trên tại đây

Vậy là đã hướng dẫn các bạn cách tạo tool. Bài tiếp theo sẽ hướng dẫn chi tiết các bạn viết tool.

Hãy like nếu bài viết có ích →
Kết bạn với gisgpsrs trên Facebook để nhận bài viết mới nóng hổi

3 nhận xét: