Chức năng truy vấn thông tin

Một phần của tài liệu Luận văn thạc sĩ Bản đổ, viễn thám và hệ thống thông tin địa lý: Ứng dụng webgis tính toán áp giá thửa đất (Trang 112 - 117)

CHƯƠNG 4. THIẾT KẾ VÀ VẬN HÀNH HỆ THỐNG

4.3 Thiết kế các chức năng của hệ thống

4.3.3 Chức năng truy vấn thông tin

Menu sidebar chứa các form tìm kiếm truy vấn thông tin thửa đất theo tên đường, số tờ, số thửa, chủ sở hữu, mục đích sử dụng đất, giá đất…Khi người

dùng nhập (hoặc chọn) các thông tin cần tìm kiếm vào các ô điều kiện, kết quả là các đối tượng thỏa mãn điều kiện do người dùng đưa vào được liệt kê ở khung bên trái, các đối tượng kết quả được vẽ lên khung bản đồ ở bên phải (hình 4.6).

Mô tả quá trình tìm kiếm tổng quát (xem hình 4.7):

- Người sử dụng chọn hoặc nhập thông tin từ các form tìm kiếm.

Hình 4.6 Menu sidebar chứa các form truy vấn thông tin

Menu Sidebar

Kết quả

- Nhấn nút tìm kiếm.

- Dữ liệu người dùng nhập vào được client đóng gói gửi về server qua phương thức GET.

- Tại server, server kiểm tra dữ liệu được gửi, nếu có yêu cầu lấy dữ liệu trong database thì gửi yêu cầu dữ liệu về database, database rút trích dữ liệu gửi lại server (thực hiện dưới sự hỗ trợ của ngôn ngữ PHP), dữ liệu

tọa độ không gian của đối tượng cũng được gửi kèm theo thông tin thuộc tính (dưới dạng WKT). Tại server một lần nữa đóng gói dữ liệu gửi về client (dưới dạng json - JavaScript Object Notation là cú pháp dùng để lưu trữ và trao đổi thông tin văn bản giống như XML nhưng nhỏ hơn).

- Tại client, dưới sự hỗ trợ của ngôn ngữ javascript, dữ liệu trong json được xuất ra sidebar hiển thị trong phần kết quả tìm kiếm, mỗi đối tượng kết quả được gắn với một link liên kết đến vị trí đối tượng đó trên bản đồ.

Các chức năng tìm kiếm thông tin được viết bằng ngôn ngữ PHP kết hợp với Ajax (Asynchronous Javasript and XML), bộ công cụ cho phép tăng tốc độ duyệt web, hoạt động tìm kiếm được thực hiện ngầm bên dưới client, trả về client kết quả tìm kiếm mà không cần tải lại toàn bộ nội dung trang web. Đoạn mã chương

Hình 4.7 Sơ đồ xử lý yêu cầu truy vấn tìm kiếm thông tin

Server Phân tích và xử lý yêu cầu

Database

form request

Response (XML)

Client json Nhập nội dung tìm kiếm và hiển

thị kết quả

trình như sau:

- Dòng 5 – 29: thẻ div định dạng form tìm kiếm.

- Dòng 7, 28: mở đầu và kết thúc form.

- Dòng 8: nơi người dùng nhập thông tin tìm kiếm (tên đường giao thông).

- Dòng 12 – 24: thẻ <select></select> thể hiện các phường được lựa chọn theo kiểu danh sách.

- Dòng 26: thẻ <input type =“submit”> xác nhận việc truyền dữ liệu đi, đồng thời gọi hàm searchInStreet() bằng sự kiện onclick.

Giải thuật hàm searchInStreet() được thể hiện qua sơ đồ hình 4.8.

BẮT ĐẦU

Lấy dữ liệu người dùng nhập vào

Tên đường Tên phường

Tạo một đường dẫn url đến trang truy vấn và đính kèm dữ liệu do người dùng nhập

Sử dụng hàm Openlayers.LoadURL tải

trang truy vấn

Tải thành công

- Trả về danh sách kết quả tìm kiếm bao gồm tên và tọa độ không gian của đối tượng dạng text (WKT).

- Gọi hàm getResult.

KẾT THÚC

Hình 4.8 Sơ đồ giải thuật hàm searchInStreet

no yes

Hàm searchInStreet() được viết như sau:

+ Dòng 4, 5: khai báo biến và lấy giá trị người dùng nhập gán vào cho biến.

+ Dòng 6: khai báo biến url với nội dung yêu cầu tìm thông tin về server.

+ Dòng 7: gọi hàm loadURL từ thư viện Openlayers.

+ Dòng 8: trả kết quả về cho hàm seachInStreet.

Tham số trong hàm loadURL có tham chiếu đến hàm getResult3, là hàm lấy kết quả truy vấn trả về từ server, sơ đồ giải thuật hàm getResult3 được mô tả như hình 4.9.

Hình 4.9 Sơ đồ giải thuật hàm getResult3

yes BẮT ĐẦU

Chuyển kết quả truy vấn từ dạng text về dạng Javascript Object

Gỡ bỏ các đối tượng cũ trên bản đồ

Tạo biến i = 0, i <= tổng số đối tượng kết quả, đưa đối tượng thứ i vào biến danh sách đồng thời

vẽ đối tượng thứ i đó lên bản đồ, i tăng lên 1

KẾT THÚC Kết quả

truy vấn

no yes

Độ dài kết quả ≠ 0

no

Thông báo không tìm thấy dữ liệu

Tạo biến chứa danh sách đối tượng mới

i > tổng số đối tượng

kết quả

Hàm getResult3 được viết như sau [14]:

+ Dòng 11: đặt tên hàm và biến của hàm là kết quả truy vấn từ server.

+ Dòng 13: chuyển kết quả truy vấn về dạng Javascript Object.

+ Dòng 16: gỡ bỏ kết quả truy vấn cũ (nếu có).

+ Dòng 21: truyền vào tọa độ không gian của đối tượng mới bằng hàm parseWKT3, vẽ lại các đối tượng kết quả lên bản đồ.

+ Dòng 23 – 25: xuất kết quả truy vấn ra khung side bar.

+ Dòng 27– 34: gắn liên kết cho đối tượng trên danh sách với tọa độ của đối tượng trên bản đồ, hiệu chỉnh mức độ phóng to của các đối tượng kết quả.

Sơ đồ giải thuật hàm parseWKT3 được mô tả qua hình 4.10.

Hàm parseWKT được viết như sau [14]:

Một phần của tài liệu Luận văn thạc sĩ Bản đổ, viễn thám và hệ thống thông tin địa lý: Ứng dụng webgis tính toán áp giá thửa đất (Trang 112 - 117)

Tải bản đầy đủ (PDF)

(133 trang)