Thursday, June 12, 2014

Tạo liên kết đối tượng không gian đến trang Wikipedia sử dụng action trong QGIS

Quách Đồng Thắng
Trung tâm Ứng dụng GIS TP.HCM

QGIS hỗ trợ tính năng rất hay, cho phép người dùng tự tạo "action" cho đối tượng không gian khi có thao tác click, như mở một hình ảnh, một đoạn video hay truy cập đến một ứng dụng bất kỳ. Bài viết trình bày cách tạo một action trong QGIS thông qua ví dụ kết nối các quốc gia đến trang Wikipedia, giúp người dùng có thể truy cập nhanh đến các khái niệm được định nghĩa trong Wikipedia cho một đối tượng trên bản đồ.

Đầu tiên, download bản đồ thế giới world_borders và mở trong QGIS. Trong bảng thuộc tính của world_borders có trường "NAME" là tên quốc gia. Chúng ta sẽ kết nối thuộc tính NAME với trang Wikipedia tương ứng bằng cách định nghĩa một action bằng Python:

Vào properties --> Actions. Mục Type chọn Python, đặt tên trong trường Name (ví dụ Wikipedia), mục Action thêm vào đoạn script Python sau:

from PyQt4.QtCore import QUrl; from PyQt4.QtWebKit import QWebView; myWV = QWebView(None);
myWV.load(QUrl('http://vi.wikipedia.org/wiki/[% "NAME" %]')); myWV.show()

Lưu ý muốn hiển thị trang Wikipedia tiếng Việt thì thay http://wikipedia.org thành http://vi.wikipedia.org 


(Muốn tham khảo các Action sẵn có, chọn Add default actions)


Tiếp theo chọn công cụ action để click vào đối tượng không gian và xem trang Wikipedia tương ứng.

Nhân dịp khai mạc Worldcup 2014, chúng ta cùng tìm hiểu đất nước Brazil:


Nếu muốn "google" thuộc tính của đối tượng không gian, cụ thể là tên quốc gia trong world_borders, ta định nghĩa action như sau: type là Open, Name là "Google", Mục Action nhập vào
http://www.google.com/search?q=[% "NAME" %]




Tiếp theo, nếu muốn tạo thêm một action để mở một hình ảnh tiêu biểu cho từng quốc gia thì có thể tạo thêm trường "image" với kiểu string lưu trữ đường dẫn đến file ảnh trên máy. Để thuận tiện khi cập nhật, ở mục Fields/Line edit chọn là Filename (QGIS sẽ mở dialog để người dùng chọn file ảnh thay vì phải nhập thủ công)


Sau đó t
ạo một action mới với type là Open, Name là "Hình ảnh", Mục Action chọn Insert field "image".  Action sẽ gọi trình xem ảnh mặc định của Windows để hiển thị hình ảnh:



Kết quả:





No comments:

Post a Comment